Posts on Python — the language, the ecosystem, and the everyday craft. From modern features (type hints, dataclasses, structural pattern matching) to packaging tools (uv, poetry), virtual environments, async/await, and the corners of the standard library you’ll actually use in production.
Day-to-day uv recipes: workspaces, single-file scripts with deps, lockfile workflows, Docker patterns, CI integration, monorepo, and gotchas.
Picking an async database driver in Python 2026. asyncpg vs psycopg 3 async, MySQL aiomysql / asyncmy, SQLite aiosqlite, libsql for Turso, and the performance / feature tradeoffs.
Practical asyncio debugging: detect blocking calls, find task leaks, diagnose slow callbacks, use asyncio’s debug mode, and the patterns that catch bugs before production.
Production WebSocket patterns in FastAPI: connection management, auth, scaling beyond one process, broadcast via Redis Pub/Sub or NATS, and the gotchas that bite.
How to test FastAPI apps that survive: unit, integration with real Postgres, contract via OpenAPI, end-to-end, async-aware fixtures, and the patterns from production codebases.
What 3.13 brought, what’s experimental, and which features matter for production backend Python in 2026 — JIT, free-threaded mode, typing improvements, REPL.
Beyond the SQLAlchemy 2.0 basics: mapped types in depth, async sessions, hybrid properties, lazy/eager strategies, batched inserts, dataclass mixin, and the production patterns.
When to pick Django Ninja, DRF, or FastAPI. The strengths, the type-safety story, async maturity, and the team / project shape that fits each.
What changed in Python’s type system through 2024–2026 — PEP 695 type-parameter syntax, PEP 705 ReadOnly, TypedDict, Protocols, NewType, Self, and the patterns I keep reaching for in production.
Pydantic v2 in production. Model design, validators, serializers, settings, the strict mode, performance characteristics, FastAPI / SQLAlchemy patterns, and the migrations from v1.