Para contribuidores¶
make sync # uv sync --all-extras --all-groups: package, extras and every group
make audit # the CI gate before any PR
El lado del desarrollo de SnakeORM.
Qué abarca el proyecto¶
Fíjalo aquí, antes de que otra página lo contradiga:
- Tres motores de primera clase: PostgreSQL, MySQL/MariaDB y SQLite. Se implementaron en ese
orden y cada uno es un fichero nuevo en
dialects/y otro endrivers/, nunca un refactor. Un modelo escrito una vez corre en los tres. - Síncrono Y asíncrono, sobre la misma costura incolora. Generar SQL no ejecuta nada, así que no
tiene "color":
AsyncDriveryAsyncSessionentraron sin reescribir ni el compiler ni el dialecto. Las dos sesiones consumen el MISMOPlany el mismo catálogo de mensajes.
Ésa es la superficie que cualquier cambio tiene que dejar en pie. Tocar un dialecto obliga a mirar los otros dos; tocar la sesión, a mirar los dos colores.
Por dónde seguir¶
- Entorno de desarrollo — uv, devcontainer, base de datos.
- Testing — la suite, cómo correrla y los gates del CI.
- Arquitectura — el pipeline modelo → metadata → SQL.
- Interioridades — dónde vive el código de cada funcionalidad, una a una.
- Las demos — el único sitio donde el ORM se ejercita como lo ejercitaría una aplicación, con un servidor delante y una base de datos real.
- Proceso de release — versionado, empaquetado y publicación.
Antes de tocar código, lee el CONTRIBUTING.md de la raíz: reglas del proyecto (Strict TDD, cero
Any, commits convencionales) y flujo de Pull Request.