A monorepo of Python FastAPI projects — from a reusable production starter template to a domain-specific bioinformatics service.
template/ — FastAPI Starter Template
A production-minded, reusable FastAPI starter kit designed to bootstrap new API services with minimal setup. Copy the folder, rename a few values, and start building.
Highlights:
- Multi-file app architecture following FastAPI's "bigger applications" pattern
- Versioned routing (
/api/v1), health & readiness endpoints - Centralized error handling, structured logging, CORS middleware
- API key security example with
X-API-Keydependency injection - In-memory CRUD example for
items(swap in a real DB when ready) - Pydantic v2 schemas for all request and response shapes
- Docker + Docker Compose setup with proper layer caching
- Full test suite (
pytest+httpx) with 89% coverage - Code quality tooling:
ruff,black,mypy - Render deployment blueprint (
render.yaml) - Helper scripts in
scripts/for dev, test, lint, format, and Docker
bioAPI/ — Bioinformatics REST API
A production-ready FastAPI service for common bioinformatics workflows. Handles file parsing, sequence manipulation, format conversions, and mutation-aware consensus generation — natively in Python via Biopython.
Highlights:
- Sequence Utilities: reverse complement, transcribe, translate, GC content, k-mers, motif search
- File Statistics: upload
FASTA,FASTQ,GenBank,BAM,VCF,GFF/GTFand get rich metadata - Cross-file Extraction: GFF + FASTA overlay to slice genomic features by coordinates
- VCF Support: extract SNPs/INDELs, or inject variants into a reference FASTA for consensus generation
- Format Conversion: convert between standard bioinformatics file types
- Dockerized with
pysamC-binding support, CORS, API key auth - Auto-generated Swagger UI at
/docsand ReDoc at/redoc
| Tool | Purpose |
|---|---|
| FastAPI | Web framework & OpenAPI docs |
| Pydantic v2 | Data validation & settings |
| Uvicorn | ASGI server |
| Biopython | Bioinformatics operations (bioAPI) |
| pytest | Testing |
| ruff | Linting |
| black | Formatting |
| mypy | Static type checking |
| Docker | Containerization |