python architecture · by Adrian Benavides · August 3, 2026 · 5 min read
Use contextvars.ContextVar for cross-cutting concerns that almost every service needs, without threading them through every constructor. Covers per-task isolation, structlog and opentelemetry designs, sync-vs-async leaks, and the failure modes that show up in production.
python architecture · by Adrian Benavides · July 30, 2026 · 7 min read
Constructor-based dependency injection in Python: Composition Roots, pydantic-settings, and safe resource lifecycle management.
python architecture · by Adrian Benavides · July 24, 2026 · 10 min read
Import Linter enforces Python architectural boundaries at near-zero runtime cost. Benchmarked on three real OSS codebases (10k, 20k, 200k lines of Python).
python architecture · by Adrian Benavides · July 10, 2026 · 10 min read
Build decoupled, testable Python systems with Hexagonal Architecture. Covers ports, adapters, driven/driving roles, structural typing with Protocol, and the pitfalls of port proliferation, primitive obsession, and infrastructure leakage.
python architecture · by Adrian Benavides · July 2, 2026 · 12 min read
Apply DDD tactical patterns in Python with immutable value objects, aggregate roots, and bounded contexts (the modular monolith default, the modern tooling landscape, and when DDD is overkill).