Skip to main content

A toolkit for building FastAPI projects with apps - internal and external pluggable apps

Project description

fastappkit

PyPI version Python License: MIT

fastappkit is an open-source toolkit that brings Django-like app architecture to FastAPI. If you've ever wished FastAPI had a modular app system similar to Django, this is for you.

Why fastappkit?

Building large FastAPI applications often means either cramming everything into a single file or manually organizing modules without clear conventions. fastappkit solves this by introducing a structured app system where you can organize your code into logical, reusable components—both within your project and as installable packages.

Whether you're building a monolith that needs better organization or creating reusable components for multiple projects, fastappkit provides the structure and tooling to make it happen.

Who is this for?

  • FastAPI developers building applications that are outgrowing a single-file structure
  • Teams that need consistent project organization across multiple developers
  • Developers creating reusable FastAPI components they want to share
  • Anyone who appreciates Django's app system but prefers FastAPI's performance and modern Python features

What it does

fastappkit enables two types of apps:

  • Internal apps: Project-specific modules (like Django apps) that live in your apps/ directory
  • External apps: Reusable packages you can install via pip and plug into any fastappkit project

Both types get automatic router mounting, unified migration management, and validation to prevent conflicts. Internal apps share migrations; external apps keep theirs isolated.

Quick Start

# Install
pip install fastappkit

# Create a new project
fastappkit core new myproject
cd myproject

# Create an app
fastappkit app new blog

# Run migrations
fastappkit migrate all

# Start development server
fastappkit core dev

That's it. Your FastAPI app is running at http://127.0.0.1:8000 with routes mounted at /blog/.

Documentation

Full documentation is available at fastappkit.readthedocs.io.

Contributing

This is an open-source project, and contributions are welcome. See CONTRIBUTING.md for guidelines on how to contribute.

License

This project is licensed under the MIT License. See LICENSE for details.

Support

Acknowledgments

Inspired by Django's app system. Built with FastAPI, SQLAlchemy, Alembic, and Typer.

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

fastappkit-0.1.10.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

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

fastappkit-0.1.10-py3-none-any.whl (72.7 kB view details)

Uploaded Python 3

File details

Details for the file fastappkit-0.1.10.tar.gz.

File metadata

  • Download URL: fastappkit-0.1.10.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastappkit-0.1.10.tar.gz
Algorithm Hash digest
SHA256 5da32a23249508af8a495b3b45c64becf3cc0b850b389f3fad2d369e422e4711
MD5 550d758f3b043c5a7521bf643d0c6e12
BLAKE2b-256 38472f395780b0f37f8c65af466e18596c4fd257f1bab24b8ee2f9ed9aacb9e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastappkit-0.1.10.tar.gz:

Publisher: publish.yml on vanylabs/fastappkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fastappkit-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: fastappkit-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 72.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fastappkit-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 3c1251c035d7cbf5485c7ac9c1f1c5f0107814642ce01acfb96527f030913bec
MD5 c2215154b891d43b1dc0e727922edf17
BLAKE2b-256 e44359ebc06e982d054f2771aac1c019353b21c7ffcfc5d3523c7bb1a955b05b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastappkit-0.1.10-py3-none-any.whl:

Publisher: publish.yml on vanylabs/fastappkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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