Skip to content
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

Convert H5Z*.jl packages into package extensions #1160

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

mkitti
Copy link
Member

@mkitti mkitti commented Jun 27, 2024

The H5Z*.jl packages such as H5Zblosc.jl implement HDF5 filter plugins.
These were written before the advent of package extensions in Julia 1.9.

This pull request converts the implementations of the H5Z*.jl packages
into package extensions. The H5Z*.jl packages are transitional packages
that are shells of their former selves. They only serve two purposes:

  1. Load the weak dependency to trigger the package extension to load.
  2. Export the filter

After this pull request loading the H5Z*.jl packages could be replaced
by loading the weak dependency directly. For example H5Zblosc.jl could
be replaced by loading Blosc.jl. Another example is that H5Zlz4.jl
could be replaced by loading CodecLZ4.jl.

Exporting the filter could be provided by leaving a function stub
with no methods in HDF5.jl. For example, function BloscFilter end
could be declared in HDF5.jl and then implemented in the package
extensions.

@mkitti mkitti requested a review from simonbyrne June 27, 2024 06:44
@simonbyrne
Copy link
Collaborator

I like this idea: it would be much simpler to maintain.

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.

2 participants