Lançamento do Nuitka 1.1, um compilador para a linguagem Python

Uma versão do projeto Nuitka 1.1 está disponível, desenvolvendo um compilador para traduzir scripts Python em uma representação C, que pode ser compilado em um arquivo executável usando libpython para compatibilidade máxima com CPython (usando ferramentas nativas CPython para manipular objetos). Fornece compatibilidade total com as versões atuais do Python 2.6, 2.7, 3.3 - 3.10. Em comparação com o CPython, os scripts compilados mostram uma melhoria de desempenho de 335% nos testes do pystone. O código do projeto é distribuído sob a licença Apache.

Entre as mudanças na nova versão:

  • As possibilidades de especificação de configuração no formato Yaml foram ampliadas.
  • Foram feitas otimizações relacionadas à exclusão de componentes não utilizados da biblioteca padrão (zoneinfo, concurrent, asyncio, etc.), o que permitiu reduzir o tamanho dos arquivos executáveis ​​resultantes.
  • Adicionado suporte para sintaxe alternativa ("|") em correspondências de padrões com base no operador "match" introduzido no Python 3.10.
  • A compatibilidade com jinja2.PackageLoader é garantida.
  • Implementada a capacidade de alterar o tamanho do atributo __defaults__.
  • Adicionado suporte para funções importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata e importlib_metadata.metadata.
  • Suporte para inclusão de arquivos binários adicionais no arquivo executável principal foi adicionado ao modo de compilação Onefile.
  • Os módulos compilados implementam a capacidade de usar a função importlib.resources.files.
  • A opção "--include-package-data" permite especificar máscaras de arquivo, por exemplo, "--include-package-data=package_name=*.txt".
  • Para macOS, foi implementado suporte para assinatura digital de arquivos executáveis.
  • Um método é fornecido para plug-ins substituirem funções do executável.
  • Os recursos do plugin anti-inchaço foram expandidos, que agora podem ser usados ​​para reduzir o número de pacotes ao usar as bibliotecas rich, pyrect e pytorch. A capacidade de usar expressões regulares em regras de substituição foi implementada.
  • As alterações regressivas resultantes de otimizações significativas implementadas na última versão foram resolvidas.

Fonte: opennet.ru

Adicionar um comentário