Repository navigation
Stoner 0.12.0a1: pandas/xarray storage alpha
Pre-releaseThis 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.dataexposes the stored pandas DataFrame.ImageFile.imageandImageStack.stackexpose 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,ImageArrayandKerrArrayclasses are removed; useData,ImageFileandKerrImageFile. - New
Data.head()andData.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
whereare supported byData.curve_fit,ImageFile.meanandImageStack.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.condais 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.0a1is 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.