Skip to content

Fix user datatypes (enum, compound)#105

Merged
valeriupredoi merged 4 commits into
NCAS-CMS:mainfrom
kmuehlbauer:user-datatypes
Oct 2, 2025
Merged

Fix user datatypes (enum, compound)#105
valeriupredoi merged 4 commits into
NCAS-CMS:mainfrom
kmuehlbauer:user-datatypes

Conversation

@kmuehlbauer

@kmuehlbauer kmuehlbauer commented Sep 29, 2025

Copy link
Copy Markdown
Collaborator

Description

This adapts the Type handling to acknowledge CompoundTypes (only complex for now), EnumTypes and generic types as Datatype. This fixes several issues of the pyfive implementation over at h5netcdf.

Closes #104

Att: This builds on #102 as those preparations are relied on here.

Before you get started

Checklist

  • This pull request has a descriptive title and labels
  • This pull request has a minimal description (most was discussed in the issue, but a two-liner description is still desirable)
  • Unit tests have been added (if codecov test fails)
  • More unit tests may be needed
  • Any changed dependencies have been added or removed correctly (if need be)
  • If you are working on the documentation, please ensure the current build passes
  • All tests pass

@codecov

codecov Bot commented Sep 29, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.61905% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 73.28%. Comparing base (4512046) to head (2fd1cd3).
⚠️ Report is 182 commits behind head on main.

Files with missing lines Patch % Lines
pyfive/h5py.py 90.90% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #105      +/-   ##
==========================================
+ Coverage   72.73%   73.28%   +0.55%     
==========================================
  Files          11       11              
  Lines        2505     2542      +37     
  Branches      382      390       +8     
==========================================
+ Hits         1822     1863      +41     
+ Misses        580      576       -4     
  Partials      103      103              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@valeriupredoi

Copy link
Copy Markdown
Collaborator

Very many thanks again @kmuehlbauer 🍻 @bnlawrence @davidhassell you folks got some time for a review of this one please?

@kmuehlbauer

Copy link
Copy Markdown
Collaborator Author

Ready for review.

Comment thread pyfive/dataobjects.py Outdated
Comment thread pyfive/h5t.py
@bnlawrence

bnlawrence commented Oct 1, 2025

Copy link
Copy Markdown
Collaborator

Thanks very much for this @kmuehlbauer! Great stuff. Apart from my comment on h5t above (which is a matter of taste and could be dealt with in some future refactor), and pending the resolution of the testing issues (#108), I think this is good to go.

Comment thread pyfive/h5t.py Outdated
@kmuehlbauer

kmuehlbauer commented Oct 1, 2025

Copy link
Copy Markdown
Collaborator Author

Thanks very much for this @kmuehlbauer! Great stuff. Apart from my comment on h5t above (which is a matter of taste and could be dealt with in some future refactor), and pending the resolution of the testing issues (#108), I think this is good to go.

Thanks for the review @bnlawrence. Just to mention, this should go in after #102.

Update: And needs a rebase after merge of #102.

@kmuehlbauer

Copy link
Copy Markdown
Collaborator Author

Should we consider #108 (comment)?

@kmuehlbauer

Copy link
Copy Markdown
Collaborator Author

Need to apply the discussed changes (see #108) here, too.

@kmuehlbauer

Copy link
Copy Markdown
Collaborator Author

I'll do this when #102 is in and I can make a clean rebase/merge. Otherwise I'll go crazy with git.

@valeriupredoi

Copy link
Copy Markdown
Collaborator

I'll do this when #102 is in and I can make a clean rebase/merge. Otherwise I'll go crazy with git.

#102 in, mate - cheers muchly again!

…asets,fix Datatype issues by enabling generic TypeID and TypeCompoundID, add many tests
@kmuehlbauer

kmuehlbauer commented Oct 1, 2025

Copy link
Copy Markdown
Collaborator Author

Sorry for force-pushing, but I've had severe issues with getting clean of the changed data files. But this should now be in ready state, with the tests adapted according #108.

@kmuehlbauer

Copy link
Copy Markdown
Collaborator Author

@bnlawrence @davidhassell @valeriupredoi Finally, with these changes the PR h5netcdf/h5netcdf#279 works without flaws. I'm going to finalize that when we have a release here.

@valeriupredoi valeriupredoi left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

brilliant, great many thanks @kmuehlbauer 🍻

@valeriupredoi
valeriupredoi merged commit c78cc8d into NCAS-CMS:main Oct 2, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

All commited types are interpreted as EnumTypeID

3 participants