Skip to content

CPDataKit v0.5.0 - Scientific data contracts

Choose a tag to compare

@17636365690 17636365690 released this 02 Sep 06:20
· 2 commits to main since this release
1d68963

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 FIELD plots 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.