Scaffold FastAPI, Django, and Python package projects from production-ready templates
Project description
pinit
Scaffold production-ready Python projects in one command. No copying, no manual setup.
Usage
# with uvx (no install needed)
uvx pinit fastapi my-api
uvx pinit django my-site
uvx pinit pypackage my-lib
# or install globally
pip install pinit
pinit fastapi my-api
Templates
| Template | Stack |
|---|---|
fastapi |
FastAPI 0.135 + SQLAlchemy 2.0 async + Alembic + Pydantic v2 + structlog |
django |
Django 5.2 + Django REST Framework 3.16 + Celery + Postgres |
pypackage |
Python package with src layout, Hatchling, PyPI OIDC publish |
What you get
Every scaffolded project includes:
- uv for dependency management (
uv syncworks immediately) - Ruff 0.15 for lint + format, MyPy 1.14 strict for type checking
- pre-commit hooks: trailing whitespace, YAML/TOML check, detect secrets, no commits to main
- Commitizen for conventional commit enforcement
- GitHub Actions CI (lint + test + migrations) and GitLab CI pipelines
- VS Code settings — format on save, Ruff as formatter, correct extensions
- Dev container —
devcontainer.jsonfor Codespaces or local container - AI agent rules —
CLAUDE.md,.claude/rules/,.cursor/rules/pre-filled - No AI attribution in commits — pre-commit hook blocks
Co-Authored-By: Claudeand similar lines
After scaffolding
cd my-api
uv sync --all-extras
cp .env.example .env # fill in SECRET_KEY
uv run pytest # all tests pass out of the box
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
project_pinit-0.1.0.tar.gz
(4.4 kB
view details)
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 project_pinit-0.1.0.tar.gz.
File metadata
- Download URL: project_pinit-0.1.0.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a631957fa0e94dab444d15f087b453cfa8b15d256bb7e26c6d818aad350f53b
|
|
| MD5 |
6b4dbd464232e2ec5e323423f9e502d5
|
|
| BLAKE2b-256 |
0bee7ad888d4749253e27568ec502fa6773ac91a3cb8aca6f1dcade4adca299f
|
File details
Details for the file project_pinit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: project_pinit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb04260cf41b5870b74e02c1fdd4d668fc81f1ece637332c81d84d57d862eb9a
|
|
| MD5 |
c88e5c85e1fd0300626967874ab0c18c
|
|
| BLAKE2b-256 |
bed59a5390b7496e62bfe918fe66b4ed31b604bf69a65b8aecf92ee637cbb61d
|