Fast, easy-to-use starter kit for new users of Python and FastAPI
Project description
FastAPI-fastkit: Fast, easy-to-use starter kit for new users of Python and FastAPI
This project was created to speed up the configuration of the development environment needed to develop Python-based web apps for new users of Python and FastAPI.
This project was inspired by the SpringBoot initializer & Python Django's django-admin CLI operation.
Key Features
- ⚡ Immediate FastAPI project creation : Super-fast FastAPI workspace & project creation via CLI, inspired by
django-adminfeature of Python Django - 🎨 Prettier CLI output : Beautiful CLI experience powered by rich library
- 📋 Standards-based FastAPI project templates : Templates follow Python standards and common FastAPI patterns.
- 🔍 Automated template quality assurance : Weekly automated testing ensures all templates remain functional and up-to-date
- 🚀 Multiple project templates : Choose from various pre-configured templates for different use cases (async CRUD, Docker, PostgreSQL, etc.)
- 📦 Multiple package manager support : Choose your preferred Python package manager (pip, uv, pdm, poetry) for dependency management
Installation
Install FastAPI-fastkit in your Python environment.
$ pip install FastAPI-fastkit
Usage
- Global options
--help: Show help--version: Show version--debug/--no-debug: Toggle debug mode
Create a new FastAPI project
fastkit init [OPTIONS]
- What it does: Scaffolds an empty FastAPI project, creates a virtual environment, installs dependencies
- Key options:
--project-name,--author,--author-email,--description--package-manager[pip|uv|pdm|poetry]- Stack selection:
minimal|standard|full(interactive)
Create a project from a template
fastkit startdemo [TEMPLATE] [OPTIONS]
- What it does: Creates a project from a template (e.g.,
fastapi-default) and installs dependencies - Key options:
--project-name,--author,--author-email,--description--package-manager[pip|uv|pdm|poetry]
- Tip: List available templates with
fastkit list-templates
Add a new route
fastkit addroute <project_name> <route_name>
- What it does: Adds a new API route to the specified project
Run the development server
fastkit runserver [OPTIONS]
- What it does: Starts the uvicorn development server
- Key options:
--host,--port,--reload/--no-reload,--workers
List templates
fastkit list-templates
Delete a project
fastkit deleteproject <project_name>
Documentation
For comprehensive guides and detailed usage instructions, visit our documentation:
- 📚 User Guide - Detailed installation and usage guides
- 🎯 Tutorial - Step-by-step tutorials for beginners
- 📖 CLI Reference - Complete command reference
- 🔍 Template Quality Assurance - Automated testing and quality standards
Contributing
We welcome contributions from the community! FastAPI-fastkit is designed to help newcomers to Python and FastAPI, and your contributions can make a significant impact.
Contributing Guide
Quick Start for Contributors
-
Fork and clone the repository:
git clone https://github.com/bnbong/FastAPI-fastkit.git cd FastAPI-fastkit
-
Set up development environment:
make dev-setup # Sets up everything you need
-
Run development checks:
make dev-check # Format, lint, and test
What You Can Contribute
- 🚀 New FastAPI templates - Add templates for different use cases
- 🐛 Bug fixes - Help us improve stability and reliability
- 📚 Documentation - Improve guides, examples, and translations
- 🧪 Tests - Increase test coverage and add integration tests
- 💡 Features - Suggest and implement new CLI features
Contribution Guidelines
For detailed contribution guidelines, development setup, and project standards, please refer to:
- CONTRIBUTING.md - Comprehensive contribution guide
- CODE_OF_CONDUCT.md - Project principles and community standards
- SECURITY.md - Security guidelines and reporting
Significance of FastAPI-fastkit
FastAPI-fastkit aims to provide a fast and easy-to-use starter kit for new users of Python and FastAPI.
This idea was initiated with the aim of helping FastAPI newcomers learn from the beginning, which aligns with the production significance of the FastAPI CLI package added with the FastAPI 0.111.0 version update.
As someone who has been using and loving FastAPI for a long time, I wanted to develop a project that could help fulfill the wonderful motivation that FastAPI developer tiangolo has expressed.
FastAPI-fastkit bridges the gap between getting started and building production-ready applications by providing:
- Immediate productivity for newcomers who might be overwhelmed by setup complexity
- Best practices built into every template, helping users learn proper FastAPI patterns
- Scalable foundations that grow with users as they advance from beginners to experts
- Community-driven templates that reflect real-world FastAPI usage patterns
License
This project is licensed under the MIT License - see the LICENSE file for details.
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 fastapi_fastkit-1.2.0.tar.gz.
File metadata
- Download URL: fastapi_fastkit-1.2.0.tar.gz
- Upload date:
- Size: 164.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
174eae6d8b0ccb88e47b5c67020a44cb6c98676b54ee23f5c06f2d7906cef603
|
|
| MD5 |
3b03655f068338d65d4ea6c4f4f4bb83
|
|
| BLAKE2b-256 |
b9303cef7a7f20dd668105b20cf40248fbfd45a951022cacba8e8f7718fa18ab
|
Provenance
The following attestation bundles were made for fastapi_fastkit-1.2.0.tar.gz:
Publisher:
distribute.yml on bnbong/FastAPI-fastkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastapi_fastkit-1.2.0.tar.gz -
Subject digest:
174eae6d8b0ccb88e47b5c67020a44cb6c98676b54ee23f5c06f2d7906cef603 - Sigstore transparency entry: 730470235
- Sigstore integration time:
-
Permalink:
bnbong/FastAPI-fastkit@cf756604362db0bab6618017940c86e2956c4b3e -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/bnbong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
distribute.yml@cf756604362db0bab6618017940c86e2956c4b3e -
Trigger Event:
release
-
Statement type:
File details
Details for the file fastapi_fastkit-1.2.0-py3-none-any.whl.
File metadata
- Download URL: fastapi_fastkit-1.2.0-py3-none-any.whl
- Upload date:
- Size: 198.5 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 |
1a58f1b6eaa5696d2e6f416870d0499068004d2d56e6d66feecbe01dd3a4b07e
|
|
| MD5 |
73e8dbea6ce8cdbaeb92e4af93aa122f
|
|
| BLAKE2b-256 |
9c3246cfd1db7d19220b30dc752ff758cc46d96686cb7d89c5548161cefd4813
|
Provenance
The following attestation bundles were made for fastapi_fastkit-1.2.0-py3-none-any.whl:
Publisher:
distribute.yml on bnbong/FastAPI-fastkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastapi_fastkit-1.2.0-py3-none-any.whl -
Subject digest:
1a58f1b6eaa5696d2e6f416870d0499068004d2d56e6d66feecbe01dd3a4b07e - Sigstore transparency entry: 730470236
- Sigstore integration time:
-
Permalink:
bnbong/FastAPI-fastkit@cf756604362db0bab6618017940c86e2956c4b3e -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/bnbong
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
distribute.yml@cf756604362db0bab6618017940c86e2956c4b3e -
Trigger Event:
release
-
Statement type: