Skip to content

Stoner 0.12.0a1: pandas/xarray storage alpha

Pre-release
Pre-release

Choose a tag to compare

@gb119 gb119 released this 17 Oct 22:47

This is the first alpha of Stoner's pandas/xarray storage migration. It requires Python 3.12 or newer, pandas 2.2 or newer and xarray 2024.10 or newer.

  • Data.data exposes the stored pandas DataFrame. ImageFile.image and ImageStack.stack expose xarray Datasets, with explicit exclusions and calibrated coordinates.
  • Use to_numpy() for detached masked numerical exports, export_storage() for lossless state including typed metadata, and owner editing contexts for transactional changes. Native backend computations do not automatically apply Stoner exclusions.
  • The legacy DataArray, ImageArray and KerrArray classes are removed; use Data, ImageFile and KerrImageFile.
  • New Data.head() and Data.tail() previews preserve scientific state and return independent Stoner objects. Compatible numeric sorting delegates to pandas; uniqueness retains NumPy's masked result contract.
  • Operation selections through where are supported by Data.curve_fit, ImageFile.mean and ImageStack.average. Unsupported transforms reject that keyword explicitly.

Read the migration notes in doc/UserGuide/upgrade.rst before updating existing scripts. Reacquire native references after owner structural changes, and use owner or transaction APIs for frame/crop write-back.

Validation covers Windows development tests, Linux Python 3.12–3.14 and macOS Python 3.14, supported lower dependency lines, separate wheel/sdist installations, cached documentation and scientific regression/performance checks. Complexity cleanup remains follow-up work for this alpha; this release does not claim new instrument/facility layout coverage or hardware validation.

Release verification

The tag points to 4d3187a3611b6812212751aeb30a541e5b1c3e8d from devel.

  • CI packaging and publication: both PyPI and Conda deployment jobs passed. Conda's installed import/version test passed before upload.
  • PyPI 0.12.0a1: wheel and source archive are published; the downloaded wheel passed installed-package smoke checks outside the source checkout, using the verified Python 3.14 dependency environment.
  • Conda package: noarch/stoner-0.12.0a1-py_1.conda is published with Python >=3.12 and the reviewed dependency bounds.
  • Release documentation build: passed, with 61 reviewed warnings and zero unexpected warnings.
  • Zenodo archive and DOI: version v0.12.0a1 is archived.

The supported pre-release matrix passed 1,099 tests in each Linux Python 3.12–3.14 and macOS Python 3.14 cell. Lower dependencies passed 1,098 tests with one existing pandas lifecycle skip. See the validation matrix, lower-dependency run and strict archive/installed-distribution checks.

Documentation follow-up: Read the Docs detected the tag but has not activated/built that version. Its versioned URL is not available yet; project maintainers need to activate v0.12.0a1 in Read the Docs. The tagged migration notes remain available in the repository.