Intro
This project was created as a template for FastAPI applications.
What`s in the box?
- FastAPI as a base ASGI app
- Piccolo ORM for a database operations
- Piccolo Admin GUI for a convenient database management
- Hashicorp Vault integration for DB credentials (with auto-rotating), JWT secrets and other
- Custom
Accounting
CRUD application for managing - Users
- Roles
- Groups
- Permissions
- Security policies
- JWT autehntication
- API versioning
- PyDantic-based flexible configfile parcer (
toml
andyaml
formats supports) - Typer-based CLI management
- Prometheus endpoint based on Starlette exporter
- OpenTelemetry collector
- Request ID propagation for logger, Request and Response (injection to Headers)
- CI pipeline for linting and testing (with coverage)
Installation
We`re strongly reccomend to use Poetry
Create new virtual environment or enter to an existing one
poetry shell
Install all dependencies from pyproject.toml
poetry install
Run your app
python3 main.py run