Release van Nuitka 1.1, een compiler voor de Python-taal

Er is een release van het Nuitka 1.1-project beschikbaar, waarin een compiler wordt ontwikkeld voor het vertalen van Python-scripts naar een C-representatie, die vervolgens kan worden gecompileerd tot een uitvoerbaar bestand met behulp van libpython voor maximale compatibiliteit met CPython (met behulp van native CPython-tools voor het manipuleren van objecten). Biedt volledige compatibiliteit met de huidige releases van Python 2.6, 2.7, 3.3 - 3.10. Vergeleken met CPython laten gecompileerde scripts een prestatieverbetering van 335% zien in pystone-tests. De projectcode wordt gedistribueerd onder de Apache-licentie.

Onder de veranderingen in de nieuwe versie:

  • De mogelijkheden voor het opgeven van de configuratie in Yaml-formaat zijn uitgebreid.
  • Er zijn optimalisaties doorgevoerd met betrekking tot de uitsluiting van ongebruikte componenten van de standaardbibliotheek (zoneinfo, concurrent, asyncio, enz.), waardoor het mogelijk werd de grootte van de resulterende uitvoerbare bestanden te verkleinen.
  • Ondersteuning toegevoegd voor alternatieve syntaxis ("|") in patroonovereenkomsten op basis van de "match"-operator geïntroduceerd in Python 3.10.
  • Compatibiliteit met jinja2.PackageLoader is verzekerd.
  • De mogelijkheid geïmplementeerd om de grootte van het __defaults__ attribuut te wijzigen.
  • Ondersteuning toegevoegd voor de functies importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata en importlib_metadata.metadata.
  • Ondersteuning voor het opnemen van extra binaire bestanden in het uitvoerbare hoofdbestand is toegevoegd aan de Onefile-compilatiemodus.
  • De gecompileerde modules implementeren de mogelijkheid om de functie importlib.resources.files te gebruiken.
  • Met de optie "--include-package-data" kunt u bestandsmaskers opgeven, bijvoorbeeld "--include-package-data=package_name=*.txt".
  • Voor macOS is ondersteuning voor het digitaal ondertekenen van uitvoerbare bestanden geïmplementeerd.
  • Er is een methode beschikbaar voor plug-ins om functies voor het uitvoerbare bestand te overschrijven.
  • De mogelijkheden van de anti-bloat-plug-in zijn uitgebreid, wat nu kan worden gebruikt om het aantal pakketten te verminderen bij gebruik van de rijke, pyrect- en pytorch-bibliotheken. De mogelijkheid om reguliere expressies te gebruiken in vervangingsregels is geïmplementeerd.
  • Regressieve wijzigingen die het gevolg zijn van aanzienlijke optimalisaties die in de laatste release zijn geïmplementeerd, zijn opgelost.

Bron: opennet.ru

Voeg een reactie