Skip to main content

A customizable Cookiecutter template for generating production-ready FastAPI projects

Project description

FastAPI Cookiecutter

⚡ A Powerhouse Template for FastAPI Projects ⚡

FastAPI Cookiecutter is a highly customizable Python template designed to kickstart your FastAPI applications with a production-ready structure. Perfect for developers who want a scalable, modular foundation without the setup grind.


Key Features

  • Flexible Setup: Choose between PostgreSQL or SQLite databases.
  • Optional Add-Ons: Enable Docker, Redis, or GitHub Actions CI/CD with a single prompt.
  • Modular Design: Prebuilt structure with routers, models, schemas, and services.
  • Testing Ready: Built-in Pytest support for async testing.
  • Database Migrations: Seamless integration with Alembic for schema management.
  • Health Checks: Monitor your app’s status with a dedicated endpoint.

Installation

Install FastAPI Cookiecutter via PyPI (assuming you publish it):

pip install fastapi-cookiecutter

Requirements

  • Python 3.11+
  • Dependencies: cookiecutter (automatically installed via pip)

Quick Start

After installation, generate a new FastAPI project:

fastapi-cookiecutter

Or use it directly from GitHub:

cookiecutter gh:Mohammad222PR/fastapi-cookiecutters

Answer the prompts to customize your project, and you’re good to go!


Usage Examples

Here’s how to wield FastAPI Cookiecutter:

Basic Project

Generate a simple FastAPI app with SQLite:

cookiecutter gh:Mohammad222PR/fastapi-cookiecutters
# Enter project_name="MyAPI", database="sqlite", use_docker="no", use_ci_cd="no"

Full-Stack Setup

Create a loaded project with Postgres, Docker, and CI/CD:

cookiecutter gh:Mohammad222PR/fastapi-cookiecutters --no-input \
  project_name="MyAPI" database="postgres" use_redis="yes" use_docker="yes" use_ci_cd="yes"

Check the generated README.md for next steps!


Configuration Options

When running the template, you’ll be prompted for:

Option Description Choices/Default
project_name Name of your project e.g., "MyAPI"
project_slug Auto-generated project directory name Auto-filled
author Your name e.g., "Your Name"
version Project version "0.1.0"
description Short project description e.g., "A FastAPI app"
database Database type "postgres" / "sqlite"
use_redis Include Redis support "yes" / "no"
use_docker Include Docker and Compose files "yes" / "no"
use_ci_cd Include GitHub Actions CI/CD pipeline "yes" / "no"

Why FastAPI Cookiecutter?

  • Speedy Setup: From template to running app in under 5 minutes.
  • Custom Power: Tailor your project with zero bloat.
  • Scalable Base: Ready for small scripts or massive APIs.
  • Pro Features: Everything you need, nothing you don’t.

License

FastAPI Cookiecutter is licensed under the MIT License. Use it, tweak it, share it—responsibly.


Notes

  • Responsible Customization: Only include what your project needs—keep it lean!
  • Feedback: Got ideas? Open an issue on GitHub!

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

fastapi_cookiecutters-0.1.1.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

fastapi_cookiecutters-0.1.1-py3-none-any.whl (2.9 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_cookiecutters-0.1.1.tar.gz.

File metadata

  • Download URL: fastapi_cookiecutters-0.1.1.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for fastapi_cookiecutters-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6b2376678289a7576fa6980a358b470b9578cc0982f0442b4eb5e5f4f912c9ef
MD5 a0a4802595981380afeeccd82483ee7f
BLAKE2b-256 226a8af123c796a4a668ba6723fab780f2f347c37d5fd5c0b3ee405a15c6691a

See more details on using hashes here.

File details

Details for the file fastapi_cookiecutters-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_cookiecutters-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 662c4a4e10d35d7537669db945b0ad040bb4760b4c042c2bd52f2a06d6374284
MD5 3c20f2f4962ac3201e0ece6431e98e51
BLAKE2b-256 8d9470a4f67703cbd9d1a505b95e7e74444cc56e4fb1c499d869739e3a4122e5

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