Lansarea Nuitka 1.1, un compilator pentru limbajul Python

Este disponibilă o versiune a proiectului Nuitka 1.1, care dezvoltă un compilator pentru traducerea scripturilor Python într-o reprezentare C, care poate fi apoi compilat într-un fișier executabil folosind libpython pentru compatibilitate maximă cu CPython (folosind instrumente native CPython pentru manipularea obiectelor). Compatibilitate completă cu versiunile curente ale Python 2.6, 2.7, 3.3 - 3.10. În comparație cu CPython, scripturile compilate arată o îmbunătățire a performanței cu 335% la testele pystone. Codul proiectului este distribuit sub licența Apache.

Printre modificările din noua versiune:

  • Расширены возможности по заданию конфигурации в формате Yaml.
  • Внесены оптимизации, связанные с исключением неиспользуемых компонентов стандартной библиотеки (zoneinfo, concurrent, asyncio и т.п.), которые позволили добиться уменьшения размера результирующих исполняемых файлов.
  • Добавлена поддержка альтернативного синтаксиса («|») в сопоставлениях с образцом на основе оператора «match», появившегося в ветке Python 3.10.
  • Обеспечена совместимость с jinja2.PackageLoader.
  • Реализована возможность изменения размера атрибута __defaults__.
  • Добавлена поддержка функций importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata и importlib_metadata.metadata.
  • В режим компиляции в один файл (Onefile) добавлена поддержка включения в основной исполняемый файл дополнительных бинарных файлов.
  • В скомпилированных модулях реализована возможность использования функции importlib.resources.files.
  • В опции «—include-package-data» разрешено указание масок файлов, например, «—include-package-data=package_name=*.txt».
  • Для macOS реализована поддержка заверения исполняемых файлов цифровой подписью.
  • Для плагинов предоставлен метод для переопределения функций для исполняемого файла.
  • Расширены возможности плагина anti-bloat, который теперь может применяться для уменьшения числа пакетов при использовании библиотек rich, pyrect и pytorch. Реализована возможность использования регулярных выражений в правилах замены.
  • Устранены регрессивные изменения, ставшие следствием значительных оптимизаций, реализованных в прошлом выпуске.

Sursa: opennet.ru

Adauga un comentariu