Skip to content

Stoner 0.12.0a2: plotting accessor alpha

Pre-release
Pre-release

Choose a tag to compare

@gb119 gb119 released this 18 Oct 20:28

This second alpha introduces the plotting redesign while retaining the pandas/xarray storage model from 0.12.0a1. It contains breaking plotting API changes and is intended for testing before the stable 0.12 release.

Plotting API changes

  • Data.plot is now a callable accessor. ax = data.plot() retains scientific column-role and uncertainty inference; named methods such as data.plot.line(), surface(), vector3d(), hist() and kde() select an explicit plot type.
  • Drawing returns the primary Matplotlib Axes. Showing and saving are explicit, and native Axes/Figure methods provide formatting and output.
  • Required stonerplots 1.9.6 or newer supplies styles, tick formatters, panels, stacked plots, double axes, insets and saving contexts through the normal from Stoner import Data import.
  • PlotFolder.plot() paginates plots and returns primary Axes in member order. Named bulk drawing is available through folder.each.plot.line(...) and runs serially.
  • Legacy top-level plotting/layout methods, PlotMixin, template classes and broad pyplot/Axes/Figure proxies have been removed. The unused Mayavi extra has also been removed.
  • The plotting guide, migration table, runnable examples and retained plot cache have been updated together.

Scan performance and documentation

Attocube and MAXIMUS frame lookup no longer exports pixels and exclusion masks merely to expose scan metadata. Regression tests preserve stable frame identity, live common/local metadata, presentation attributes, masks, fill values and calibration. No cache or loader-identification change was introduced.

Read the Docs now initialises headless Qt and Matplotlib before importing Stoner. Fitting examples use bundled DejaVu Sans for portable mathematical annotations.

Requirements and installation

Python 3.12 or newer is required; supported testing covers Python 3.12–3.14. The pandas/xarray storage requirements are unchanged. stonerplots >=1.9.6 is now required.

python -m pip install "Stoner==0.12.0a2"
conda install -c phygbu -c conda-forge "stoner=0.12.0a2"

Validation

Release source: f995d6068eb7ecacc9a679bfa22b892769984dba on devel.

The full suite passed 1,331 tests in every Linux/macOS matrix cell and on local Windows. Lower dependencies passed 1,330 tests with one expected pandas-version skip. The macOS Attocube scan test passed in 51.744 seconds. Installed-distribution jobs and final test-result publishing passed. The local cached documentation audit reported 62 reviewed warnings, zero unexpected warnings and no lost API entries.

The initial macOS environment setup encountered Conda-forge download timeouts before Stoner was installed; the failed job was retried on unchanged source. Local policy/package checks, the full Windows suite, the documentation warning/API-inventory audit and visual release-documentation review supplement the hosted checks.

Known format limits remain: MAXIMUS readers cover the first region; complete multi-region support and additional SPC multiple-x/y layouts require representative exports and authoritative specifications. Existing reviewed documentation warnings and deferred code-complexity work are non-blocking for this alpha.

See the release notes and plotting migration guide for details.

Verified publication

  • PyPI 0.12.0a2 has the wheel and sdist. Their version, Python >=3.12 and stonerplots >=1.9.6 metadata were verified. The published wheel passed the full installed-package smoke checks outside the checkout.
  • Conda publishes noarch/stoner-0.12.0a2-py_0.conda; its channel repodata entry and installed import/version test were verified. The initial deployment silently produced no archive because its solver omitted phygbu. The corrected Conda-only deployment built and tested the original release tag, then uploaded the archive. PyPI was skipped and the tag was unchanged.
  • Read the Docs build 35227451 passed on the exact release SHA. The public tagged documentation, release notes, plotting guide and cached images were verified in the browser.
  • Zenodo DOI 10.5281/zenodo.23458853 archives this release.

Automatic tag validation also passed 1,331 tests in every Linux/macOS matrix cell. The deployment-only workflow fix subsequently passed the full matrix, lower dependencies and installed-distribution checks.