-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Writing Dynamic Filters with DataPipe #428
Conversation
Codecov Report
@@ Coverage Diff @@
## master #428 +/- ##
==========================================
- Coverage 86.00% 85.04% -0.97%
==========================================
Files 125 126 +1
Lines 5067 5195 +128
==========================================
+ Hits 4358 4418 +60
- Misses 709 777 +68
Help us with your feedback. Take ten seconds to tell us how you rate us. |
This looks like a good start. Did you forget to commit other files? |
This was supposed to be a draft lol, sorry for having it notify you. |
Well looks good so far! Let me know when you have a demo ready |
- Dynamic Filter now checks if the filter is available before being created. - The parameters property is now an array like it should be when writing properties. it is still up to the user to format their arguments correctly.
Allows for integration of dynamic filters without using blueprint pipe. Updated tutorials to reflect changes.
azure pipelines now also export the default HDF5 plugins like BZIP2 and others.
@bendichter I have a barebones tutorial in tutorials/dynamically_loaded_filter_writes.mlx. It currently uses zstd but I think you could flip it to Bzip2 if needed since that's included in hdfplugins by default. |
Potential azure pipeline syntax fix.
fix minor variable name error.
- Removed OPTIONAL since some optional properties are actualy readonly. - Fix spaced parentheses for documentation.
Blueprint pipes now check specifically for dynamic filte properties.
Now set to -1 which disables the property.
- Added mention and example for multiple external filters. - Now uses proper NWB example form.
Renamed `externalFilters` -> `extraFilters` On construction, must specify EITHER `compressionLevel` and/or `hasShuffle` OR `extraFilters`. Otherwise, an error will be thrown. Now allows generic Properties as filters to allow for setting default compression or shuffle as extra filters.
Apparantly bzip2 is not provided in the default hdf5plugin package. Changed to LZ4.
For support with external filters array supporting default Compression and Shuffle filters.
Fixed xor case where neither properties are set (shouldn't error). Update consistency of logical flag checks.
Test Heterogeneous filter (shuffle + lz4).
Add extra checks and validations for compressionLevel and hasShuffle properties.
@lawrence-mbf is this ready for review? |
@bendichter Yeah, I updated the conversation in your review but I guess that didn't notify. |
The prescence of `filters` now invalidates the existence of other keyword arguments `compressionLevel` and `hasShuffle`.
If a user uses "compressionLevel" and/or "hasShuffle" along with "filters", "filters" wins out and "compressionLevel" and "hasShuffle" are not set at all.
@lawrence-mbf error when running
|
Oh that's weird. I can't recreate that at all. |
That looks like an error with the plugin itself maybe? I'm currently using the library here: https://github.com/aparamon/HDF5Plugin-Zstandard I don't think hdf5lib actually has this one by default. |
Should now show the warning correctly.
@lawrence-mbf are you not using hdf5plugin? |
@bendichter Oh wait no you're right that's what I'm using. |
Fixes #421
Motivation
Support writing Dynamic Filters with DataPipes.
Checklist
fix #XX
whereXX
is the issue number?