finds.dev← search

// the find

Aeternalis-Ingenium/FastAPI-Backend-Template

★ 866 · Python · GPL-3.0 · updated Jun 2026

A backend project template with FastAPI, PostgreSQL with asynchronous SQLAlchemy 2.0, Alembic for asynchronous database migration, and Docker.

A FastAPI + async SQLAlchemy 2.0 + Alembic starter template with Docker, JWT auth, and a full CI pipeline wired up. Aimed at teams who want to skip the boilerplate of a production-ish Python backend and start from something already shaped. The account/auth scaffold gives you just enough to build on without being a full framework.

1. Async-first throughout — SQLAlchemy 2.0 async sessions, asyncpg driver, async Alembic env.py — not bolted on as an afterthought. 2. CI is actually complete: lint (black/isort/mypy), test with coverage, Codecov reporting, and pre-commit hooks all wired together in one workflow file. 3. Settings split across dev/staging/prod classes with a manager for environment-based dispatch — better than the single flat config most templates ship. 4. Dependency injection for DB sessions and repositories is done properly through FastAPI's DI system rather than globals or middleware hacks.

1. python-jose for JWT is unmaintained and has known vulnerabilities; any real project should swap it for PyJWT or authlib before shipping. 2. Test coverage is nearly empty — the test suite has two smoke tests that check the app initializes. The integration_tests/ and security_tests/ directories exist but are hollow, so you're inheriting the scaffolding of a test suite without the tests. 3. Last substantive commit was in 2022 despite the recent push date; the dependency versions in requirements.txt are pinned to that era and will need auditing before use. 4. No rate limiting, no request validation beyond Pydantic schemas, and no CORS configuration — the template is not production-ready as-is, which is fine, but the README doesn't flag this clearly enough.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →