☰ Menu

30.09.2026 · Signal Titans Editorial

Python Language Summit 2026 debate criação de namespace std dedicado

Desenvolvedores do Python discutiram um namespace std dedicado para evitar ocultação de módulos e aliviar restrições de nomes.

Um cubo de cristal brilhante protegido com segurança dentro de uma cúpula de vidro transparente sobre uma superfície neutra.

No Python Language Summit 2026, Pablo Galindo Salgado, membro do Steering Council e Release Manager, abriu as discussões sobre a introdução de um namespace de nível superior dedicado para a biblioteca padrão do Python, segundo relato do blog do projeto.

O problema do namespace plano

O Python utiliza atualmente um namespace de módulos plano, o que frequentemente causa exceções AttributeError confusas quando arquivos locais do projeto ou dependências de terceiros compartilham nomes com módulos da biblioteca padrão, como json, math ou random. Essa ocultação (shadowing) ocorre porque locais de maior precedência no sys.path, como o diretório de trabalho atual, têm prioridade sobre as importações da biblioteca padrão. Embora o Python 3.11 tenha introduzido a opção -P para evitar a adição de caminhos não seguros no início, a maioria dos usuários não a ativa.

Além da atrito durante a depuração para iniciantes, o namespace plano força os desenvolvedores do núcleo a escolherem nomes pouco usuais ou a adicionarem sufixos como lib (a exemplo de tomllib ou graphlib) para novos módulos da biblioteca padrão, evitando conflitos com pacotes existentes no PyPI.

A proposta do namespace std e a desvinculação

A solução proposta sugere um novo namespace std de nível superior, permitindo que os desenvolvedores importem explicitamente módulos da biblioteca padrão como std.json ou por meio de sintaxes como from std import json. As importações existentes continuariam funcionando indefinidamente para evitar quebras de compatibilidade retroativa, enquanto futuros módulos poderiam ser restritos exclusivamente ao novo namespace.

Um efeito colateral em potencial de reservar esse namespace é a possibilidade de desvincular a biblioteca padrão, permitindo que os módulos sejam distribuídos e atualizados de forma independente pelo PyPI, fora dos lançamentos do interpretador principal. Contudo, os participantes ressaltaram possíveis ponderações ao apontar a experiência do Ruby com bibliotecas padrão transformadas em gems, que enfrentou longos ciclos de descontinuação e vulnerabilidades não corrigidas em gems não gerenciadas.

Feedback do evento e sintaxes alternativas

Durante as discussões no evento, os participantes debateram vários detalhes de implementação. Stefan Behnel e Guido van Rossum discutiram limitar a mudança a importações do tipo from, como from std import random, para manter o código dos usuários praticamente inalterado e evitar a duplicação de módulos em sys.modules. Após uma sondagem inicial, os presentes mostraram uma recepção positiva à exploração de ideias de sintaxe baseadas em palavras-chave.

Gregory P. Smith alertou que a proposta visa resolver múltiplos problemas distintos simultaneamente, aconselhando a equipe principal a manter todas as ideias em pauta enquanto permanece precisa sobre quais problemas fundamentais pretende enfrentar primeiro.

Ilustração editorial gerada por IA; não é uma fotografia documental.

Fonte: One namespace to namespace them all (Python Language Summit 2026)