← Voltar ao hub

mu-tsugu

🐍

mu-tsugu (紡ぐ) — "fiar" ou "tecer". Um fork comunitário do editor Mu, mantido para preservar a simplicidade e o foco educacional do original. É um editor Python "sem firulas" para quem está começando a programar, com modos didáticos para Python, Turtle, micro:bit, CircuitPython e mais.

PyQt6 Interface gráfica
1.3.0 Versão atual
Python 3.10+ Runtime suportado
Ver no GitHub →

O que é

MuTsugu é um editor de código Python simples, criado a partir de feedback de professores e estudantes. Ele oferece uma interface limpa, modos específicos para diferentes atividades e um botão de parada sempre visível — tudo pensado para quem está aprendendo.


O projeto original Mu deixou de ser mantido pelo autor; mu-tsugu segue o projeto adiante, mantendo a filosofia original e adicionando modernização de dependências, correções de segurança e novos recursos pedagógicos.

Recursos

🎓
Foco educacional
Interface minimalista com feedback claro, ideal para salas de aula e laboratórios de introdução à programação.
Disponível
🐢
Modo Turtle
Botões simplificados de execução e REPL, com template inicial para experimentos com turtle graphics.
Disponível
🔍
Busca em abas
Pesquise texto em todas as abas abertas (Ctrl+Shift+F) e navegue diretamente até o resultado.
Disponível
🎨
Temas configuráveis
Ciclo de quatro temas (dia, noite, alto contraste e customizado) via settings.json.
Disponível
⌨️
Atalhos personalizáveis
Configure 15 atalhos diferentes em settings.json, com validação e fallback para os padrões.
Disponível
📦
Exercícios exportáveis
Professores podem exportar e importar exercícios como arquivos .mu-exercise (zip protegido contra zip-slip).
Disponível

Modernização e segurança

Em 2026 o repositório passou por um programa de modernização guiado pelo ciclo de qualidade kata. As mudanças são aditivas e preservam o comportamento original:


  • Suporte a Python 3.10–3.13 com PyQt6 6.11.0, QScintilla 2.14.1 e PyQt6-Charts 6.11.0.
  • eval() substituído por ast.literal_eval no inspetor de debug, eliminando execução arbitrária de código.
  • os.system() substituído por subprocess.run([...]) sem shell.
  • CI com flake8, pytest e cobertura 96%+ (gate de 70%).
  • Modo de apresentação (F11) com alto contraste e fonte máxima para projeção em sala de aula.

Como instalar

1
Clone o repositório

O código-fonte contém todos os arquivos necessários para rodar a partir do Python.

git clone https://github.com/walternagai/mu-tsugu.git
cd mu-tsugu
2
Instale as dependências

Use o arquivo de requisitos de runtime. Recomenda-se um ambiente virtual.

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
3
Execute o editor

Inicie o MuTsugu a partir do script de entrada principal.

python run.py