FastAPI Startkit
A modular, provider-driven framework for building Python applications with FastAPI. It bundles a service container, configuration system, an async-first ORM, facades, and a Cleo-powered console into a single cohesive foundation.
Installation
pip install fastapi-startkit
Optional extras enable additional capabilities:
fastapi-startkit[fastapi] # FastAPI + Starlette
fastapi-startkit[database] # SQLAlchemy async ORM
fastapi-startkit[vite] # Jinja2 for Vite integration
Features
- Service container — IoC container with
bind/make/resolveauto-wiring and lifecycle hooks. - Configuration — dataclass-based config sourced from the environment with dotted-key access.
- Providers — two-phase (
register/boot) service registration. - Routing — a
Routerwrapper around FastAPI'sAPIRouterwith aresource()CRUD shortcut. - ORM — async-first Masonite ORM fork on SQLAlchemy async, with relationships and migrations.
- Facades — static-like access to container-resolved services (
Config,Auth, ...). - Console — Cleo-based CLI (
artisan) for migrations, seeders, and code generation.
Documentation
Full documentation is available at fastapi-startkit.github.io.
Development
# Install dependencies
uv sync --group dev --extra database --extra sqlite --extra fastapi --extra vite --extra postgres
# Run the test suite
uv run pytest tests/ -v
# Run tests with coverage
uv run pytest --cov --cov-report=term-missing
Coverage is collected in CI and reported to Codecov.
License
See the repository root for license details.
Release files for fastapi-startkit 0.58.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastapi_startkit-0.58.0.tar.gz | 211.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastapi_startkit-0.58.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 559.6 kB
Release files / fastapi_startkit-0.58.0.tar.gz
| Download URL | fastapi_startkit-0.58.0.tar.gz |
|---|---|
| Size | 211.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c94558a6a904ed8ed999d469aa7b2b7bbf7af469b2debccaa17b08ca2d7ac2ce
|
|
BLAKE2b-256 checksum How to use checksums |
b943bd83b53cdfbdf330c4c1802181d20ea98c5837cc1e1eca73a7623d771065
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / fastapi_startkit-0.58.0-py3-none-any.whl
| Download URL | fastapi_startkit-0.58.0-py3-none-any.whl |
|---|---|
| Size | 348.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35178a58554c84a7bb4b9e5dba6736d8b7a25a85c826120aca6567f7b12d49e8
|
|
BLAKE2b-256 checksum How to use checksums |
dd40d1e16aef1040e36af364b4376eefc70f8b2c9157f891a1f6e5e6f418030f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|