A toolkit for building FastAPI projects with apps - internal and external pluggable apps
Project description
fastappkit
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5da32a23249508af8a495b3b45c64becf3cc0b850b389f3fad2d369e422e4711
|
|
| MD5 |
550d758f3b043c5a7521bf643d0c6e12
|
|
| BLAKE2b-256 |
38472f395780b0f37f8c65af466e18596c4fd257f1bab24b8ee2f9ed9aacb9e2
|
Provenance
The following attestation bundles were made for fastappkit-0.1.10.tar.gz:
Publisher:
publish.yml on vanylabs/fastappkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastappkit-0.1.10.tar.gz -
Subject digest:
5da32a23249508af8a495b3b45c64becf3cc0b850b389f3fad2d369e422e4711 - Sigstore transparency entry: 764640737
- Sigstore integration time:
-
Permalink:
vanylabs/fastappkit@31567f21b669776efe66dd8716138cc125c28f5a -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/vanylabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@31567f21b669776efe66dd8716138cc125c28f5a -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c1251c035d7cbf5485c7ac9c1f1c5f0107814642ce01acfb96527f030913bec
|
|
| MD5 |
c2215154b891d43b1dc0e727922edf17
|
|
| BLAKE2b-256 |
e44359ebc06e982d054f2771aac1c019353b21c7ffcfc5d3523c7bb1a955b05b
|
Provenance
The following attestation bundles were made for fastappkit-0.1.10-py3-none-any.whl:
Publisher:
publish.yml on vanylabs/fastappkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastappkit-0.1.10-py3-none-any.whl -
Subject digest:
3c1251c035d7cbf5485c7ac9c1f1c5f0107814642ce01acfb96527f030913bec - Sigstore transparency entry: 764640741
- Sigstore integration time:
-
Permalink:
vanylabs/fastappkit@31567f21b669776efe66dd8716138cc125c28f5a -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/vanylabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@31567f21b669776efe66dd8716138cc125c28f5a -
Trigger Event:
push
-
Statement type: