Python 3.14 Alpha 1 foi lançado como a primeira versão alfa planejada para a próxima grande atualização da linguagem Python, prevista para 2025. Essa versão traz diversas novidades, incluindo melhorias no desempenho e na usabilidade, ao mesmo tempo em que permite que desenvolvedores comecem a testar novas funcionalidades e relatórios de erros.
Primeiras mudanças e cronograma de desenvolvimento
O Python 3.14 Alpha 1 é o primeiro de sete lançamentos alfa planejados para esta série. A fase alfa tem como objetivo facilitar os testes de novos recursos e correções de bugs. Durante essa fase, novos recursos podem ser adicionados até o congelamento de recursos, que está previsto para o início da fase beta em maio de 2025. A previsão de lançamento final do Python 3.14.0 é para outubro de 2025.
Principais novos recursos e melhorias
Entre as mudanças já presentes nesta versão alfa, destacam-se:
- Avaliação diferida de anotações (PEP 649 e PEP 749): Um dos principais destaques da versão é a implementação da avaliação diferida das anotações em funções, classes e módulos. As anotações não são mais avaliadas imediatamente, sendo armazenadas em funções especializadas e avaliadas apenas quando necessário, o que otimiza o desempenho.
- O novo módulo annotationlib foi introduzido para ajudar na introspecção de anotações, permitindo que as mesmas sejam avaliadas em três formatos:
VALUE
,FORWARDREF
eSTRING
. Isso torna o uso de anotações mais flexível e eficiente. - Se você já utiliza anotações para verificações estáticas de tipo, esta mudança não deve afetá-lo diretamente. Além disso, o uso de strings em anotações, que antes era necessário para referências futuras, pode ser dispensado com essa nova implementação.
- Melhorias nas mensagens de erro: As mensagens de erro foram aprimoradas para fornecer mais informações detalhadas. Por exemplo, agora, ao tentar desempacotar variáveis, o erro exibe o número de valores recebidos, facilitando a correção.
- Otimizações de desempenho no asyncio: O código asyncio foi aprimorado para usar listas duplamente encadeadas, resultando em um aumento de 10% no desempenho dos benchmarks PyPerformance, além de um uso de memória reduzido.
Alterações em módulos e bibliotecas
O Python 3.14 também introduziu mudanças e melhorias em diversos módulos e bibliotecas:
- Módulo
argparse
: Agora reflete melhor a maneira como o Python foi instruído a encontrar o código do módulo principal. - Módulo
ast
: Adição da funçãoast.compare()
para comparação de dois ASTs e suporte paracopy.replace()
em nós AST. - Módulo
decimal
: Adicionada a funçãoDecimal.from_number()
como um construtor alternativo para decimais. - Módulo
pathlib
: Novos métodos para copiar e mover recursivamente arquivos e diretórios foram incluídos, facilitando operações de gerenciamento de arquivos.
Além disso, novos métodos foram adicionados ao módulo inspect
para controlar como as anotações são exibidas no código, e melhorias foram implementadas no módulo json
, permitindo o uso como script via a opção -m
.
Próximos passos no desenvolvimento
A próxima versão pré-lançamento do Python 3.14, o Python 3.14.0a2, está programada para ser lançada em 19 de novembro de 2024. Esta fase alfa continuará até maio de 2025, quando a fase beta será iniciada.
Para acompanhar o progresso e obter mais detalhes sobre as mudanças futuras, visite o blog Python Insider e as notas de versão em andamento no site oficial do Python.