- Python 3.14
- uv
- Pyright
- Poe task runner
- Database Setup (SQLite by default)
- Alembic Migrations
- CLI Tool
uv run poe cli -hadd_packagecommand: bootstraps a new Python package with CRUD operations and tests. See source for details
- Generic SQLAlchemy async service
- Package boundaries:
todo_api/coreholds database, application exceptions, logging, and observability;todo_api/apiholds the FastAPI/REST adapter (routers, schemas, dependencies, middleware, and HTTP error handling). - Session-based Authentication: Integrated with FastAPI dependency injection system
- User Management
- Tests setup: Includes database session management and authentication fixtures
- Github Actions runs
lint,typechecktasks and tests
Seed data for tests:
Use seed_db fixture in tests/fixtures/database.py to add seed data for your tests
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.