FastAPI project scaffold generator
Project description
Templum
CLI scaffold generator for FastAPI microservices with clean layered architecture and explicit dependency injection. Install the package — one command creates a ready project with dependencies.
Every generated project ships with a CLAUDE.md that encodes all architectural rules so Claude Code works within the project's patterns from the first message.
Installation
uv tool install templum
Usage
templum new my-service
With options:
templum new my-service --output-dir ~/projects --python 3.12
| Flag | Default | Description |
|---|---|---|
--output-dir, -o |
. |
Parent directory for the new project |
--python, -p |
3.13 |
Minimum Python version |
The command runs:
uv init --bare— initializes the project- Copies the scaffold (
app/,Dockerfile,CLAUDE.md,.gitignore) uv add— installs base dependencies
What you get
my-service/
├── app/
│ ├── main.py # FastAPI app, lifespan, router registration
│ ├── config.py # Configuration via pydantic-settings
│ ├── auth.py # Bearer token auth factory (do not modify)
│ ├── deps.py # DI engine (do not modify)
│ └── setups/
│ ├── base.py # Abstract setup (do not modify)
│ └── local.py # Default setup — wire new services here
├── Dockerfile # Multi-stage build with uv
├── CLAUDE.md # Architectural rules for Claude Code
└── pyproject.toml # Created by uv init
No domains or infrastructure implementations are included — the scaffold defines the shape; you fill it in.
Running the generated project
cd my-service
uv run fastapi dev app/main.py
Server at http://localhost:8000, docs at /docs.
Docker
docker build -t my-service .
docker run -p 8000:8000 my-service
Architecture
router → service → infrastructure
Each layer has one job and depends only on the layer below it via abstract interfaces. The full dependency graph is assembled in a single setup file — swapping infrastructure means creating a new setup, not touching any service.
The full spec lives in the generated project's CLAUDE.md: layer rules, DI patterns, naming conventions, and async guidelines.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file templum-0.1.0.tar.gz.
File metadata
- Download URL: templum-0.1.0.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
250e5ac917440c2f7c82b8fbcdb67b8997e2e9f93aa0a61211757ea5275c24be
|
|
| MD5 |
976b58c64fcfa3bebaf3757f4b1cd422
|
|
| BLAKE2b-256 |
79c73740d0d4f59db171d28160eb186735759f7329eefe406c88a282161a957f
|
File details
Details for the file templum-0.1.0-py3-none-any.whl.
File metadata
- Download URL: templum-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb4e3366c93d6efb63c3075598aeac01383e15ed3413a64a28bd3c2e516d63da
|
|
| MD5 |
b64d6a5d9c083321ff9a23a97941ac78
|
|
| BLAKE2b-256 |
d5fce12e36d36184f504d4083318638f4de92130283b791df229fc217f695418
|