Releases: scikit-hep/uhi
Version 1.0.0
This release adds a major new UHI feature: serialization. HDF5, ZIP, and JSON are supported. We also now providing a testing helper, to assist in developing libraries that want to comply with UHI. Python 3.9+ is required, and 3.14 is supported. We now ship nightlies to the Scientific-Python nightly wheels. See the release post for more info!
What's Changed
Serialization
- feat: add writer_info field by @henryiii in #154
- feat: remove data nesting by @henryiii in #155
- feat: add read/write support by @henryiii in #167
- feat: add uhi_schema, lots of fixes by @henryiii in #185
- feat: unserializable metadata by @henryiii in #186
- feat: upstreaming a bit from boost-histogram/hist by @henryiii in #188
- feat: add sparse histogram support by @henryiii in #194
- feat: support compression with HDF5 by @henryiii in #205
- refactor: use IR for intermediate representation typing helpers by @henryiii in #200
- fix: touch up serialization, add
TypedDictby @henryiii in #151 - fix: typing update for recent change by @henryiii in #157
- fix: tighten metadata definition by @henryiii in #163
- fix: include fixes for metadata types by @henryiii in #165
- fix: missing item in
__all__by @henryiii in #196 - fix: weighted_mean sparse histogram fix, and tests by @henryiii in #204
- fix: don't store an empty metadata dict by @henryiii in #206
- tests: require fastjsonschema by @henryiii in #138
- tests: more tests for schema by @henryiii in #166
- tests: add json serialize test by @henryiii in #190
- tests: add hdf5 and zip tests by @henryiii in #191
- tests: fix hdf5 install by @henryiii in #207
- chore: use Required/NotRequired by @henryiii in #197
Testing helper
- feat: starting generic testing framework by @henryiii in #150
- feat: split up test by dimension by @henryiii in #171
- feat: add 2d tests by @henryiii in #172
- feat: wrap bins in generic tests by @APN-Pucky in #176
- docs: add docs on testing by @henryiii in #199
- fix(tests): provide uhi serialized form by @henryiii in #198
Other
- fix: drop
Slicerfornp.s_by @henryiii in #153 - tests: add fixture for valid/invalid by @henryiii in #195
- chore: add CITATION file by @henryiii in #192
- chore: add recent author to list by @henryiii in #189
- chore: fix release note helper by @henryiii in #203
- chore: min version of numpy for 3.9 by @henryiii in #193
- chore: modernize licensing and dep groups by @henryiii in #149
- chore: prepare for 1.0 by @henryiii in #202
- chore: update to 3.9+ by @henryiii in #187
- ci: anaconda nightlies by @henryiii in #180
- docs: Make it clear that sum/projection does eliminate axis/histogram by @APN-Pucky in #135
- docs: fix shallow clone by @henryiii in #201
New Contributors
- @APN-Pucky made their first contribution in #135
Full Changelog: v0.5.0...v1.0.0
Version 0.5.0
This release requires Python 3.8, and adds explicit support for 3.13. It has an experimental schema for serialization - this will be considered final once there are 1-2 implementations of it. We now provide attestations for releases.
What's Changed
- feat: modernize, Python 3.8+ by @henryiii in #130
- feat: add a schema for serialization by @henryiii in #105
- fix: one more schema ending issue by @henryiii in #119
- ci: macos-latest is changing to macos-14 ARM runners by @henryiii in #127
- chore: update nox and use uv by @henryiii in #131
- chore: more minor modernizations by @henryiii in #132
- docs: add zenodo badge by @henryiii in #116
Full Changelog: v0.4.0...v0.5.0
Version 0.4.0
This release primarily drops Python 3.6 support. It also adds official 3.12 support. The changelog is now part of the docs.
- chore: drop Python 3.6 by @henryiii in #84
- chore: move to using Ruff by @henryiii in #86
- ci: fix readthedocs by @henryiii in #99
- chore: target-version no longer needed by Black or Ruff by @henryiii in #103
- chore: sp-repo-review by @henryiii in #107
- docs: prepare for schema addition by @henryiii in #113
- chore: add a check and bump NumPy by @henryiii in #114
- docs: add changelog by @henryiii in #115
Full Changelog: v0.3.3...v0.4.0
Version 0.3.3
- ci: update to Python 3.11 final by @henryiii in #76
- chore: adapt to new versions by @henryiii in #82
- fix: use ABC for ROOTAxis by @henryiii and @pre-commit-ci in #79
- chore: use svn versioning by @henryiii in #83
Full Changelog: v0.3.2...v0.3.3
Version 0.3.2
Version 0.3.1
Officially supports Python 3.10. Build system moved to Flit, with a PDM option to replace the old Poetry system if users want to develop in a locked environment. Updated to mypy 0.930 and Numpy 1.22. Type ignores now list the error code(s).
Version 0.3.0
The conversion utility now supports PyROOT histograms, thanks to @pieterdavid. Standard maintenance updates, including moving to mypy 0.902.
Version 0.2.1
Small patch release to add missing test files #15 to the SDist, for downstream packagers like conda-forge. Nox support added for easy development & development tasks, like bumping the version.
Version 0.2.0
Version 0.1.2
Fix an issue with PlottableProtocol requiring writable properties (#9). Corrected the internal version number to match the external one. Eased up the requirements upper bounds just a bit.