NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2393 most downloaded on PyPI
netCDF4 via h5py
Last release 8 months ago
23 Jan 2026
Release timing varies
gaps range from 5 weeks to 11 months
Most releases are documented
notes for 42 of 53 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
54 releases · first in 2015
fix backend dependencies by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/311
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.8.0...v1.8.1
Add numpy to default dependencies, update install section to highlight backend installation, update error message on missing backend (310, 311) by Kai Mühlbauer
One column per quarter.
Check if URL exists before testing ros3 by @zequihg50 in https://github.com/h5netcdf/h5netcdf/pull/296
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.7.3...v1.8.0
Full Changelog: v1.7.3...v1.8.0
Fix ros3 test (295, 296). By Ezequiel Cimadevilla Alvarez
Update pre-commit. By Kai Mühlbauer
Fix h5py3 hdf5 1.10 CI run (303). By Kai Mühlbauer
Support pyfive as an alternative backend ({pull}`273`). By Bryan Lawrence, David Hassell, Valeriu Predoi, Kai Mühlbauer and Stephan Hoyer
Add support for filters() for Variables to match netCDF4 python API. By Mark Harfouche.
Fix empty selection by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/297
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.7.2...v1.7.3
Fix indexing with empty arrays and lists (297). By Kai Mühlbauer
Retrieve format from _root instead of group instance by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/294
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.7.1...v1.7.2
Full Changelog: v1.7.1...v1.7.2
Fix regression where format was requested from group instance instead of _root. Simplify logic to check and raise CompatibilityError. (293, 294). By Kai Mühlbauer
fix writing lists of strings for NETCDF4 by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/292
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.7.0...v1.7.1
Full Changelog: v1.7.0...v1.7.1
Fix regression where attributes with list of strings were written with h5py low-level API instead of high-level API (291, 292). By Kai Mühlbauer
fix unintentional changes in test suite by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/277
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.6.4...v1.7.0
Full Changelog: v1.6.4...v1.7.0
Fix unintentional changes in test suite (277). By Kai Mühlbauer
Create ENUM with low level API to keep order-by-value, add h5dump based tests (285). By Kai Mühlbauer and David Huard
Fix interoperability issues between netcdf4/h5netcdf, namely resizing variables using partial slices,
By Kai Mühlbauer and David Huard
Add the format argument to h5netcdf.File and support for the NETCDF4_CLASSIC format (280, 283). By David Huard
Do not return padded arrays for slices larger than variable shape (287, 288). By Kai Mühlbauer
cleanup: pyupgrade --py39-plus by @schwehr in https://github.com/h5netcdf/h5netcdf/pull/272
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.6.3...v1.6.4
Full Changelog: v1.6.3...v1.6.4
Cleanup: pyupgrade --py39-plus (272). By Kurt Schwehr
Add better error messages when operating on a closed file (274, 275). By Kai Mühlbauer
fix invalid string format specifier, match raises/warns with messages in test suite by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/270
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.6.2...v1.6.3
Full Changelog: v1.6.2...v1.6.3
fix invalid string format specifier, match raises/warns with messages in test suite, remove tests for h5py < 3.7, fix sphinx issue and pr roles in CHANGELOG.rst (269, 270). By Kai Mühlbauer
codespell version 2.4.1 by @schwehr in https://github.com/h5netcdf/h5netcdf/pull/261
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.6.1...v1.6.2
Full Changelog: v1.6.1...v1.6.2
Codespell fixes (261). By Kurt Schwehr
Fix hsds/h5pyd test fixture spinup issues (265). By Kai Mühlbauer
Fix and add circular referrer tests for Python 3.14 and update CI matrix (264). By Kai Mühlbauer
Avoid opening h5pyd file to check if there is a preexisting file, instead remap mode "a" -> "r+", resort to "w" if file doesn't exist (262, 266). By Jonas Grönberg and Kai Mühlbauer
Reduce CI time by installing available scientific-python-nightly-wheels and using pip cache (267). By Kai Mühlbauer
Return None for chunks on scalar variables by @rho-novatron in #259
Full Changelog: v1.6.0...v1.6.1
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.6.0...v1.6.1
Let Variable.chunks return None for scalar variables, independent of what the underlying h5ds object returns (259). By Rickard Holmberg
Add pytest-mypy-plugins for xarray nightly test by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/257
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.5.0...v1.6.0
Allow specifying h5netcdf.File(driver="h5pyd") to force the use of h5pyd (255, 256). By Rickard Holmberg
Add pytest-mypy-plugins for xarray nightly test (257). By Kai Mühlbauer
run CI with Python 3.13 where appropriate, remove numpy 1 where necessary by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/250
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.4.1...v1.5.0
Update CI to new versions (Python 3.13, 3.14 alpha), remove numpy 1 from h5pyd runs (250). By Kai Mühlbauer
Update CI and reinstate h5pyd/hsds test runs (247). By John Readey
Allow zlib to be used as an alias for gzip for enhanced compatibility with h5netcdf's API and xarray. By Mark Harfouche
Bump mamba-org/setup-micromamba from 1 to 2 by @dependabot in https://github.com/h5netcdf/h5netcdf/pull/242
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.4.0...v1.4.1
Add CI run for hdf5 1.10.6, fix complex tests, fix enum/user type tests (244). By Kai Mühlbauer
Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/h5netcdf/h5netcdf/pull/224
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.3.0...v1.4.0
Add UserType class, add EnumType (229). By Kai Mühlbauer
Refactor fillvalue and dtype handling for user types, enhance sanity checks and tests (230). By Kai Mühlbauer
Add VLType and CompoundType, commit complex compound type to file. Align with nc-complex (227). By Kai Mühlbauer
Update h5pyd testing. By Kai Mühlbauer
CI and lint maintenance (235). By Kai Mühlbauer
Support wrapping an h5py File object. Closing the h5netcdf file object does not close the h5py file (238). By Thomas Kluyver
CI and lint maintenance (format README.rst, use more f-strings, change Python 3.9 to 3.10 in CI) (239). By Kai Mühlbauer
Lint with ruff Oct 10, 2023 by @hmaarrfk in https://github.com/h5netcdf/h5netcdf/pull/217
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.2.0...v1.3.0
Add ros3 support by checking driver-kwarg. By Ezequiel Cimadevilla Alvarez
Code and CI maintenance. By Mark Harfouche and Kai Mühlbauer.
MNT: Remove h5py2 compatibility code by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/194
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.1.0...v1.2.0
Remove h5py2 compatibility code, remove h5py2 CI runs, mention NEP29 as upstream dependency support strategy. By Kai Mühlbauer and Mark Harfouche.
Update to pyproject.toml-only build process, adapt CI, use ruff for linting, add .pre-commit-config.yaml. By Kai Mühlbauer.
Maintenance CI (use setup-micromamba), fix hsds, fix tests, fix license. By Kai Mühlbauer.
Raise early with h5py-error. By Kai Mühlbauer.
Add simple test to ensure that the shape is stored in the coordinates. By Mark Harfouche.
rework adding _FillValues-attribute by @kmuehlbauer in https://github.com/h5netcdf/h5netcdf/pull/175
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.0.2...v1.1.0
Rework adding _FillValue-attribute, add tests. By Kai Mühlbauer.
Add special add_phony method for creating phony dimensions, add test. By Kai Mühlbauer.
Rewrite _unlabeled_dimension_mix (labeled/unlabeled), add tests. By Kai Mühlbauer.
Add default netcdf fillvalues, pad only if necessary, adapt tests. By Kai Mühlbauer.
Fix regression in padding algorithm, add test. By Kai Mühlbauer.
Set track_order=True by default in created files if h5py 3.7.0 or greater is detected to help compatibility with netCDF4-c programs. By Mark Harfouche.
Fix failing tests when using h5py 3.7.0.
Bugfix release
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.0.1...v1.0.2
Adapt boolean indexing as h5py 3.7.0 started supporting it. By Kai Mühlbauer.
Fix several tests to work with new h5py 3.7.0. By Mark Harfouche and Kai Mühlbauer.
Fix failing tests when using netCDF4 4.9.0.
Full Changelog: https://github.com/h5netcdf/h5netcdf/compare/v1.0.0...v1.0.1
Fix failing tests when using netCDF4 4.9.0. Reported and patch submitted by Bas Couwenberg.
Remove deprecated code (eg. remove deprecated code (eg. handling mode, chunking_heuristics, decode_vlen_strings), adapt LICENSE/AUTHOR.txt, prepare re…
Add HSDS pytest-fixture, make tests work with h5ypd. By Aleksandar Jelenak.
Remove _NCProperties from existing file if writing invalid netcdf features. Warn users if .nc file extension is used writing invalid netcdf features. By Kai Mühlbauer.
Remove deprecated code (eg. remove deprecated code (eg. handling mode, chunking_heuristics, decode_vlen_strings), adapt LICENSE/AUTHOR.txt, prepare repository for release 1.0. By Kai Mühlbauer.
This release brings documentation and API docs to h5netcdf.
This release brings documentation and API docs to h5netcdf.
It is also the last release line before h5netcdf v1.0.
Add documentation to h5netcdf, merging current available documentation available as .rst-files, in the repo-wiki and new API-docs into one document using sphinx-doc and sphinx-book-theme. By Kai Mühlbauer.
fix reading empty non-string attributes
Directly return non-string Empty-type attributes as empty numpy-ndarray. By Kai Mühlbauer.
Add chunking_heuristic keyword and custom heuristic chunking_heuristic="h5netcdf" with better handling of unlimited dimensions. By Dion Häfner _.
Add chunking_heuristic keyword and custom heuristic chunking_heuristic="h5netcdf" with better handling of unlimited dimensions. By Dion Häfner.
Return group name instead of full group path for legacy API. By Kai Mühlbauer.
Add endian keyword argument legacyapi.Dataset.createVariable. By Kai Mühlbauer.
Resize Dimensions when writing to variables (legacy API only), return padded arrays. By Kai Mühlbauer.
Allow 1D boolean indexers in legacy API. By Kai Mühlbauer.
Revert order tracking by default to avoid a bug in h5py (Closes Issue #136). By Mark Harfouche.
Implement Dimension-class. By Kai Mühlbauer.
Return items from 0-dim and one-element 1-dim array attributes. Return multi-element attributes as lists. Return string attributes as Python strings decoded from their respective encoding (utf-8, ascii). By Kai Mühlbauer.
https://github.com/h5netcdf/h5netcdf/issues/136
Bugfix release
https://github.com/h5netcdf/h5netcdf/issues/136
Assign dimensions at creation time, instead of at sync/flush (file-close). By Kai Mühlbauer _.
Assign dimensions at creation time, instead of at sync/flush (file-close). By Kai Mühlbauer.
Create/attach dimension scales on the fly, instead of at sync/flush (file-close). By Kai Mühlbauer.
Ensure order tracking is true for newly created netcdf4 files as required by the netcdf4 standard. This enables files created by h5netcdf to be appended to by netCDF4 library users (Closes Issue #128). By Mark Harfouche.
Added FutureWarning to use mode='r' as default when opening files. By Ryan Grout _.
Added FutureWarning to use mode='r' as default when opening files. By Ryan Grout.
Moved handling of _nc4_non_coord_ to h5netcdf.BaseVariable. By Kai Mühlbauer.
Write _NCProperties when overwriting existing files. By Kai Mühlbauer.
Create/Attach dimension scales on append (mode="r+") By Kai Mühlbauer.
Create/Attach/Detach dimension scales only if necessary. By Kai Mühlbauer.
Switch warning into error when using invalid netCDF features. By Kai Mühlbauer.
Avoid circular references to objects referencing h5py objects. By Tom Augspurger.
Included h5pyd.Dataset objects as netCDF variables. By Aleksandar Jelenak _.
Included h5pyd.Dataset objects as netCDF variables. By Aleksandar Jelenak.
Added automatic PyPI upload on creation of github release.
Moved Changelog to CHANGELOG.rst.
Updated decode_vlen_strings FutureWarning.
Support for h5py.Empty strings. By Kai Mühlbauer.
Replaced decode_strings with decode_vlen_strings. By Kai Mühlbauer _.
Replaced decode_strings with decode_vlen_strings. By Kai Mühlbauer.
Special thanks to Kai Mühlbauer _ for stepping up as a co-maintainer!
Special thanks to Kai Mühlbauer for stepping up as a co-maintainer!
Support for decode_strings, to restore old behavior with h5py 3. By Kai Mühlbauer.
Fix h5py deprecation warning in test suite.
Fix h5py deprecation warning in test suite.
Fixed several issues with upstream deprecations.
Support for reading Datasets with missing dimension scales. By Kai Mühlbauer.
Fixed a bug where Datatype objects were treated as Datasets.
Fixed several issues with upstream deprecations.
Fixed a flakey test on Python 2.7 and 3.4.
Fixed a flakey test on Python 2.7 and 3.4.
Fixed another bug that could result in reusing dimension IDs, when modifying existing files.
Fixed another bug that could result in reusing dimension IDs, when modifying existing files.
Fixed a bug where h5netcdf could write invalid netCDF files with reused dimension IDs when dimensions are written in multiple groups. netCDF-C 4.6.2 w
Fixed a bug where h5netcdf could write invalid netCDF files with reused dimension IDs when dimensions are written in multiple groups. netCDF-C 4.6.2 will crash when reading these files, but you can still read these files with older versions of the netcdf library (or h5netcdf).
Updated to use version 2 of _NCProperties attribute.
Nothing published for this version
Fixed a bug that prevented creating variables with the same name as previously created dimensions in reopened files.
Fixed a bug that prevented creating variables with the same name as previously created dimensions in reopened files.
Compression with arbitrary filters no longer triggers warnings about invalid netCDF files, because this is now supported by netCDF __.
Compression with arbitrary filters no longer triggers warnings about invalid netCDF files, because this is now supported by netCDF.
Nothing published for this version
Bug fix for files with an unlimited dimension with no associated variables. By Aleksandar Jelenak _.
Bug fix for files with an unlimited dimension with no associated variables. By Aleksandar Jelenak.
Nothing published for this version
Fix test suite failure with recent versions of netCDF4-Python.
Fix test suite failure with recent versions of netCDF4-Python.
Raise AttributeError rather than KeyError when attributes are not found using the legacy API. This fixes an issue that prevented writing to h5netcdf w
Raise AttributeError rather than KeyError when attributes are not found using the legacy API. This fixes an issue that prevented writing to h5netcdf with dask.
Include tests in source distribution on pypi.
Include tests in source distribution on pypi.
Nothing published for this version
Add missing .flush() method for groups.
Fix garbage collection issue.
Add missing .flush() method for groups.
Allow creating dimensions of size 0.
Datasets are now loaded lazily. This should increase performance when opening files with a large number of groups and/or variables.
Datasets are now loaded lazily. This should increase performance when opening files with a large number of groups and/or variables.
Support for writing arrays of variable length unicode strings with dtype=str via the legacy API.
h5netcdf now writes the _NCProperties attribute for identifying netCDF4 files.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →