fix: handle H5Dataset missing fillvalue attribute with dtype-based fallback#993
Merged
Merged
Conversation
…llback Some h5py Dataset objects do not expose a fillvalue attribute. Guard against AttributeError in _get_fill_value and fall back to np.ma.default_fill_value for the dataset's dtype. Adds a unit test covering this path. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
h5py.Dataset.fillvalue delegates to the HDF5 C library via Cython and raises RuntimeError for unsupported dtypes (e.g. variable-length strings, compound types). AttributeError can never fire on a real h5py.Dataset since fillvalue is always a defined property. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Collaborator
|
@abarciauskas-bgse This might be superseded by #988 which I need to update with @maxrjones suggested fixes before finalizing. |
Collaborator
Author
|
@sharkinsspatial Yes, this is a PR into the #988 branch! The issue is that |
maxrjones
approved these changes
May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR handles H5Dataset missing fillvalue attribute with dtype-based fallback
Some
h5py.Datasetobjects do not expose a fillvalue attribute. This PR guards againstAttributeErrorin_get_fill_valueand fall back tonp.ma.default_fill_valuefor the dataset's dtype. Adds a unit test covering this path.What I did
I discovered this issue when trying to use HDFParser with a GPM IMERG HH HDF5 file
##Acceptance criteria:
Closes #xxx-- There are at least 24 open issues related to fill value and I don't know if this applies to any of themdocs/releases.mdNew functions/methods are listed in an appropriaten/a*.mdfile underdocs/apiNew functionality has documentationn/aNB: I can open this as a separate PR to main, I just thought it fit in will with the new
_get_fill_valuecreated in this PR.