Skip to main content

A CLI tool for bootstrapping FastAPI projects and apps

Project description

Faster API

Faster API is a Python CLI tool for scaffolding and managing FastAPI projects with a Django-inspired developer experience. It boosts productivity for large-scale projects by offering modular project structure, built-in user authentication, and out-of-the-box support for PostgreSQL via Docker.

Features

  • Django-like commands: startproject, startapp, runserver, makemigrations, migrate, createsuperuser
  • Modular project/app structure for scalable codebases
  • Preconfigured with:
    • SQLAlchemy
    • Pydantic Settings module
    • User, profile, and preference models
    • Auth endpoints (OAuth2, registration, token refresh)
  • Integrated PostgreSQL dev server powered by Docker

Installation

pip install faster-api

CLI Usage

fasterapi <command> [options]

Commands

  • startproject <name> [--db_port <port>]: Create a new FastAPI project
  • startapp <name>: Create a new app within the project
  • runserver [--host <host>] [--port <port>]: Launch the development server
  • makemigrations: Generate a new Alembic migration
  • migrate: Apply all migrations
  • createsuperuser: Create an admin user interactively
  • dbup: Start a local PostgreSQL container
  • dbdown: Stop the database container
  • dbreset: Remove the database container and volume

Getting Started

fasterapi startproject myproject
cd myproject
cp .env.example .env
fasterapi dbup
fasterapi makemigrations
fasterapi migrate
fasterapi runserver

Creating an App

fasterapi startapp blog

Then update:

  • alembic/env.py:

    import app.blog.models
    
  • app/core/routers/v1.py:

    from app.blog import views as blog_views
    api_router.include_router(blog_views.router, prefix="/blog", tags=["blog"])
    

Creating a Superuser

fasterapi createsuperuser

PostgreSQL Dev Database

Faster API includes a docker-compose file to spin up a local PostgreSQL instance:

fasterapi dbup     # Start DB
fasterapi dbdown   # Stop DB
fasterapi dbreset  # Destroy DB & volume

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

tle_faster_api-0.1.0.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

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

tle_faster_api-0.1.0-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

Details for the file tle_faster_api-0.1.0.tar.gz.

File metadata

  • Download URL: tle_faster_api-0.1.0.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for tle_faster_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1254844e41c97ca852dd92b3f5a606d3b3ac0dc3054894399457d6afe6842367
MD5 2d20f48f9f865d8bd66005c9e2609612
BLAKE2b-256 8b1959f1be101323839d23b9f1aa341f8bc345b77aa1227c5da2996f8b0cd59e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tle_faster_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 47.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for tle_faster_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f90c0b37a3464724f017256c31a2b459b3a19e66c9b6a007c06c14e12b0bb3fb
MD5 c395a0ed8004d5acafcb536ac57b4b52
BLAKE2b-256 d9423a99db248cd7e23d7c93c5f081320a9d589624d3aa802854ed6081e2d7f3

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