Доступен выпуск проекта Nuitka 1.6, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 – 3.11. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache.
Среди изменений в новой версии:
- Обеспечена полная совместимость с веткой Python 3.11.
- Переработан инструментарий для тестирования, в котором обеспечен повторно воспроизводимый вывод ошибок компиляции.
- Добавлена опция “–include-distribution-metadata” для включения метаданных дистрибутива.
- Для систем отличных от Windows предоставлена возможность включения в обособленный вариант поставки (standalone distribution) символических ссылок, если эти ссылки указывают на внутренние файлы проекта.
- Расширены возможности плагина anti-bloat, который теперь может применяться для уменьшения числа пакетов при использовании библиотек
huggingface_hub, tokenizers, torch, triton и networkx (в основном исключена привязка к pytest и IPython). - Проведена оптимизация производительности и масштабируемости.
Продолжена работа по реализации оптимизаций тела классов. - Улучшено определение зависимостей на платформе macOS.
- Добавлен параметр “–report-diffable”, обеспечивающий генерацию XML-отчётов, в форме, пригодной для последующего сравнения на разных системах.
- Добавлена опция “–report-user-provided” для вставки в отчёты данных, предоставленных пользователем.
- В тестовом инструментарии реализована утилита nuitka-watch для определения проблемных с выпусками PyPI.
Release.
Ссылка here.