Rilascio di Nuitka 1.1, un compilatore per il linguaggio Python

È disponibile una versione del progetto Nuitka 1.1, che sviluppa un compilatore per tradurre script Python in una rappresentazione C, che può quindi essere compilata in un file eseguibile utilizzando libpython per la massima compatibilità con CPython (utilizzando strumenti CPython nativi per manipolare oggetti). Fornita piena compatibilità con le versioni correnti di Python 2.6, 2.7, 3.3 - 3.10. Rispetto a CPython, gli script compilati mostrano un miglioramento delle prestazioni del 335% nei test pystone. Il codice del progetto è distribuito con licenza Apache.

Tra le novità della nuova versione:

  • Sono state ampliate le possibilità di specificare la configurazione in formato Yaml.
  • Sono state apportate ottimizzazioni relative all'esclusione dei componenti inutilizzati della libreria standard (zoneinfo, concurrent, asyncio, ecc.), che hanno permesso di ridurre la dimensione dei file eseguibili risultanti.
  • Aggiunto il supporto per la sintassi alternativa ("|") nelle corrispondenze di pattern in base all'operatore "match" introdotto in Python 3.10.
  • La compatibilità con jinja2.PackageLoader è garantita.
  • Implementata la possibilità di modificare la dimensione dell'attributo __defaults__.
  • Aggiunto il supporto per le funzioni importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata e importlib_metadata.metadata.
  • Alla modalità di compilazione Onefile è stato aggiunto il supporto per includere file binari aggiuntivi nel file eseguibile principale.
  • I moduli compilati implementano la possibilità di utilizzare la funzione importlib.resources.files.
  • L'opzione "--include-package-data" consente di specificare le maschere dei file, ad esempio "--include-package-data=package_name=*.txt".
  • Per macOS è stato implementato il supporto per la firma digitale dei file eseguibili.
  • Viene fornito un metodo per consentire ai plugin di sovrascrivere le funzioni dell'eseguibile.
  • Sono state ampliate le funzionalità del plugin anti-bloat, che ora può essere utilizzato per ridurre il numero di pacchetti quando si utilizzano le librerie rich, pyrect e pytorch. È stata implementata la possibilità di utilizzare le espressioni regolari nelle regole di sostituzione.
  • Sono stati risolti i cambiamenti regressivi derivanti da ottimizzazioni significative implementate nell'ultima versione.

Fonte: opennet.ru

Aggiungi un commento