Skip to content

csemx 0.2.0

Latest

Choose a tag to compare

@alexkjames alexkjames released this 13 Aug 19:54

Format 0.2, a beta minor release. Per spec §12, beta readers accept only the exact format version they implement, so 0.1 bundles must be re-exported as 0.2.

Format changes (normative)

  • NaN errors on present data (§9, §3.8, §3.12). A present datum may now carry NaN in both err_real and err_imag, meaning the producer delivered no uncertainty estimates — the honest representation for acquisition-contractor processing chains that report responses without uncertainties. Errors are pairwise all-or-nothing: one finite and one NaN is invalid, and a missing datum still requires NaN errors. NaN errors are a statement of fact, not a quality judgment (use = 0 remains the quality flag), and producers must not fabricate errors to satisfy consumers; a consumer that needs uncertainties applies its own error model or floors. For present DC data, err_imag = 0 is required only when errors are delivered.
  • Stricter bundle root-directory name (§2). The top-level directory name must start with a letter, digit, or underscore — excluding ., .., hidden directories, and option-like --prefixed names — and must not end with a dot (stripped by Windows). The charset is unchanged.

Rationale for both changes is recorded in csemx-rationale.md.

Tooling and metadata

  • Validator: the scalar reference and the streamed CSV fast path implement the new rules in lockstep, cross-checked by parity tests, with new coverage for NaN-error present rows (including DC), mixed-error rows, and the root-name rule.
  • Install with pip install csemx==0.2.0; optional extras via pip install "csemx[full]==0.2.0".
  • Citation metadata now credits Kerry Key (ORCID 0000-0003-1169-6683) and Alexander James, and carries the Zenodo concept DOI 10.5281/zenodo.21924335.