La version 1.6 du projet Nuitka est dĂ©sormais disponible, dĂ©veloppant un compilateur pour la traduction de scripts Python en C, qui peut ensuite ĂȘtre compilĂ© en un fichier exĂ©cutable utilisant libpython pour assurer une compatibilitĂ© maximale avec CPython (les outils de CPython sont utilisĂ©s pour gĂ©rer les objets). Une compatibilitĂ© complĂšte est assurĂ©e avec les versions rĂ©centes de Python 2.6, 2.7, 3.3 Ă 3.11. ComparĂ©s Ă CPython, les scripts compilĂ©s montrent des gains de performance de 335 % dans les tests pystone. Le code du projet est distribuĂ© sous la licence Apache.
Parmi les changements dans la nouvelle version :
- Une compatibilité complÚte est assurée avec la branche Python 3.11.
- L'outil de test a été refondu, offrant une sortie d'erreurs de compilation reproductible.
- L'option « âinclude-distribution-metadata » a Ă©tĂ© ajoutĂ©e pour inclure les mĂ©tadonnĂ©es du distribution.
- Pour les systÚmes autres que Windows, il est désormais possible d'inclure des liens symboliques dans une distribution autonome (standalone distribution) si ceux-ci pointent vers des fichiers internes du projet.
- Les capacitĂ©s du plugin anti-bloat ont Ă©tĂ© Ă©tendues, celui-ci peut maintenant ĂȘtre utilisĂ© pour rĂ©duire le nombre de paquets lors de l'utilisation des bibliothĂšques huggingface_hub, tokenizers, torch, triton et networkx (la liaison avec pytest et IPython a principalement Ă©tĂ© exclue).
- Des optimisations de performance et de scalabilitĂ© ont Ă©tĂ© effectuĂ©es. Le travail sur la mise en Ćuvre d'optimisations du corps des classes se poursuit.
- L'identification des dépendances sur la plateforme macOS a été améliorée.
- Le paramĂštre « âreport-diffable » a Ă©tĂ© ajoutĂ© pour gĂ©nĂ©rer des rapports XML, formatĂ©s pour pouvoir ĂȘtre comparĂ©s sur diffĂ©rents systĂšmes.
- L'option « âreport-user-provided » a Ă©tĂ© ajoutĂ©e pour insĂ©rer dans les rapports des donnĂ©es fournies par l'utilisateur.
- Un utilitaire nuitka-watch a Ă©tĂ© mis en Ćuvre dans l'outil de test pour identifier les problĂšmes liĂ©s aux versions PyPI.
Source : opennet.ru
