python-data-shapes

Installation
SKILL.md

Python Data Shapes

Use this when the question is which container should carry a piece of domain data and how it should cross wire boundaries.

Working stance

  • Pick the lightest container that carries the invariants you need.
  • Domain objects belong in immutable, slotted containers; wire payloads belong in validated schema types; dictionaries belong only at serialization boundaries.
  • Treat construction as the only place where invariants are checked; trust the type elsewhere.
  • For JSON/MessagePack/YAML/TOML, parse to a schema type at the boundary and never let the raw dict leak inward.

Decision surface

Installs
1
First Seen
Jun 21, 2026