DiárioTI

Notícias de tecnologia, todos os dias

Python 3.15 chega à versão estável com imports preguiçosos, frozendict e UTF-8 como padrão

Versão final saiu em 9/10 com lazy imports, frozendict, JIT mais rápido e UTF-8 como padrão, o que pode afetar código que lê arquivos sem encoding.

Python 3.15 chega à versão estável com imports preguiçosos, frozendict e UTF-8 como padrão

O Python 3.15.0, nova versão estável da linguagem, foi lançado em 9 de outubro de 2026. Segundo o anúncio no blog oficial, assinado pelo gerente de lançamento Hugo van Kemenade, o ciclo reuniu 5.643 commits de 1.012 colaboradores desde o 3.14. A versão traz recursos aguardados há anos, como imports preguiçosos e um dicionário imutável nativo, e uma mudança de comportamento que pede atenção: o UTF-8 passa a ser a codificação padrão.

Os principais recursos

  • Imports preguiçosos (PEP 810): com a nova palavra-chave lazy, como em lazy import json, o módulo só é carregado no primeiro uso. Vale apenas no escopo do módulo e pode ser ligado globalmente com -X lazy_imports ou a variável PYTHON_LAZY_IMPORTS. O ganho esperado é no tempo de inicialização de ferramentas de linha de comando e aplicações grandes.
  • frozendict (PEP 814): novo tipo embutido de dicionário imutável e com hash, útil como chave ou valor padrão seguro. Não é subclasse de dict.
  • Sentinelas (PEP 661): a função embutida sentinel() cria valores únicos para indicar ausência de argumento, substituindo o improviso com object().
  • Desempacotamento em compreensões (PEP 798): passa a ser possível usar * e ** dentro de list, set e dict comprehensions.
  • Novo pacote profiling (PEP 799), com o perfilador por amostragem Tachyon, de baixo impacto, que pode se ligar a processos em execução. O antigo módulo profile foi descontinuado e sai no 3.17.

Na tipagem, chegam TypedDict fechado (PEP 728), TypeForm (PEP 747) e guardas de tipo disjuntas (PEP 800). O compilador JIT experimental também avançou: segundo as notas da versão, ele é cerca de 7% a 8% mais rápido que o interpretador padrão em Linux x86-64 e 11% a 12% em macOS com AArch64, na média geométrica do pyperformance, com variação que vai de 15% mais lento a mais de 100% mais rápido, conforme a carga.

O que pode quebrar

A mudança mais sensível é a PEP 686: funções como open() passam a usar UTF-8 quando nenhuma codificação é informada, em vez da codificação do sistema. Em Linux e macOS quase nada muda, mas em Windows código que lê arquivos sem encoding pode passar a se comportar de outro jeito. O comportamento antigo volta com PYTHONUTF8=0 ou -X utf8=0, e a recomendação oficial é informar a codificação explicitamente. O aviso opcional de codificação (EncodingWarning, ligado com -X warn_default_encoding, disponível desde o 3.10) ajuda a encontrar os pontos afetados.

  • Removidos: CGIHTTPRequestHandler, os métodos load_module() de importadores e os módulos sre_compile, sre_constants e sre_parse, entre outros itens descontinuados.
  • Linhas de import em arquivos .pth foram descontinuadas em favor dos novos arquivos .start (PEP 829).
  • O coletor de lixo incremental foi revertido para o modelo geracional, mudança também levada ao 3.14.5.
  • No Windows de 64 bits, os instaladores oficiais usam o interpretador com tail calls; no macOS, o instalador passa a incluir por padrão a versão sem GIL (free-threaded), que ganha uma ABI estável própria, a abi3t (PEP 803). Frame pointers vêm ligados por padrão (PEP 831), o que facilita perfiladores externos.

A página de download traz um alerta: no macOS 27.0, aplicações com tkinter, incluindo o IDLE, podem travar, problema registrado na issue #158053 do CPython. O lançamento foi repercutido pelo Phoronix. Para quem mantém bibliotecas, o caminho prático é rodar a suíte de testes no 3.15 com avisos de codificação ligados antes de anunciar compatibilidade.

Fontes

Imagem destacada: ilustração gerada por computador, sem valor documental.

Deixe comentário

Seu endereço de e-mail não será publicado. Os campos necessários são marcados com *.

Fique por dentro

As principais notícias de tecnologia, todos os dias

Siga o portal nas redes sociais e acompanhe IA, cibersegurança, cloud, hardware e o mercado de tecnologia em primeira mão.