-
Notifications
You must be signed in to change notification settings - Fork 96
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
(chore) use pixi for building #704
base: main
Are you sure you want to change the base?
Conversation
not sure if adding the blosc dep here is correct, since we are vendoring it (cc @jakirkham) |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #704 +/- ##
=======================================
Coverage 99.74% 99.74%
=======================================
Files 63 63
Lines 2753 2753
=======================================
Hits 2746 2746
Misses 7 7 |
cc @mkitti in case you have any advice |
I'll just point out that blosc is not even a dependency of the numcodecs package in conda-forge: I think this situation is a very weird. We're not even modifying the vendored blosc build here. In contrast, the blosc package in conda-forge depends on lz4-c, snappy, zlib, and zstd packages, as this package should. That said, I have no idea how one would have those dependencies in PyPI via wheels. |
cramjam, anyone?? This would just be the reason for them to solidify the blosc backend, but they have all the others in a statically-linked wheel |
Is a big statically-linked wheel the ideal here? |
If you're worried about dependencies, packaging and how to link to system libs, I suggest that yes. I note that cramjam is ~2MB. Also, zarr likes rust crates, and cramjam can be called directly from rust, and also return python-consumable buffers. |
I took a look at libcramjam. I can already see several major issues. For example, I do not see checksum options for Zstandard. Now in certain circumstances, perhaps this could be fine if we had a plugin system that allowed for multiple implementations of the same codec. I think I would much rather have a direct dependency on libzstd rather than going through another intermediary. |
Adds pixi for building the project. On my linux desktop, everything compiles with
pixi run pip install -v -e '.[test,test_extras,msgpack,crc32c,pcodec,zfpy]'
.