Даступны выпуск праекта Nuitka 1.1, які развівае кампілятар для трансляцыі скрыптоў на мове Python у прадстаўленне на мове C, якое затым можна скампіляваць у выкананы файл, які выкарыстоўвае libpython для забеспячэння максімальнай сумяшчальнасці з CPython (выкарыстоўваюцца штатныя сродкі CPython для кіравання аб'ектамі). Забяспечана поўная сумяшчальнасць з актуальнымі выпускамі Python 2.6, 2.7, 3.3 - 3.10. У параўнанні з CPython скампіляваныя скрыпты дэманструюць у тэстах pystone павышэнне прадукцыйнасці на 335%. Код праекту распаўсюджваецца пад ліцэнзіяй Apache.
Сярод змен у новай версіі:
- Пашыраны магчымасці па заданні канфігурацыі ў фармаце 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. Рэалізавана магчымасць выкарыстання рэгулярных выразаў у правілах замены.
- Ухілены рэгрэсіўныя змены, якія сталі следствам значных аптымізацый, рэалізаваных у мінулым выпуску.
Крыніца: opennet.ru