Circular imports are partially initialized modules
Diagnose circular imports as order-sensitive access to incomplete module namespaces, then repair the dependency graph instead of shuffling lines.
Independent field notes / Vol. 01
Precise explanations of the machinery, patterns, and tradeoffs that make Python feel deceptively simple.
Read the cover storyThe index
5 notes, edited for signal.
Diagnose circular imports as order-sensitive access to incomplete module namespaces, then repair the dependency graph instead of shuffling lines.
Use distribution entry points for explicit plugin discovery, lazy loading, validation, conflict policy, testing, and operational visibility.
Design process workers around explicit values, importable callables, transfer costs, and start-method realities.
Design around behavior with Python data-model protocols, structural typing, narrow contracts, and honest runtime validation.
Choose a concurrency mechanism by locating blocked resources, ownership boundaries, and coordination costs.
Editorial policy
No listicles. No folklore. No just trust me abstractions.
Every note should leave you with a better model of the system, not just another snippet to paste.