CPDataKit v0.1.1 - Secure distribution and a five-minute path to value
CPDataKit v0.1.1 - Secure distribution and a five-minute path to value
This maintenance release prepares CPDataKit for secure, low-friction distribution without changing
its solver-neutral data contract or public Python API. It adds a deterministic five-minute
quickstart, clearer installation guidance, complete package links, and a scientifically scoped
social preview.
Validation now fails closed for malformed custom schemas and incompatible boolean or numeric
values. Per-record numeric arrays enforce integer and range constraints; duplicate detection safely
handles nested arrays and mappings; affine unit conversions preserve both scale and offset; and
malformed CPDataKit HDF5 tables and unsupported histogram fields return concise domain errors.
The PyPI workflow builds only from an existing semantic-version tag, verifies that the tag,
pyproject.toml, runtime version, citation metadata, changelog, and release notes agree, checks both
distributions with Twine, and publishes through short-lived OIDC credentials after an explicit
GitHub environment approval. No long-lived PyPI token is stored in the repository.
CPDataKit validates explicit schemas, units, provenance, and data-quality constraints. It does not
certify physical correctness, read ODB or DAMASK DADF5, run a solver or UMAT, or infer scientific
conventions. All bundled examples remain fixed-seed synthetic data.
Before publishing, the full Windows/Ubuntu Python 3.10-3.13 matrix passed alongside 51 local tests,
Ruff, package build, Twine checks, a clean wheel installation, and the quickstart smoke test.