☰ Menu

30.09.2026 · Signal Titans Editorial

Atualizações no Protocolo de Buffer do Python São Propostas no Summit de 2026

Descubra as propostas de atualização do Protocolo de Buffer do Python apresentadas no Summit de 2026, com leases de memória e novos tipos de dados.

Um fecho metálico prendendo-se a um cabo translúcido brilhante, representando o gerenciamento seguro de leases de memória.

Durante o Python Language Summit, as discussões focaram na modernização do Protocolo de Buffer do Python. Esse mecanismo permite o acesso direto aos buffers de memória subjacentes de objetos como bytes, bytearray e array.array para otimizar o desempenho.

Documentação e Concorrência Segura

Nathan Goldbaum abordou as limitações atuais da documentação durante o evento, destacando que a linguagem de formato do protocolo de buffer permanece fragmentada e subespecificada, exigindo que desenvolvedores consultem diretamente o PEP 3118 ou implementações do NumPy. Para auxiliar consumidores e exportadores, um novo guia HOWTO foi proposto ao lado de rascunhos de PEPs focados em segurança e concorrência.

Para resolver a falta de coordenação entre leitura e escrita no nível do protocolo, novas APIs em C para concessão de acesso (leases), como PyObject_AcquireBufferLease, foram projetadas com inspiração no mecanismo de empréstimo (borrowing) do Rust. Essas funções permitem que os buffers sejam alocados nos modos SHARED_READ ou EXCLUSIVE_WRITE, falhando imediatamente caso exista um lease incompatível, enquanto mantêm as interfaces de buffer existentes inalteradas para garantir a compatibilidade com versões anteriores.

Tipos de Dados Personalizados e Discussões no Summit

Outra proposta relevante apresentada por Nathan Goldbaum e Sebastian Berg introduz um ponto de extensão para tipos de dados personalizados, utilizando uma abordagem baseada em namespaces delimitados pelo símbolo de cifrão. Isso evita a necessidade de submeter cada novo código de formato ao Python Steering Council, permitindo que as implementações compatíveis façam o parse seguro ou rejeitem tipos personalizados desconhecidos.

Nas sessões de feedback, membros da comunidade como Petr Viktorin, Thomas Wouters, David Hewitt, Larry Hastings e Hood Chatham levantaram questões sobre restrições de ABI, se as requisições de lease deveriam bloquear ou retornar erro, e as responsabilidades dos autores de extensões em C ao utilizar essas estruturas de baixo nível. O trabalho para garantir a interoperabilidade com o NumPy já está sendo conduzido por Kumar Aditya.

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

Fonte: Memory Buffer Protocol (Python Language Summit 2026)