Dostupno je izdanje projekta Nuitka 1.1, koji razvija kompilator za prevođenje Python skripti u C reprezentaciju, koja se zatim može prevesti u izvršnu datoteku pomoću libpythona za maksimalnu kompatibilnost s CPython (koristeći izvorne CPython alate za manipuliranje objektima). Omogućena potpuna kompatibilnost s trenutnim izdanjima Pythona 2.6, 2.7, 3.3 - 3.10. U usporedbi s CPythonom, kompilirane skripte pokazuju poboljšanje performansi od 335% u pystone testovima. Kod projekta se distribuira pod licencom Apache.
Među promjenama u novoj verziji:
- Proširene su mogućnosti za određivanje konfiguracije u Yaml formatu.
- Izvršene su optimizacije koje se odnose na isključivanje nekorištenih komponenti standardne biblioteke (zoneinfo, concurrent, asyncio itd.), što je omogućilo smanjenje veličine rezultirajućih izvršnih datoteka.
- Dodana podrška za alternativnu sintaksu ("|") u podudaranju uzoraka na temelju operatora "podudaranja" predstavljenog u Pythonu 3.10.
- Kompatibilnost s jinja2.PackageLoader je osigurana.
- Implementirana je mogućnost promjene veličine atributa __defaults__.
- Dodana podrška za funkcije importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata i importlib_metadata.metadata.
- Podrška za uključivanje dodatnih binarnih datoteka u glavnu izvršnu datoteku dodana je načinu kompilacije Onefile.
- Prevedeni moduli implementiraju mogućnost korištenja funkcije importlib.resources.files.
- Opcija "--include-package-data" omogućuje određivanje maski datoteka, na primjer, "--include-package-data=package_name=*.txt".
- Za macOS implementirana je podrška za digitalno potpisivanje izvršnih datoteka.
- Omogućena je metoda za dodatke za nadjačavanje funkcija za izvršnu datoteku.
- Proširene su mogućnosti dodatka protiv nadutosti, koji se sada može koristiti za smanjenje broja paketa pri korištenju biblioteka rich, pyrect i pytorch. Implementirana je mogućnost korištenja regularnih izraza u pravilima zamjene.
- Regresivne promjene koje proizlaze iz značajnih optimizacija implementiranih u zadnjem izdanju su riješene.
Izvor: opennet.ru