Skip to main content

Generate FastAPI projects based on database schema.

Project description

FastAPI-Forge

🚀 Build Production-Ready FastAPI Projects — Fast, Scalable, and Hassle-Free!

FastAPI-Forge lets you go from database schema to a fully functional FastAPI-based project in minutes — no boilerplate, no hassle. With its clean, intuitive UI, you can define your Postgres or MySQL models and easily add optional services like Redis, message brokers, task queues, Prometheus, authentication, Elasticsearch, and more! It automatically generates everything you need — routes, DAOs, DTOs, models, and tests — following best practices in a scalable, easy-to-maintain project architecture.

Stop boilerplating. Start building.


✅ Requirements

  • Python 3.12+
  • UV
  • Docker and Docker Compose (for running the generated project)

🚀 Installation

Install FastAPI-Forge:

pip install fastapi-forge

🛠 Usage

Start the project generation process:

fastapi-forge start
  • A web browser will open automatically.
  • Define your database schema and service specifications.
  • Once done, click Generate to build your API.

To start the generated project and its dependencies in Docker:

make up
  • The project will run using Docker Compose, simplifying your development environment.
  • Access the SwaggerUI/OpenAPI docs at: http://localhost:8000/docs.

⚙️ Command Options

Customize your project generation with these options:

--use-example

Quickly spin up a project using one of FastAPI-Forge’s prebuilt example templates:

fastapi-forge start --use-example

--no-ui

Skip the web UI and generate your project directly from the terminal — perfect for headless environments or CLI-first workflows:

fastapi-forge start --no-ui

--from-yaml

Load a custom YAML configuration and either generate the project immediately (with --no-ui) or review and adjust it in the UI:

fastapi-forge start --from-yaml=~/path/to/config.yaml

🧑‍💻 Examples

Use an Example Template

fastapi-forge start --use-example

Generate a Project Without the UI

fastapi-forge start --no-ui

Generate a Project from a YAML Configuration

fastapi-forge start --from-yaml=~/Documents/project-config.yaml

Combine Options

Load a YAML config and skip the UI:

fastapi-forge start --from-yaml=~/Documents/project-config.yaml --no-ui

🧰 Using the Makefile

The generated project includes a Makefile to simplify common dev tasks:

Start the Application

make up

Run Tests

Tests are automatically generated based on your schema — no need to write them from scratch. Once the app is running (make up):

make test

Run Specific Tests

make test-filter filter="test_name"

Format and Lint Code

Keep your code clean and consistent:

make lint

📦 Database Migrations with Alembic

If you chose Alembic for migrations during project setup, these commands will help manage your database schema:

Generate a New Migration

make mig-gen name="add_users_table"

Apply All Migrations

make mig-head

Apply the Next Migration

make mig-up

Roll Back the Last Migration

make mig-down

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_forge-0.3.7.tar.gz (87.5 kB view details)

Uploaded Source

Built Distribution

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

fastapi_forge-0.3.7-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_forge-0.3.7.tar.gz.

File metadata

  • Download URL: fastapi_forge-0.3.7.tar.gz
  • Upload date:
  • Size: 87.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fastapi_forge-0.3.7.tar.gz
Algorithm Hash digest
SHA256 ad7fbf12ff1c020c205828d2d5b4aa9925121052b7c5a38ff8d6a111924aaf82
MD5 e6c858e9910a0e187db75527dd891f6c
BLAKE2b-256 876573e800331b77f55e2d443e35b39f660c76fcfaec9a6f070aa7acf4f03cb9

See more details on using hashes here.

File details

Details for the file fastapi_forge-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: fastapi_forge-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fastapi_forge-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 45681bd393768cd3a4c968a95f2b2573f540a3ab10da5eb7528ec4d1ba1b1c60
MD5 d1e8a4ecb58c736a2e576c73df406e02
BLAKE2b-256 6d094b169dff74f1cc924f0a51648c616f141018cb3c74c2ac88d9ef98a9c417

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