A reusable FastAPI project initializer with production-oriented templates.
Project description
inifastapi
inifastapi is a reusable FastAPI project initializer. It generates a production-oriented starter project with explicit router aggregation, settings, middleware, tests, and optional feature modules.
Requirements
uv must be installed on the machine. The scaffold uses uv both to run the CLI and to bootstrap the generated FastAPI project.
Usage
You do not need to install inifastapi first if it has been published. The recommended one-off command is:
uvx inifastapi init my-service
More examples:
uvx inifastapi init my-service --package-name app --with-database --with-auth
uvx inifastapi init my-service --layout src --with-task-queue --with-ci --ci-provider github
Published Package
If inifastapi is available on PyPI, prefer uvx for one-off usage:
uvx inifastapi init my-service
This downloads and runs the scaffold temporarily. It does not add inifastapi to the generated project's dependencies.
Local Development
If you are working from this repository before publishing, use the local environment:
uv sync --group dev
uv run inifastapi init my-service
You can also run the local source tree without installing it globally:
uvx --from . inifastapi init my-service
Install
If you want a persistent local development environment for the scaffold itself:
uv sync --group dev
Features
- Explicit
APIRouteraggregation pydantic-settingsconfigurationlifespanstartup/shutdown scaffolding- Request logging and security middleware
- Optional PostgreSQL + SQLAlchemy + Alembic
- Optional JWT auth skeleton
- Optional Redis cache skeleton
- Optional Celery + RabbitMQ skeleton
- Optional Docker and CI templates
uv-managedpyproject.toml,uv.lock, and.venv
Development
uv run python -m pytest
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
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 inifastapi-0.1.0.tar.gz.
File metadata
- Download URL: inifastapi-0.1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5763c8455d885391a0cda6918966c3baa0b8e2a13432e4c46641af9297e6a76
|
|
| MD5 |
678b7e4ad0a4a7d49b1b57b44cb38a0d
|
|
| BLAKE2b-256 |
e5dd8ea336843b36252cf9637283deda48ec05de5df3522c4ea6e3733a12c9e3
|
File details
Details for the file inifastapi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: inifastapi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6b38551f28a672ff909517e116dcc597cc5e0db6523eb2cae6e12f08cf150ac
|
|
| MD5 |
9b42aba9ad00d006cf2f4c8aa21867de
|
|
| BLAKE2b-256 |
af697cc4fb9eaa05009a7b31b0e7627f696044abc74b472bce3fd9f0186c8979
|