En udgivelse af Nuitka 1.1-projektet er tilgængelig, der udvikler en compiler til at oversætte Python-scripts til en C-repræsentation, som derefter kan kompileres til en eksekverbar fil ved hjælp af libpython for maksimal kompatibilitet med CPython (ved hjælp af native CPython-værktøjer til at manipulere objekter). Leveret fuld kompatibilitet med aktuelle udgivelser af Python 2.6, 2.7, 3.3 - 3.10. Sammenlignet med CPython viser kompilerede scripts en præstationsforbedring på 335 % i pystone-tests. Projektkoden distribueres under Apache-licensen.
Blandt ændringerne i den nye version:
- Mulighederne for at angive konfiguration i Yaml-format er blevet udvidet.
- Der er foretaget optimeringer i forbindelse med udelukkelsen af ubrugte komponenter i standardbiblioteket (zoneinfo, concurrent, asyncio osv.), som gjorde det muligt at reducere størrelsen af de resulterende eksekverbare filer.
- Tilføjet understøttelse af alternativ syntaks ("|") i mønstermatches baseret på "match"-operatoren introduceret i Python 3.10.
- Kompatibilitet med jinja2.PackageLoader er sikret.
- Implementeret muligheden for at ændre størrelsen af attributten __defaults__.
- Tilføjet understøttelse af funktionerne importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata og importlib_metadata.metadata.
- Understøttelse af at inkludere yderligere binære filer i den eksekverbare hovedfil er blevet tilføjet til Onefile-kompileringstilstanden.
- De kompilerede moduler implementerer muligheden for at bruge funktionen importlib.resources.files.
- Valgmuligheden "--include-package-data" giver mulighed for at specificere filmasker, for eksempel "--include-package-data=pakkenavn=*.txt".
- For macOS er understøttelse af digital signering af eksekverbare filer blevet implementeret.
- En metode er tilvejebragt til plugins til at tilsidesætte funktioner for den eksekverbare.
- Mulighederne for anti-bloat-plugin'et er blevet udvidet, som nu kan bruges til at reducere antallet af pakker, når du bruger rig-, pyrect- og pytorch-bibliotekerne. Muligheden for at bruge regulære udtryk i erstatningsregler er implementeret.
- Regressive ændringer som følge af betydelige optimeringer implementeret i den seneste udgivelse er blevet løst.
Kilde: opennet.ru