Architecture¶
benchmatrix has two main responsibilities:
- generate pytest benchmark matrices from implementations, cases, and metrics;
- parse pytest-benchmark JSON rows that carry benchmatrix metadata.
pytest-benchmark remains responsible for measurement. benchmatrix does not replace its calibration, timing, statistics, terminal reporting, or JSON export.
Package boundaries¶
bench_harness.pybuilds benchmark tests and invocation metadata.bench_results.pyparses and displays saved benchmark results.exceptions.pycontains package-specific exceptions._schema.pyis a private schema constant module shared by implementation code.__init__.pydefines the public package exports.
Design constraints¶
Metadata must stay strict-JSON-safe because it is serialized through pytest-benchmark output. Benchmark targets are synchronous only so the measured unit is one completed target call.
Extension point¶
The stable extension point is the public API exported by benchmatrix. Private
module structure can change when implementation details are simplified.