Estado do suporte WASI para CPython: março de 2026

Estado do suporte WASI para CPython: março de 2026


Já faz um tempo que não postei sobre o suporte WASI no CPython! 😅 Até agora, a maior parte do trabalho que tenho feito em torno do WASI tem facilitado sua manutenção para mim e para outros desenvolvedores principais. Por exemplo, o repositório cpython-devcontainer agora fornece um contêiner de desenvolvimento WASI para que as pessoas não precisem instalar o SDK WASI para serem produtivas (por exemplo, agora há um codespace WASI para que você possa trabalhar inteiramente em WASI a partir de seu navegador, sem instalar nada). Todo esse trabalho para facilitar o desenvolvimento não apenas levou a instruções WASI no devguide e à criação de um aplicativo CLI, mas também a uma grande expansão de como usar contêineres para fazer o desenvolvimento CPython.

Mas a principal razão pela qual estou blogando hoje é que o PEP 816 foi aceito! Esse PEP define como a compatibilidade WASI será tratada a partir do Python 3.15. O ponto principal é que, assim que o primeiro beta de uma versão Python for alcançado, as versões WASI e WASI SDK que terão suporte durante a vida dessa versão Python serão bloqueadas. Isso dá à comunidade um alvo para construir pacotes, uma vez que coisas construídas com o WASI SDK não são compatíveis com versões anteriores ou futuras para fins de vinculação devido ao wasi-libc não ter nenhuma garantia de compatibilidade.

Com esse PEP fora do caminho, os próximos grandes itens da minha lista de tarefas WASI são (em ordem aproximada):

  1. Implemente um subcomando para agrupar uma compilação WASI para distribuição
  2. Escreva um PEP para definir uma tag de plataforma para rodas
  3. Implemente um subcomando para construir dependências para CPython (por exemplo, zlib)
  4. Ative o suporte a soquete (que requer o lançamento do suporte WASI 0.3 e threading, pois estou pulando o WASI 0.2)



Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *