Skip to main content

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 APIRouter aggregation
  • pydantic-settings configuration
  • lifespan startup/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-managed pyproject.toml, uv.lock, and .venv

Development

uv run python -m pytest

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

inifastapi-0.1.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

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

inifastapi-0.1.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

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

Hashes for inifastapi-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d5763c8455d885391a0cda6918966c3baa0b8e2a13432e4c46641af9297e6a76
MD5 678b7e4ad0a4a7d49b1b57b44cb38a0d
BLAKE2b-256 e5dd8ea336843b36252cf9637283deda48ec05de5df3522c4ea6e3733a12c9e3

See more details on using hashes here.

File details

Details for the file inifastapi-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for inifastapi-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6b38551f28a672ff909517e116dcc597cc5e0db6523eb2cae6e12f08cf150ac
MD5 9b42aba9ad00d006cf2f4c8aa21867de
BLAKE2b-256 af697cc4fb9eaa05009a7b31b0e7627f696044abc74b472bce3fd9f0186c8979

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