Toolset · Pydantic, SQLAlchemy, async
Python / FastAPI
- Python
- FastAPI
- Pydantic
FastAPI is our default Python backend: async, typed, and self-documenting. Pydantic for validation, SQLAlchemy for data, and a real task queue for background work.
Where two tools compete, the one marked our default is what we reach for.
Packaging & deps
2 toolsFramework & DI
1 toolAsync web framework with typed request/response models and OpenAPI out of the box. Dependency injection is built in via Depends. Our default.
def get_db() -> Session: ... # a dependency
def get_repo(db: Session = Depends(get_db)) -> UserRepository:
return UserRepository(db)
@app.get("/users/{id}")
async def read_user(id: str, repo: UserRepository = Depends(get_repo)):
return await repo.find(id)Validation & settings
1 toolData validation and settings via type hints — parse at the boundary. Our default.
ORM & migrations
2 toolsThe definitive Python ORM/toolkit with a modern async API. Mind session-per-request and isolation. Our default.
Migrations for SQLAlchemy.
Async DB & HTTP
2 toolsTask queue
2 toolsTesting & serving
2 toolsTesting with httpx AsyncClient for API tests. Our default.
ASGI server; run Uvicorn workers under Gunicorn in production.
Monitoring & observability
4 toolsError and performance monitoring with a FastAPI/Starlette integration. Our default for errors.
Vendor-neutral traces and metrics; auto-instrument FastAPI, SQLAlchemy, and httpx, export anywhere. Our default for tracing.
One-line Prometheus metrics endpoint for FastAPI — request latency, counts, and status codes.
Structured, context-aware logging that ships clean JSON to your log pipeline.
CI/CD
4 toolsuv sync, run pytest, then build the image. Our default CI.
Containerise with a slim image for a reproducible deploy. Our default.
Push-to-deploy container hosting for the FastAPI service.
Run ruff and formatters on commit and in CI — fail fast on style/lint.
Linting & formatting
3 toolsBuilding on Python / FastAPI?
We ship production Python / FastAPIwith exactly this stack. Tell us what you're building.
Start a conversation