-
Notifications
You must be signed in to change notification settings - Fork 100
(chore) use pixi for building #704
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
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 ✅
❌ Your project check has failed because the head coverage (90.92%) is below the target coverage (100.00%). You can increase the head coverage or adjust the target coverage.
Additional details and impacted files@@ Coverage Diff @@
## main #704 +/- ##
==========================================
- Coverage 99.96% 90.92% -9.04%
==========================================
Files 64 64
Lines 2789 2789
==========================================
- Hits 2788 2536 -252
- Misses 1 253 +252 🚀 New features to boost your workflow:
|
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. |
Rather than
I think either
|
Co-authored-by: Mark Kittisopikul <[email protected]>
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]'
.