-
Notifications
You must be signed in to change notification settings - Fork 91
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
How to unbundle blosc, zstd, lz4 #264
Comments
Yeah definitely understand the value of unbundling. However this was impractical until recently as there were not Blosc wheels. As that has now changed ( #262 ), agree it makes sense to use external dependencies. To solve this would actually go about this a bit differently. In particular would change codecs to use 3rd party libraries in the code and drop the Blosc submodule. |
Just to add PR ( #274 ) started down this path |
Hmmmm i just got bit by this since I was trying to compile with |
If the system blosc has snappy as available codec: --- numcodecs-0.11.0.orig/numcodecs/tests/test_blosc.py
+++ numcodecs-0.11.0/numcodecs/tests/test_blosc.py
@@ -155,10 +155,11 @@ def test_compress_complib(use_threads):
}
blosc.use_threads = use_threads
for cname in blosc.list_compressors():
- enc = blosc.compress(arr, cname.encode(), 1, Blosc.NOSHUFFLE)
- complib = blosc.cbuffer_complib(enc)
- expected_complib = expected_complibs[cname]
- assert complib == expected_complib
+ if cname in expected_complibs:
+ enc = blosc.compress(arr, cname.encode(), 1, Blosc.NOSHUFFLE)
+ complib = blosc.cbuffer_complib(enc)
+ expected_complib = expected_complibs[cname]
+ assert complib == expected_complib
with pytest.raises(ValueError):
# capitalized cname
blosc.compress(arr, b'LZ4', 1) |
Note that the package |
Think we have had this discussion before ( #314 (comment) ). This is really not pressing since we started building Conda & wheel binaries Think there are better ways we can spend our time in Zarr development. Though don't want to discourage others if they really want to dig in. PRs welcome |
This one is superseded by #569. The old diffs here no longer apply to numcodecs 0.13 |
From a distribution point of view, it is undesirable to bundle outdated standard system libraries into packages. Here is a quick guide how to unbundle blosc, zstd and lz4 from numcodecs but use the system libraries instead:
The modification to setup.py would need some more work, but maybe you want to consider adding the possibility to select the building against system libraries through some environment variable, e.g.
USE_SYSTEM_LIBS=1
.This also resolves the problems reported in #215
The text was updated successfully, but these errors were encountered: