Skip to main content

FastAPI project scaffold generator

Project description

Templum

PyPI version PyPI downloads

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.

Usage

uvx templum my-service

Or install globally and use as a persistent command:

uv tool install templum
templum my-service

With options:

templum 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.2.tar.gz (18.1 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.2-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file templum-0.1.2.tar.gz.

File metadata

  • Download URL: templum-0.1.2.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for templum-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5cc32c3b76271cc42ed903b74b765e8a6a3ad29136cb551a253506e0cd4d948b
MD5 cd68cff400b33e8f82cbdaf21f074932
BLAKE2b-256 ff4281b7e6fda97a6fa0245b0b8002ea70aeba8cd09178cbc3b1ac1d0d44f32e

See more details on using hashes here.

File details

Details for the file templum-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: templum-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for templum-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6205f1aefb1a61f57823fbed032880de2e02a23753c4da117f80468a6bad2c17
MD5 31765059e7d33fdce0dfad835ac39584
BLAKE2b-256 2200a3ee8206d07d7891d927e617c55d7db9f8ca449aea015b885568dd450aa0

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