-
Notifications
You must be signed in to change notification settings - Fork 73
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
Link with the blosc shared library #10
Conversation
I am 👎 on this PR in its current shape. However not on building against the shared library in general. Let me discuss my points. Having a shared library is a great thing and certainly a clean way of doing things. However containing the sources like we do, has the great advantage of being able to install the extension from the PyPi using So, instead I advocate for having two We can talk about using |
Makes sense. I had Linux systems in mind, where package managing enables a straightforwards dependency resolution. |
Yeah, I am also a firm believer in the Linux way of doing everything by packages. However, much time can pass until a suitable package is built and accepted. Please do leave your branch lying around, I may try to create the things I suggested myself. |
Hi guys, just an idea but why blosc, python-blosc and bloscpack are not merged into a single project? |
@avalentino: what would be the advantages? |
incidentally, I was working on a PR to support pulling in |
@esc that would be great. I have heard people having issues with git subtrees. I hope submodules would work better :) Thanks for your work on this. |
@FrancescAlted : yeah? what kind of issues? Sorry to create a prejudice, but submodules are not exactly user friendly... I see we will have to discuss some more, when the PR is ready... |
Hmm, I think the issues where with using submodule not subtree. Apparently it is too easy (automatic) to loose your data. Sorry, I cannot give more details. Well, you are the expert, so I'll take your word on this. |
@esc, well it feels quite natural to me. Blosc is a relatively small library that has python binfings and a command line tool as front-end. @avalentino yes, but the three libraries are pretty different in spirit. Blosc is an standalone library written in pure C. python-blosc is simple a python wrapper on it, and I can envision other wrappers (did not know about Haskell and node.js, thanks @esc). Finally bloscpack is more than a simply command line interface to Blosc: it is a true format and chances are that it can be converted into a really flexible tool for storing large amounts of binary data. A single project means a single tar ball, so no more problems with pip installation and no more problems for syncing with the upstream compression library. Yes, this is the price to pay, but that's life. |
I agree with the simplicity argument. However Blosc is spreading rapidly. It is included in PyTables, Blaze and there are bindings to haskell and node.js. So I think a pure, minimal project for Blosc is really a must. But yeah, I agree the cost of pip installs and syncing with upstream is quite a drag... |
@avalentino yes, but the three libraries are pretty different in spirit. Blosc is an standalone library written in pure C. python-blosc is simple a python wrapper on it, and I can envision other wrappers (did not know about Haskell and node.js, thanks @esc). Finally bloscpack is more than a simply command line interface to Blosc: it is a true format and chances are that it can be converted into a really flexible tool for storing large amounts of binary data. And yes, the price to pay is that you have to pack many different packages, but that's life. |
BTW, hope we can somewhat improve the situation by solving the shared library issue, or by using git sumdoule/subtree. Let's see. |
Great... so I tried to submit a PR and the 👎 not my day... |
@esc sorry to hear that. |
This patch removes the embedded blosc code and links with the existing shared library.
Not sure if my fix for
setup.py
is good enough. Perhaps there is a better way to explicitly require an external library ?Fixes/feedback welcome!
Tested on Linux x86_64 only.