Izdanje Nuitka 1.1, kompilatora za jezik Python

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

Dodajte komentar