CPDataKit v0.5.0 - Scientific data contracts
CPDataKit v0.5.0 - Scientific data contracts beyond the first CP profiles
CPDataKit 0.5.0 generalizes the existing schema, validation, HDF5, inspection, and reporting path
for scientific and engineering data while retaining crystal plasticity as the first supported
vertical.
Highlights
- External JSON schemas can use non-built-in profile names.
- Custom profiles pass validation, normalization, HDF5 conversion, inspection, reports, report
comparison, and CLI workflows. cpdatakit plot --kind xy --x FIELD --y FIELDplots any two declared scalar numeric fields.- The thermal-cycle example demonstrates explicit minute-to-second and Celsius-to-kelvin mappings
without crystal-plasticity fields. - Adapter classes can publish stable identity, format, capability, and detection metadata through
the new in-process registry.
Compatibility
The Dataset object, Python import path, existing CLI commands, built-in curve, point, and
field2d profiles, DAMASK adapter, and CPDataKit HDF5 format 1.0 remain available. Legacy built-in
HDF5 1.0 files without schema snapshots remain readable.
New HDF5 files for non-built-in profiles must carry the canonical embedded schema and matching
SHA-256 digest. This keeps custom files self-describing and fails closed when their contract is
missing. Canonical JSON and SHA-256 values for the three built-in schemas remain unchanged.
Generic summaries no longer add grain and phase concepts to custom profiles. Built-in profiles keep
their existing unique_grains and unique_phases output.
Validation scope
Validation still reports conformance to the declared structure. It does not establish physical
correctness, physical equivalence, or scientific interpretation. Field mappings and unit
conversions remain explicit.
Verification
The Windows Python 3.12.10 release candidate passed 252 tests with 87.98% coverage. Ruff lint and
format checks passed. The 100,000- and 1,000,000-record HDF5 diagnostics returned exact record
counts for full, selected-field, and chunked reads. Fixed-seed sample regeneration produced matching
SHA-256 hashes. Reproducible build, Twine, clean-wheel, and distribution-content results are checked
again from the release commit before publication.