Skip to content

v0.19.0: Release 0.19.0

Choose a tag to compare

@amorison amorison released this 13 Apr 19:24
· 160 commits to master since this release
Breaking changes:
- StagyyData constructor requires a Path
- there is no longer a global configuration directory
- remove global `stagpy.conf`, configuration can now be passed
  directly where relevant; the end-goal here is to offer an API
  that doesn't depend on a configuration at all but instead has
  to be fed the relevant parameters
- remove `StagyyData.scale` method and `scaling.dimensional` config
  option whose behaviour to automatically make variables dimensional
  was unreliable; `stagpy.dimensions.Scales.make_dimensional` can be
  used in scripts to leverage the existing logic
- rename `_step` module to `step`, and similarly remove underscore in
  front of several classes that are effectively part of the public API
  (`Refstate`, `StepsView`, `Tseries`, `RprofsAveraged`, `Steps`,
  `Snaps`, `Geometry`, `Fields`, `Tracers`, `Rprofs`)
- migrate documentation to https://stagpython.github.io/StagPy/
- remove `StagyyData.walk`

Improvements:
- major performance improvements in time and space when reading hdf5
  output by caching XDMF content and parsing those iteratively
- new command `stagy completions` produces shell completion scripts
- migrate documentation from Sphinx to MkDocs, along with various
  documentation improvements
- support for magic==11 in legacy binary files
- explicitly error out when magic number is too recent in legacy
  binary files
- `STAGPY_DEBUG` is enabled as long as it is set regardless of its value
- tighten a few type annotations
- stop using a few deprecated APIs

Internals:
- add workflows to deploy docs on github-pages and wheels on PyPI
- use ruff to format code instead of black and isort
- use ruff for code linting
- bump mypy, pytest, pytest-cov versions
- move pytest config to pyproject.toml