Skip to main content

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:

  1. uv init --bare — initializes the project
  2. Copies the scaffold (app/, Dockerfile, CLAUDE.md, .gitignore)
  3. 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

templum-0.1.0.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

templum-0.1.0-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

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

Hashes for templum-0.1.0.tar.gz
Algorithm Hash digest
SHA256 250e5ac917440c2f7c82b8fbcdb67b8997e2e9f93aa0a61211757ea5275c24be
MD5 976b58c64fcfa3bebaf3757f4b1cd422
BLAKE2b-256 79c73740d0d4f59db171d28160eb186735759f7329eefe406c88a282161a957f

See more details on using hashes here.

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

Hashes for templum-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb4e3366c93d6efb63c3075598aeac01383e15ed3413a64a28bd3c2e516d63da
MD5 b64d6a5d9c083321ff9a23a97941ac78
BLAKE2b-256 d5fce12e36d36184f504d4083318638f4de92130283b791df229fc217f695418

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page