Publikimi i Nuitka 1.1, një përpilues për gjuhën Python

Një lëshim i projektit Nuitka 1.1 është i disponueshëm, duke zhvilluar një përpilues për përkthimin e skripteve të Python në një paraqitje C, i cili më pas mund të kompilohet në një skedar të ekzekutueshëm duke përdorur libpython për pajtueshmëri maksimale me CPython (duke përdorur mjete amtare CPython për manipulimin e objekteve). Ofrohet përputhshmëri e plotë me versionet aktuale të Python 2.6, 2.7, 3.3 - 3.10. Krahasuar me CPython, skriptet e përpiluara tregojnë një përmirësim të performancës 335% në testet e pystone. Kodi i projektit shpërndahet nën licencën Apache.

Ndër ndryshimet në versionin e ri:

  • Mundësitë për të specifikuar konfigurimin në formatin Yaml janë zgjeruar.
  • Janë bërë optimizime në lidhje me përjashtimin e komponentëve të papërdorur të bibliotekës standarde (zoneinfo, concurrent, asyncio, etj.), gjë që bëri të mundur zvogëlimin e madhësisë së skedarëve të ekzekutueshëm që rezultojnë.
  • Mbështetje e shtuar për sintaksën alternative ("|") në përputhjet e modeleve bazuar në operatorin "match" të prezantuar në Python 3.10.
  • Sigurohet përputhshmëria me jinja2.PackageLoader.
  • Zbatoi aftësinë për të ndryshuar madhësinë e atributit __defaults__.
  • Mbështetje e shtuar për funksionet importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata dhe importlib_metadata.metadata.
  • Mbështetja për përfshirjen e skedarëve binare shtesë në skedarin kryesor të ekzekutueshëm është shtuar në modalitetin e përpilimit të Onefile.
  • Modulet e përpiluara zbatojnë aftësinë për të përdorur funksionin importlib.resources.files.
  • Opsioni "--include-package-data" lejon specifikimin e maskave të skedarëve, për shembull, "--include-package-data=package_name=*.txt".
  • Për macOS, është zbatuar mbështetje për nënshkrimin dixhital të skedarëve të ekzekutueshëm.
  • Ofrohet një metodë për shtojcat për të anashkaluar funksionet për ekzekutuesin.
  • Aftësitë e shtojcës anti-bloat janë zgjeruar, e cila tani mund të përdoret për të zvogëluar numrin e paketave kur përdorni bibliotekat e pasura, pyrec dhe pytorch. Aftësia për të përdorur shprehje të rregullta në rregullat e zëvendësimit është zbatuar.
  • Ndryshimet regresive që rezultojnë nga optimizimet e rëndësishme të zbatuara në versionin e fundit janë zgjidhur.

Burimi: opennet.ru

Shto një koment