Выпуск Nuitka 1.2, компилятора для языка Python

Доступен выпуск проекта Nuitka 1.2, развивающего компилятор для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython (используются штатные средства CPython для управления объектами). Обеспечена полная совместимость с актуальными выпусками Python 2.6, 2.7, 3.3 – 3.10. По сравнению с CPython скомпилированные скрипты демонстрируют в тестах pystone повышение производительности на 335%. Код проекта распространяется под лицензией Apache.

Среди изменений в новой версии:

  • Обеспечен вывод ошибки при попытке использования с версией Python 3.11, которая ещё в полной мере не поддерживается. Для обхода данного ограничения предложен флаг “–experimental=python311”.
  • Для macOS добавлена опция “–macos-sign-notarization” для заверения по цифровой подписи, упрощающая создания подписанных приложений для Apple App Store. Внесены оптимизации ускоряющие запуск.
  • В скомпилированные функции добавлены атрибуты “__compiled__” и “__compiled_constant__”, которые могут использоваться в прослойках, подобных pyobjc, для генерации более оптимального кода.
  • Расширены возможности плагина anti-bloat, который теперь может применяться для уменьшения числа пакетов при использовании библиотек xarray и pint.
  • Добавлена большая порция новых оптимизаций и проведена работа по улучшению масштабируемости. Реализовано кэширвоание содержимого каталогов при сканировании модулей.
Release. Ссылка here.