Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

FastAPI REST API Template

  • Python 3.14
  • uv
  • Pyright
  • Poe task runner
  • Database Setup (PostgreSQL by default)
  • Alembic Migrations
  • CLI Tool
    • uv run poe cli -h
    • add_package command: bootstraps a new Python package with CRUD operations and tests. See source for details
  • Generic SQLAlchemy async service
  • OpenTelemetry instrumentation: Configurable with OTEL_ENABLED
  • Prometheus metrics: Configurable with PROMETHEUS_ENABLED
  • Session-based Authentication: Integrated with FastAPI dependency injection system
  • User Management
  • Tests setup: Includes database session management and authentication fixtures
  • Github Actions runs lint, typecheck tasks and tests

Seed data for tests:

Use seed_db fixture in tests/fixtures/database.py to add seed data for your tests

Renaming the Project

To rename the project from todo_api to a custom name, use the included script.

Usage:

./rename_project.sh <new-project-name>

The script will rename the directory, update imports, and modify pyproject.toml. It is intended for one-time use.

Build, Start, Run tests:

docker compose -f docker/compose.yaml -f docker/compose.dev.yaml build

docker compose -f docker/compose.yaml -f docker/compose.dev.yaml up --watch

docker exec -it todo-api poe test

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages