Skip to content

Module Dependency Map

Page Maps

graph LR
  family["Python Programming"]
  program["Python Meta-Programming"]
  section["Reference"]
  page["Module Dependency Map"]
  capstone["Capstone evidence"]

  family --> program --> section --> page
  page -.applies in.-> capstone
flowchart LR
  orient["Orient on the page map"] --> read["Read the main claim and examples"]
  read --> inspect["Inspect the related code, proof, or capstone surface"]
  inspect --> verify["Run or review the verification path"]
  verify --> apply["Apply the idea back to the module and capstone"]

Use this page when you remember a metaprogramming mechanism but not where it sits in the course's escalation order. The goal is to keep higher-power tools attached to the lower power tools they are supposed to replace only when necessary.

Main sequence

graph TD
  m01["01 Runtime Objects and the Object Model"]
  m02["02 Runtime Observation and Inspection"]
  m03["03 Signatures, Provenance, and Runtime Evidence"]
  m04["04 Function Wrappers and Transparent Decorators"]
  m05["05 Decorator Design, Policies, and Typing"]
  m06["06 Class Customization Before Metaclasses"]
  m07["07 Descriptors, Lookup, and Attribute Control"]
  m08["08 Descriptor Systems and Validation Framework Design"]
  m09["09 Metaclass Design and Class Creation"]
  m10["10 Runtime Governance and Mastery Review"]

  m01 --> m02 --> m03 --> m04 --> m05
  m03 --> m06 --> m07 --> m08 --> m09 --> m10
  m05 --> m10
  m08 --> m10
  m09 --> m10

Why the sequence looks like this

Module Depends most on Reason
01 none the object model is the floor beneath every later runtime technique
02 01 observation should come before mutation or transformation
03 01-02 provenance and signature discipline depend on knowing what can be inspected honestly
04 02-03 wrappers only deserve trust if runtime evidence survives them
05 04 decorator policy is a design problem after transparent wrapping is already clear
06 01-05 lower-power class customization should be exhausted before metaclass pressure appears
07 01-06 descriptor behavior relies on the earlier object and lookup model
08 06-07 descriptor systems are safer after single-descriptor behavior is already legible
09 06-08 metaclasses belong late because class-creation invariants are the strongest escalation
10 all earlier modules governance review requires the whole power ladder in view

Fastest safe paths

  • new to metaprogramming: read Modules 01 through 10 in order
  • working maintainer: start with Modules 03, 04, 07, and 09, then backfill when the lower-power alternative is unclear
  • runtime steward: start with Modules 05, 08, 09, and 10, then revisit earlier modules when transparency or blast radius questions appear