v0.20.3
Hypothesis property-based tests (test-only)
Adds property-based testing infrastructure (dev-only hypothesis dependency). No library code changes — the published wheel is functionally identical to v0.20.2.
- Round-trip coverage (
tests/test_property_roundtrip.py): auto-discovers everyArrowSerializableDataclasssubclass (51 today) and assertsdeserialize(serialize(x)) == x, building a strategy per class from its annotations + resolvedARROW_SCHEMAso integer widths, decimal scale, and temporal units are respected. New dataclasses are covered automatically; unmodelled field shapes skip with a reason. - shm allocator stateful machine (
tests/test_property_shm.py): aRuleBasedStateMachinedrives randomallocate/freesequences against the first-fitShmAllocatorplus a Python model, asserting the safety invariants every step — no overlap, in-bounds, sorted, header count consistent, and "allocate returns None only when no gap fits."
Both run in ~2.5s at committed settings and pass mypy strict + ruff.
Full diff: v0.20.2...v0.20.3