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.1.1.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.1-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tle_faster_api-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 f35a464184944b27dae1db3401c7711cfce4a7e144a0d5043a708ad680390d5d
MD5 a70b40980f414d28ef43926171f7b1f3
BLAKE2b-256 af2823916944ac1d799f5b7e7e6ec44cafa80dc54aab51ad3cd0d640ae5513ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tle_faster_api-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4446725d7f58cad76c574bdfe353c690b7c62a6a7f5208fcd99280d7ee369e30
MD5 24d1a773e2f42d990a36722e6414ffa2
BLAKE2b-256 28d335f8532997e118212db9ecbbead924e1a1873ed957b365a2c7a04f4d05da

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