This is the CookieCutter template for FastAPI ASGI application. We use it in most of our projects. See structure at {{ cookiecutter.project_slug }} and keep it synced with the generated project from this template. If you found something cozy to be added, something missing or not working, please report an issue or submit a pull request.
- Python 3.13 & uv
- FastAPI
- Database and ORM: MongoDB & Beanie
- Formatting and linting: Ruff, pre-commit
- Deployment: Docker, Docker Compose, GitHub Actions
- Install uv
- Run Cookiecutter on this repo:
uvx cookiecutter gh:one-zero-eight/fastapi-template
- Go to generated project and install dependencies with uv
uv sync
- Run Ruff formatting and linting:
uv run ruff format uv run ruff check --fix
- Generate
settings.schema.yaml:uv run scripts/generate_settings_schema.py