Skip to main content

A CLI tool to scaffold FastAPI projects with CRUD and schema support

Project description

FasterAPI banner

FasterAPI

Scaffold FastAPI APIs faster with a focused CLI for backend teams.

PyPI Version Python Versions License Monthly Downloads Last Commit

Quick Start · Demo · Command Reference · Contributing

Why FasterAPI

nats-fasterapi helps you skip repetitive setup and move straight to business logic.

  • Generate Pydantic schemas with one command
  • Generate CRUD repositories and service layers
  • Generate versioned FastAPI routes quickly
  • Generate token repository and auth dependency utilities
  • Auto-mount routes into main.py
  • Works in interactive and automation-friendly flows

Demo

FasterAPI CLI demo

CLI Preview Screens

Generating schema CRUD service and route

FasterAPI help output screenshot

Installation

pip install nats-fasterapi

Upgrade:

fasterapi update

Quick Start

# 1) Create a schema
fasterapi make-schema user

# 2) Generate repository and service
fasterapi make-crud user
fasterapi make-service user

# 3) Generate a versioned route
fasterapi make-route user --version-mode highest-number

# 4) Mount routes into main.py
fasterapi mount

Run the app in development mode:

fasterapi run-d

Command Reference

Command Purpose
new <name> Create a new project in a new folder
new-here Scaffold a new project in the current folder
make-schema <name> Generate a Pydantic schema
make-crud <name> Generate CRUD repository functions
make-service <name> Generate service layer template
make-route <name> [--version-mode ...] Generate route files with API versioning
make-token-repo [roles...] Generate token repository for roles
make-token-deps Generate token dependency utilities
mount Mount routes into main.py
run-d Run dev server (uvicorn main:app --reload)
update Upgrade FasterAPI CLI

new vs new-here

  • fasterapi new <name> creates a new directory (./<name>) and scaffolds the project inside it.
  • fasterapi new-here scaffolds directly into your current directory (./) without creating a new folder.
  • new-here is safety-checked and will stop if template paths already exist in the current directory.

Route Versioning Modes

  • highest-number
  • latest-modified

Token Repo Defaults

If no roles are provided to make-token-repo, defaults are:

admin, user, staff, guest-editor

Typical Workflow

fasterapi make-schema product
fasterapi make-crud product
fasterapi make-service product
fasterapi make-route product --version-mode latest-modified
fasterapi mount
fasterapi run-d

Roadmap

  • Improve new and new-here bootstrap customization
  • SQLAlchemy repository generators (PostgreSQL/MySQL)
  • Config-driven scaffolding via fasterapi.yaml
  • CI/CD template generation
  • Better Docker/Docker Compose scaffolding
  • Shell autocompletion support

Contributing

git clone https://github.com/nathanieluriri/faster-api.git
cd faster-api
pip install -e .
pytest

Issues and pull requests are welcome.

License

Licensed under the MIT License.

© 2026 Nathaniel Uriri

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

nats_fasterapi-0.2.92.tar.gz (67.2 kB view details)

Uploaded Source

Built Distribution

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

nats_fasterapi-0.2.92-py3-none-any.whl (100.6 kB view details)

Uploaded Python 3

File details

Details for the file nats_fasterapi-0.2.92.tar.gz.

File metadata

  • Download URL: nats_fasterapi-0.2.92.tar.gz
  • Upload date:
  • Size: 67.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for nats_fasterapi-0.2.92.tar.gz
Algorithm Hash digest
SHA256 a44e248a915b4f485f2c73131f446946c35dff4e99c260a470bef83c73336a36
MD5 bf67cc77e21713ab5c335ebac2838e08
BLAKE2b-256 b8dd50726e738014e71cf77c639e19cd28adcef328ef5fee34bbb0f6a5312f16

See more details on using hashes here.

File details

Details for the file nats_fasterapi-0.2.92-py3-none-any.whl.

File metadata

  • Download URL: nats_fasterapi-0.2.92-py3-none-any.whl
  • Upload date:
  • Size: 100.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.10

File hashes

Hashes for nats_fasterapi-0.2.92-py3-none-any.whl
Algorithm Hash digest
SHA256 b0952861f102ba1a2be9ffb4c23a30bd441c0edb682eacaa59cb58ceab5989af
MD5 dfe4bd1586fa2cf4ab69360c44860e1a
BLAKE2b-256 1664d32a9ea362cc8377341c304b7a6025cee689ea17dc0c7ce74ff7a884c792

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