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):
- Implemente um subcomando para agrupar uma compilação WASI para distribuição
- Escreva um PEP para definir uma tag de plataforma para rodas
- Implemente um subcomando para construir dependências para CPython (por exemplo, zlib)
- Ative o suporte a soquete (que requer o lançamento do suporte WASI 0.3 e threading, pois estou pulando o WASI 0.2)
