Craft Engine v3.21.0
O framework Python para aplicações web expressivas
Construa aplicações elegantes e prontas para produção em Python, com convenções MVC familiares. Craft ORM com UUIDs de chave dupla, templates Forge, WAF Active Defense e CRUD builder visual — tudo incluído.
from craft.facades import Route, Auth, DB
from craft.orm.model import Model
class Post(Model):
__table__ = "posts"
fillable = ["title", "body", "user_id"]
def author(self):
return self.belongs_to(User)
# Expressive REST & Admin Routing
Route.resource("posts", PostController, write_middleware="auth")
Route.get("/admin", [AdminController, "index"])
.middleware("auth", "role:admin", "firewall")
Rodando em segundos
Do zero a uma aplicação rodando, com migrations, dados de exemplo e interface administrativa — em quatro passos simples.
Clonar e configurar
git clone https://github.com/msrjson/craftengine.gitcd craftengine/data && cp .env.example .envpython dev.py key:generateMigrar e popular
python dev.py migrate --seedServir localmente
python dev.py serveRodar com Docker
docker compose up -d --buildAplicação pronta em localhost:9000
Tudo o que você precisa, nada do que não precisa
Um framework completo que respeita o seu tempo. Convenções MVC familiares, pensadas para desenvolvedores Python que exigem velocidade, clareza e segurança.
Active Record e UUID de chave dupla
ORM de alto desempenho com eager loading, relacionamentos, soft deletes, query builder e resolução automática de UUID público — em SQLite, PostgreSQL e MySQL.
Desempenho ASGI assíncrono
Um núcleo ASGI de alto throughput: controllers síncronos rodam em paralelo num pool de threads, cada um com uma conexão de banco do pool, e há suporte a controllers assíncronos.
Active Defense e firewall WAF
Web Application Firewall embutido (proteção contra SQLi, XSS e SSRF), honeypot para capturar atacantes, bloqueio contra força bruta e log de auditoria.
CRUD builder visual e no terminal
Gere fatias verticais completas com um comando ou pelo builder visual: migrations DDL, Models, FormRequests, Resources e interface administrativa.
Motor de templates Forge
Templates expressivos com escape automático e diretivas como @csrf, @auth, @guest, @can, @honeypot e layouts de componentes.
Console e CLI para desenvolvedores
Ferramentas de linha de comando completas: geradores, console interativo tinker, migrator de banco, workers de fila, agendador de tarefas e gestão do firewall.
Segurança faz parte do motor
Os padrões perigosos já estão fechados antes da sua primeira rota — não ficam como checklist para depois.
Hash de senha Argon2id
Hash com uso intensivo de memória para senhas novas; hashes antigos em bcrypt e PBKDF2 continuam verificáveis e são atualizados no próximo login.
Cofre de credenciais AES-256-GCM
Chaves de API de terceiros e segredos OAuth ficam criptografados em repouso, com uma chave derivada da chave da aplicação — nunca em texto puro.
Tokens assinados com contexto
Tokens de redefinição de senha e de verificação ficam presos à sua finalidade e ao seu contexto, com expiração opcional, para que um token vazado não seja reutilizado em outro lugar.
CSRF, honeypot e anti-spam
Todo formulário que altera estado leva @csrf; formulários públicos somam honeypot e anti-spam com comparação em tempo constante, e cada disparo é registrado como evento de segurança.
Autorização, não só autenticação
Gates, policies e middleware role:; o build falha se uma rota administrativa for declarada sem uma proteção de autorização.
Persistência absoluta de dados
Migrations só para frente e soft deletes. Comandos destrutivos como migrate:fresh e db:wipe são proibidos em qualquer ambiente.
Um esqueleto que você copia, não uma biblioteca contra a qual você luta
O repositório é o esqueleto base de uma aplicação nova. Clone, renomeie, e a mesma base de código leva você de um blog até a escala multi-tenant.
- data/a aplicação, montada como /app
- data/engine/o núcleo, importado como craft.*
- data/app/controllers, models, policies, plugins
- data/routes/rotas web e de API
- data/resources/views/templates Forge
- data/database/migrations só para frente e seeders
- data/documentation/mais de 35 guias e llms.txt
- data/tests/mais de 1.500 casos pytest
- data/dev.pya CLI de desenvolvimento
- .claude/rules/governança e gates de qualidade
- .agents/skills para agentes de IA
Módulos, plugins e container
Núcleo, módulos de negócio e plugins de capacidade removíveis, ligados por um container de injeção de dependência e facades estáticas — todo serviço pode ser mockado no pytest.
i18n no banco de dados
As traduções ficam no banco, não em arquivos soltos. Todo projeto nasce trilíngue — inglês como fonte, português do Brasil como padrão, espanhol como alternativa — com plurais ICU.
Releases governadas
Versão, contador de release e changelog andam juntos; testes, lint e o gate de linguagem precisam passar antes de uma release. Código em inglês, zero texto de usuário fixo no código.
Feito para pessoas e para agentes de código
Convenções que um modelo já entende, documentação escrita para máquinas e para pessoas, e ferramentas de agente de primeira classe dentro do framework.
Model Context Protocol
Declare classes AgentTool protegidas por RBAC e exponha-as via MCP, para que assistentes e IDEs descubram e chamem as ferramentas da sua aplicação com segurança.
SDK de IA independente de provedor
Uma facade AI para geração de texto e um orquestrador de agentes, com drivers substituíveis em vez de dependência de um fornecedor.
Documentação legível por máquina
llms.txt, llms-full.txt, CRAFT_ENGINE.md e skills de agente entregam a um agente de código o ciclo de construção, os limites e o que ainda não existe.
Requisições em paralelo num único worker
Medido na aplicação de exemplo com o load tester incluído, depois de mover a cadeia de controllers para um pool de threads com conexões em pool.
Comece agora
Instale o framework e comece a construir aplicações expressivas.
Documentação
Guias completos de arquitetura e de API para cada componente.
Código no GitHub
Leia o código, abra uma issue ou envie um pull request. Licença MIT.
Base de código testada
Mais de 1.500 testes automatizados em SQLite, PostgreSQL e runtimes Python modernos.