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

Доступен выпуск проекта 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.