worldworm / copier-fastapi

Copier template for fastapi projects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ“‹ copier-fastapi

Copier template for fastapi projects.

GitHub repo stars License GitHub last commit (main) GitHub release GitHub commits since latest release Copier supported version

Features

  • πŸš€ Basic fastapi setup
  • πŸ“… API versioning using fastapi-versionizer
  • 🚦 Pre-defined HTTP status code error models
  • πŸ” Sorting and filtering query dependencies
  • πŸ“š Pagination model with built-in page calculation
  • πŸ“¦ Poetry setup with a pre-defined pyproject.toml
  • πŸ” Continuous integration (CI) pipelines for Github Actions and GitLab CI/CD
  • 🐳 Docker support with build and publish pipelines
  • βš™οΈ Settings management using pydantic-settings
  • πŸ—„οΈ Database support with sqlmodel and mysql, postgres or sqlite configuration
  • ▢️ alembic database migrations
  • πŸƒ poethepoet task runner
  • πŸͺ pre-commit hooks
  • πŸ” pylint code linter
  • 🏁 mypy static type checker
  • πŸ§ͺ pytest unit tests
  • πŸ›‘οΈ bandit code security check
  • 🎨 autopep8 and pydocstringformatter code formatter and styling
  • πŸ†š VSCode configuration

Requirements

First install copier:
(from the official installation documentation)

pip install copier

Usage

Make sure the requirements are met, then:

copier copy --trust "https://github.com/worldworm/copier-fastapi.git" .

Update

To update a template after creating a project, run:

copier update --trust -a .project/.copier-answers.fastapi.yml .

Explore more Copier templates

In addition to this template, there are a number of other Copier templates available. For an overview of all available templates, visit the Templates Showcase repository.


Β© worldworm 2023-2024
Licensed under MIT

About

Copier template for fastapi projects.

License:MIT License


Languages

Language:Jinja 88.8%Language:Python 8.4%Language:Mako 2.8%