Build with it
Five-minute quickstart, then scaffold your first module. You'll learn the loop — add a model, generate a migration, write a service, mount a page.
Quickstart
FastAPI + SQLModel + Inertia.js + React. Plugin modules that compose at boot. No microservice tax, no API-client glue.
Install, bootstrap, and build your first module.
Discovery, lifecycle hooks, middleware, permissions, events, i18n.
SQLModel conventions, per-module Base, mixins, sessions, Alembic.
Inertia page keys, shared props, page discovery, React layout.
The simple_module_test plugin fixtures, unit tests, end-to-end tests.
Reference for each bundled module: routes, contracts, settings.
CLI commands, env vars, diagnostic codes, deployment.
uv tool install simple_module_cli
smpy new myapp --yes
cd myapp
make dev # API on :8000, Vite on :5050Then in another terminal, inside myapp:
smpy create-module orders --dest modules/orders
uv add ./modules/ordersThat generates modules/orders/ with a ModuleMeta, a SQLModel table, contracts, a service, REST + Inertia endpoints, three React pages, locales, and a smoke test — all wired in once the dev server reloads. The full walkthrough is in Your first module.
When conventions are ambiguous, the authoritative single-page docs (Framework conventions, Module authoring, E2E testing, Release playbook) are the source of truth.