fastapi-fastkit

<Open Source> Fast, easy-to-use starter kit for new users of Python and FastAPI

https://github.com/bnbong/fastapi-fastkit

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary

Keywords

application fastapi fastapi-sqlalchemy fastapi-template initializer mcp msa open-source orm postgresql pydantic pydantic-v2 python sqlalchemy-orm sqlmodel template-project uvicorn
Last synced: 4 months ago · JSON representation ·

Repository

<Open Source> Fast, easy-to-use starter kit for new users of Python and FastAPI

Basic Info
Statistics
  • Stars: 11
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 6
Topics
application fastapi fastapi-sqlalchemy fastapi-template initializer mcp msa open-source orm postgresql pydantic pydantic-v2 python sqlalchemy-orm sqlmodel template-project uvicorn
Created about 1 year ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security

README.md

FastAPI-fastkit

FastAPI-fastkit: Fast, easy-to-use starter kit for new users of Python and FastAPI

PyPI - Version GitHub Release


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-admin feature of Python Django
  • 🎨 Prettier CLI outputs : Beautiful CLI experience powered by rich library
  • 📋 Standards-based FastAPI project templates : All FastAPI-fastkit templates are based on Python standards and FastAPI's common use 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 at your Python environment.

console $ pip install FastAPI-fastkit

Usage

  • Global options
    • --help: Show help
    • --version: Show version
    • --debug/--no-debug: Toggle debug mode

Create a new FastAPI project

console 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

console 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

console fastkit addroute <project_name> <route_name> - What it does: Adds a new API route to the specified project

Run the development server

console fastkit runserver [OPTIONS] - What it does: Starts the uvicorn development server - Key options: - --host, --port, --reload/--no-reload, --workers

List templates

console fastkit list-templates

Delete a project

console fastkit deleteproject <project_name>

Documentation

For comprehensive guides and detailed usage instructions, visit our documentation:

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 1. **Fork and clone the repository:** ```bash git clone https://github.com/bnbong/FastAPI-fastkit.git cd FastAPI-fastkit ``` 2. **Set up development environment:** ```bash make dev-setup # Sets up everything you need ``` 3. **Run development checks:** ```bash 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](CONTRIBUTING.md)** - Comprehensive contribution guide - **[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)** - Project principles and community standards - **[SECURITY.md](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.

Owner

  • Name: 이준혁
  • Login: bnbong
  • Kind: user
  • Location: REPUBLIC OF KOREA
  • Company: Hanyang Univ. ERICA

Hanyang Univ. ERICA Software Dept. student

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: fastapi-fastkit
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Junhyeok
    family-names: Lee
    email: bbbong9@gmail.com
    affiliation: Hanyang Univ. ERICA
repository-code: 'https://github.com/bnbong/FastAPI-fastkit'
abstract: >-
  This project was created to speed up the configuration of
  the development environment needed to develop
  PostgreSQL-based web apps for new users of Python and
  FastAPI
keywords:
  - fastapi-fastkit
license: MIT

GitHub Events

Total
  • Create event: 12
  • Issues event: 2
  • Release event: 6
  • Watch event: 8
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 54
  • Pull request review comment event: 5
  • Pull request review event: 4
  • Pull request event: 8
Last Year
  • Create event: 12
  • Issues event: 2
  • Release event: 6
  • Watch event: 8
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 54
  • Pull request review comment event: 5
  • Pull request review event: 4
  • Pull request event: 8

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 47
  • Total Committers: 1
  • Avg Commits per committer: 47.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 47
  • Committers: 1
  • Avg Commits per committer: 47.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
bnbong b****9@g****m 47

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 minutes
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 minutes
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • github-actions[bot] (1)
Pull Request Authors
  • bnbong (4)
  • dependabot[bot] (2)
Top Labels
Issue Labels
bug (1) template-inspection (1) automated (1)
Pull Request Labels
template (6) enhancement (4) documentation (2) dependencies (2) python (2) bug (1)

Dependencies

.github/workflows/distribute.yml actions
  • actions/checkout v4 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
.github/workflows/test.yml actions
  • actions/checkout v4 composite
pyproject.toml pypi
  • black >=24.10.0
  • click >=8.1.7
  • isort >=5.13.2
  • mypy >=1.12.0
  • pre-commit >=4.0.1
  • pytest >=8.3.3
  • pytest-cov >=5.0.0
  • rich >=13.9.2
requirements.txt pypi
  • black ==24.10.0
  • cfgv ==3.4.0
  • click ==8.1.7
  • colorama ==0.4.6
  • coverage ==7.6.2
  • distlib ==0.3.8
  • filelock ==3.16.1
  • identify ==2.6.1
  • iniconfig ==2.0.0
  • markdown-it-py ==3.0.0
  • mdurl ==0.1.2
  • mypy-extensions ==1.0.0
  • nodeenv ==1.9.1
  • packaging ==24.1
  • pathspec ==0.12.1
  • platformdirs ==4.3.6
  • pluggy ==1.5.0
  • pre-commit ==4.0.1
  • pygments ==2.18.0
  • pytest ==8.3.3
  • pytest-cov ==5.0.0
  • pyyaml ==6.0.2
  • rich ==13.9.2
  • virtualenv ==20.26.6