Skip to main content

The Create Next App equivalent for FastAPI — scaffold production-ready FastAPI projects in seconds.

Project description

fastapi-kris

The Create Next App equivalent for FastAPI — scaffold production-ready projects in seconds.

PyPI Python License: MIT


Features

  • 🚀 Beautiful interactive CLI — keyboard navigation, colors, progress bars
  • 🏗️ Three architectures — Basic, Layered, Microservice
  • 🗄️ Database support — PostgreSQL, MySQL, SQLite, None
  • 🔐 Authentication — JWT, OAuth2, None
  • 🐳 Docker ready — Dockerfile, docker-compose, .dockerignore
  • 🧪 Test suite — Pytest with async support
  • 📄 Environment files.env + .env.example pre-populated
  • Zero config — the generated project runs immediately

Installation

pip install fastapi-kris

Usage

Interactive mode

fapi new my-first-api

Skip all prompts (use defaults)

fapi new my-first-api --yes
fapi new my-first-api -y

Default configuration:

Setting Default
Architecture Microservice
Database PostgreSQL
ORM SQLAlchemy
Authentication JWT
Docker Yes
Testing Pytest
Env file Yes

Other commands

fapi --help          # Show help
fapi new --help      # Show help for `new` command
fapi version         # Show CLI version

Architectures

Basic

Simple, single-layer structure. Ideal for small APIs and beginners.

my-api/
├── main.py
├── config.py
├── routers/
│   ├── health.py
│   └── sample.py
├── core/          # (if auth selected)
├── tests/
├── requirements.txt
├── .env
└── README.md

Layered

Clean separation of concerns following the Repository / Service / Router pattern.

my-api/
├── main.py
├── config.py
├── app/
│   ├── routers/
│   ├── services/
│   ├── repositories/
│   ├── models/
│   ├── schemas/
│   ├── database/
│   ├── dependencies/
│   ├── utils/
│   ├── core/
│   └── exceptions/
├── tests/
├── requirements.txt
├── .env
└── README.md

Microservice

Production-grade microservice architecture with an API Gateway, three services, shared utilities, and Docker Compose wiring.

my-api/
├── gateway/
├── services/
│   ├── auth-service/
│   ├── user-service/
│   └── product-service/
├── shared/
├── docker-compose.yml
├── .env
└── README.md

Example Session

🚀 FastAPI-Kris

Project:
my-first-api

Project Description:
> My first FastAPI application

Project Architecture
❯ Basic
  Layered
  Microservice

Database
❯ PostgreSQL
  MySQL
  SQLite
  None

...

Generating project...

████████████████████

✔ Project my-first-api generated successfully!

Getting Started After Generation

cd my-first-api
pip install -r requirements.txt
cp .env.example .env   # update values
uvicorn main:app --reload

Open: http://localhost:8000/docs


Contributing

See DEVELOPER_GUIDE.md for setup instructions.


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

fastapi_kris-1.0.0.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

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

fastapi_kris-1.0.0-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_kris-1.0.0.tar.gz.

File metadata

  • Download URL: fastapi_kris-1.0.0.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for fastapi_kris-1.0.0.tar.gz
Algorithm Hash digest
SHA256 704f4be93c77fef64bb1d659c949f910fe11d2a5583519d9efc622ecc44eab66
MD5 56dad29f7fdf689f76a60e09bd19943d
BLAKE2b-256 61ae4d6f8c383030f4c9ac8cfb943a3f7e2b15d6b88d91bd7dde821b2452c091

See more details on using hashes here.

File details

Details for the file fastapi_kris-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: fastapi_kris-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for fastapi_kris-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b16f52ea3b1439744c5a8865727caa6154d0d922c8eeb42218e5b5784063893
MD5 eccfc00de43b35e8b17ad91b1347b074
BLAKE2b-256 f1d121394a1a39d89555758fb12d2edcff744121b4f0211184ae364adf813382

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