Craft Engine v3.21.0
El framework Python para aplicaciones web expresivas
Construye aplicaciones elegantes y listas para producción en Python, con convenciones MVC familiares. Craft ORM con UUID de doble clave, plantillas Forge, WAF Active Defense y CRUD builder visual — todo incluido.
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")
Funcionando en segundos
De cero a una aplicación en marcha, con migraciones, datos de ejemplo e interfaz de administración — en cuatro pasos simples.
Clonar y configurar
git clone https://github.com/msrjson/craftengine.gitcd craftengine/data && cp .env.example .envpython dev.py key:generateMigrar y poblar
python dev.py migrate --seedServir en local
python dev.py serveEjecutar con Docker
docker compose up -d --buildAplicación lista en localhost:9000
Todo lo que necesitas, nada de lo que no
Un framework completo que respeta tu tiempo. Convenciones MVC familiares, pensadas para desarrolladores Python que exigen velocidad, claridad y seguridad.
Active Record y UUID de doble clave
ORM de alto rendimiento con eager loading, relaciones, soft deletes, query builder y resolución automática de UUID público — en SQLite, PostgreSQL y MySQL.
Rendimiento ASGI asíncrono
Un núcleo ASGI de alto rendimiento: los controllers síncronos se ejecutan en paralelo en un pool de hilos, cada uno con una conexión del pool, con soporte para controllers asíncronos.
Active Defense y firewall WAF
Web Application Firewall integrado (protección contra SQLi, XSS y SSRF), honeypot para atrapar atacantes, bloqueo contra fuerza bruta y registro de auditoría.
CRUD builder visual y de terminal
Genera cortes verticales completos con un comando o con el builder visual: migraciones DDL, Models, FormRequests, Resources e interfaz de administración.
Motor de plantillas Forge
Plantillas expresivas con escape automático y directivas como @csrf, @auth, @guest, @can, @honeypot y layouts de componentes.
Consola y CLI para desarrolladores
Herramientas de línea de comandos completas: generadores, consola interactiva tinker, migrador de base de datos, workers de cola, planificador de tareas y gestión del firewall.
La seguridad es parte del motor
Los valores peligrosos por defecto ya están cerrados antes de tu primera ruta — no quedan como una lista de tareas para después.
Hash de contraseñas Argon2id
Hash de uso intensivo de memoria para contraseñas nuevas; los hashes antiguos bcrypt y PBKDF2 siguen siendo verificables y se actualizan en el siguiente inicio de sesión.
Bóveda de credenciales AES-256-GCM
Las claves de API de terceros y los secretos OAuth se cifran en reposo con una clave derivada de la clave de la aplicación — nunca en texto plano.
Tokens firmados con contexto
Los tokens de restablecimiento de contraseña y de verificación quedan ligados a su propósito y contexto, con caducidad opcional, para que un token filtrado no se reutilice en otro lugar.
CSRF, honeypot y anti-spam
Todo formulario que cambia estado lleva @csrf; los formularios públicos suman honeypot y anti-spam con comparación en tiempo constante, y cada activación se registra como evento de seguridad.
Autorización, no solo autenticación
Gates, policies y middleware role:; el build falla si alguna ruta de administración se declara sin una protección de autorización.
Persistencia absoluta de datos
Migraciones solo hacia adelante y soft deletes. Los comandos destructivos como migrate:fresh y db:wipe están prohibidos en todos los entornos.
Un esqueleto que copias, no una librería contra la que luchas
El repositorio es el esqueleto base de una aplicación nueva. Clónalo, renómbralo, y la misma base de código te lleva de un blog a la escala multi-tenant.
- data/la aplicación, montada como /app
- data/engine/el núcleo, importado como craft.*
- data/app/controllers, models, policies, plugins
- data/routes/rutas web y de API
- data/resources/views/plantillas Forge
- data/database/migraciones solo hacia adelante y seeders
- data/documentation/más de 35 guías y llms.txt
- data/tests/más de 1.500 casos pytest
- data/dev.pyla CLI de desarrollo
- .claude/rules/gobernanza y gates de calidad
- .agents/skills para agentes de IA
Módulos, plugins y contenedor
Núcleo, módulos de negocio y plugins de capacidad removibles, conectados por un contenedor de inyección de dependencias y facades estáticas — todo servicio se puede simular en pytest.
i18n en base de datos
Las traducciones viven en la base de datos, no en archivos sueltos. Todo proyecto nace trilingüe — inglés como fuente, portugués de Brasil por defecto, español como alternativa — con plurales ICU.
Releases gobernadas
Versión, contador de release y changelog avanzan juntos; pruebas, lint y el gate de idioma deben pasar antes de publicar una release. Código en inglés, cero textos de usuario fijos en el código.
Hecho para personas y para agentes de código
Convenciones que un modelo ya entiende, documentación escrita para máquinas y para personas, y herramientas de agente de primera clase dentro del framework.
Model Context Protocol
Declara clases AgentTool protegidas por RBAC y exponlas por MCP, para que asistentes e IDEs descubran e invoquen las herramientas de tu aplicación de forma segura.
SDK de IA independiente del proveedor
Una facade AI para generación de texto y un orquestador de agentes, con drivers intercambiables en lugar de depender de un proveedor.
Documentación legible por máquinas
llms.txt, llms-full.txt, CRAFT_ENGINE.md y las skills de agente le dan a un agente de código el ciclo de construcción, los límites y lo que aún no existe.
Peticiones en paralelo en un solo worker
Medido en la aplicación de ejemplo con el load tester incluido, tras mover la cadena de controllers a un pool de hilos con conexiones en pool.
Empieza ahora
Instala el framework y empieza a construir aplicaciones expresivas.
Documentación
Guías completas de arquitectura y de API para cada componente.
Código en GitHub
Lee el código, abre un issue o envía un pull request. Licencia MIT.
Base de código probada
Más de 1.500 pruebas automatizadas en SQLite, PostgreSQL y runtimes Python modernos.