Lanzamiento de Nuitka 1.1, un compilador para el lenguaje Python

Está disponible una versión del proyecto Nuitka 1.1, que desarrolla un compilador para traducir scripts de Python a una representación C, que luego se puede compilar en un archivo ejecutable usando libpython para una máxima compatibilidad con CPython (usando herramientas nativas de CPython para manipular objetos). Proporcionó compatibilidad total con las versiones actuales de Python 2.6, 2.7, 3.3 - 3.10. En comparación con CPython, los scripts compilados muestran una mejora del rendimiento del 335 % en las pruebas de Pystone. El código del proyecto se distribuye bajo la licencia de Apache.

Entre los cambios de la nueva versión:

  • Se han ampliado las posibilidades para especificar la configuración en formato Yaml.
  • Se han realizado optimizaciones relacionadas con la exclusión de componentes no utilizados de la biblioteca estándar (zoneinfo, concurrente, asyncio, etc.), lo que permitió reducir el tamaño de los archivos ejecutables resultantes.
  • Se agregó soporte para sintaxis alternativa ("|") en coincidencias de patrones según el operador "coincidencia" introducido en Python 3.10.
  • La compatibilidad con jinja2.PackageLoader está garantizada.
  • Implementada la capacidad de cambiar el tamaño del atributo __defaults__.
  • Se agregó soporte para las funciones importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata e importlib_metadata.metadata.
  • Se agregó soporte para incluir archivos binarios adicionales en el archivo ejecutable principal al modo de compilación Onefile.
  • Los módulos compilados implementan la capacidad de utilizar la función importlib.resources.files.
  • La opción "--include-package-data" permite especificar máscaras de archivos, por ejemplo, "--include-package-data=package_name=*.txt".
  • Para macOS, se implementó la compatibilidad con la firma digital de archivos ejecutables.
  • Se proporciona un método para que los complementos anulen funciones del ejecutable.
  • Se han ampliado las capacidades del complemento anti-bloat, que ahora se puede utilizar para reducir la cantidad de paquetes cuando se utilizan las bibliotecas rich, pyrect y pytorch. Se ha implementado la capacidad de utilizar expresiones regulares en reglas de reemplazo.
  • Se han resuelto los cambios regresivos resultantes de importantes optimizaciones implementadas en la última versión.

Fuente: opennet.ru

Añadir un comentario