Execute um programa pequeno
Escreva em main.py e selecione Executar Python. O exemplo esmaecido imprime uma saudação e os quadrados de 0 a 4. A primeira execução precisa de internet para baixar o motor; as seguintes nesta página reutilizam os dados. Se o campo de código estiver vazio, Executar Python roda este exemplo e Salvar .py o salva. Limpar redefine o código, a entrada e a saída.
Outro exemplo: import statistics seguido de print(statistics.mean([3, 6, 9])) imprime 6. Expressões na última linha também exibem seu valor. Saída normal e erros são distinguidos, e o traceback mostra onde ocorreu o erro.
Prepare a entrada
Para name = input('Name: '), digite um nome na primeira linha da entrada padrão e acrescente print('Hello,', name). Cada input() consome uma linha; ao acabarem, ocorre EOFError sem abrir uma caixa de diálogo.
Tab insere quatro espaços. Ctrl ou Command mais Enter executa. Salvar .py baixa o código atual. Copiar saída inclui o texto de console e os erros capturados.
Cores básicas distinguem palavras-chave, strings, números e comentários. Enter mantém a indentação e adiciona quatro espaços após um bloco como for ou if terminado em dois-pontos. Shift + Enter insere apenas uma quebra de linha. Abrir .py lê um arquivo UTF-8 localmente e pede confirmação antes de substituir o código digitado. Arquivos inválidos ou grandes demais mantêm seu código intacto.
Pare e reinicie
Parar encerra o worker até em um laço while True. A próxima execução cria uma sessão nova. O limite de 15 segundos começa após iniciar o motor; a saída é limitada a 65.536 caracteres. Editar código ou entrada cancela a execução e limpa o resultado anterior.
Variáveis, importações e arquivos não persistem entre execuções. Inclua todo o necessário no editor. Grandes alocações ainda podem esgotar a memória do dispositivo; use exemplos pequenos, principalmente em celulares.
Suporte e privacidade
É usada a biblioteca padrão incluída no Pyodide 0.28.3, com módulos como math, random, statistics e json. NumPy e pacotes pip não são carregados. Janelas de desktop, processos do sistema, sockets TCP e gráficos interativos não são suportados.
O código roda em um worker dentro de uma sandbox de origem opaca com política restritiva. Requisições externas do código são bloqueadas. A página baixa o motor do jsDelivr sem anexar código ou entrada. Não é preciso conta nem API de execução remota.
Pyodide 0.28.3 · GitHub · MPL-2.0
Perguntas frequentes
Por que a primeira execução demora?
O navegador baixa e inicializa Python e WebAssembly. Se falhar, execute novamente.
Posso instalar pacotes?
Não. Apenas a biblioteca padrão incluída está disponível.
Por que uma variável desapareceu?
Cada execução usa uma sessão nova. Inclua a atribuição no código.
Funciona offline ou no celular?
O primeiro download exige internet. A interface se adapta; memória e suporte a WebAssembly dependem do dispositivo.