K dispozícii je vydanie projektu Nuitka 1.1, ktorý vyvíja kompilátor na preklad skriptov Pythonu do reprezentácie C, ktorú je možné následne skompilovať do spustiteľného súboru pomocou libpythonu pre maximálnu kompatibilitu s CPythonom (pomocou natívnych nástrojov CPythonu na manipuláciu s objektmi). Poskytuje plnú kompatibilitu s aktuálnymi vydaniami Pythonu 2.6, 2.7, 3.3 - 3.10. V porovnaní s CPythonom vykazujú kompilované skripty 335% zlepšenie výkonu v testoch pystone. Kód projektu je distribuovaný pod licenciou Apache.
Medzi zmeny v novej verzii:
- Rozšírili sa možnosti špecifikácie konfigurácie vo formáte Yaml.
- Boli vykonané optimalizácie súvisiace s vylúčením nepoužívaných komponentov štandardnej knižnice (zoneinfo, concurrent, asyncio atď.), čo umožnilo zmenšiť veľkosť výsledných spustiteľných súborov.
- Pridaná podpora pre alternatívnu syntax ("|") v zhode vzorov na základe operátora "match" zavedeného v Pythone 3.10.
- Kompatibilita s jinja2.PackageLoader je zabezpečená.
- Implementovaná možnosť zmeniť veľkosť atribútu __defaults__.
- Pridaná podpora pre funkcie importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata a importlib_metadata.metadata.
- Do režimu kompilácie Onefile bola pridaná podpora pre zahrnutie ďalších binárnych súborov do hlavného spustiteľného súboru.
- Kompilované moduly implementujú schopnosť používať funkciu importlib.resources.files.
- Voľba "--include-package-data" umožňuje špecifikovať masky súborov, napríklad "--include-package-data=package_name=*.txt".
- Pre macOS bola implementovaná podpora pre digitálne podpisovanie spustiteľných súborov.
- Pre doplnky je poskytnutá metóda na prepísanie funkcií pre spustiteľný súbor.
- Rozšírili sa možnosti anti-bloat pluginu, ktorý je teraz možné použiť na zníženie počtu balíkov pri používaní knižníc rich, pyrect a pytorch. Bola implementovaná možnosť používať regulárne výrazy v pravidlách nahrádzania.
- Regresívne zmeny vyplývajúce z významných optimalizácií implementovaných v poslednom vydaní boli vyriešené.
Zdroj: opennet.ru