FastAPI Sync Async Starter Template
One FastAPI codebase showing SQLAlchemy 2.0 sync and async Postgres access patterns
This Poetry-managed template (fastapi-sync-async-starter on GitHub) demonstrates both psycopg2-backed sync and asyncpg-backed async sessions with SQLAlchemy 2.0, plus Pydantic v2, CORS, OpenAPI docs, and Redis-backed rate limiting (with simpler in-memory behavior for tests). Docker Compose brings up Postgres, Redis, and the API with multi-stage images; pytest, pytest-asyncio, coverage, and HTML reports are part of the documented workflow.
When it is useful
You are learning when to use sync vs async DB calls in FastAPI, you need a test-heavy skeleton with coverage reports, or you want a containerized baseline to extend. Configure .env and Poetry per the README.
What you can do
- Call parallel sync and async route examples and compare patterns in the router and session layers.
- Exercise rate-limit behaviors wired to Redis in production-like settings and memory in tests.
- Run
poetry run pytestor the Docker path that generates pytest and coverage HTML underreport/.
Limits
- Starter defaults are for education and bootstrapping; harden authz, secrets, and observability before customer traffic.
- Redis and Postgres operations still need your backup, migration, and sizing strategy.
- Performance depends on queries and infrastructure, not on the template name alone.







