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 tle-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.2.1.tar.gz (35.1 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.2.1-py3-none-any.whl (50.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tle_faster_api-0.2.1.tar.gz
  • Upload date:
  • Size: 35.1 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.2.1.tar.gz
Algorithm Hash digest
SHA256 841df28a4f09487e2adc5a2943460eb8ef89f25fca4a8a6c9264a99b6bda384a
MD5 106ae9666915f443128d0ee651c3fa62
BLAKE2b-256 057263773796615470e64bbdbc03f910ef4956ca1630fcd8ca087f10a22e5bb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tle_faster_api-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 50.1 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b16bff7825f056c5a184f166293d05a4cdbcfb24fde723902dd230ed821e7d7
MD5 c8018d7a93c64d32561bdabba693740a
BLAKE2b-256 af422b2db123795ac96799059d4a8b2b210a59df140551ebd13625fad6bb5769

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