Closed jeffdaily closed 4 years ago
The C library now releases manylinux assets for releases. The manylinux branch of this repo explores using them.
It looks like this still isn't done, though there are wheels for macosx (travis) and win32 (appveyor). I noticed, the C library build uses the manylinux1 docker to build a sdist but not a wheel. If I were to look at adding this, I presume the build should live in the travis file in this repository?
If you need this feature, and you are willing to provide it, then you have my blessing. These days, I have precious little time to maintain this repo.
For macosx, there are many different xcode/OS versions to target -- too many to build for them all. I treat the macosx build similar to the Linux builds. I expect users to build the C library from source as part of the parasail-python bdist_wheel build.
On Windows, I expect my appveyor build to provide various win 32- and 64-bit DLLs. Then the parasail-python bdist_wheel can download the DLL packages from the parasail C library github artifacts.
IIRC, the manylinux1 builds are designed to cover all Linux binary packages, suitable for pypi. I honestly can't remember why I stopped there. Perhaps I thought it was sufficient to make all users build the C library from source as part of the bdist_wheel target, since I already forced macosx users to do the same.
Hey Jeff
I'd also like to see manylinux wheels available on Linux and have done quite a bit in this area. Many packages at Nanopore now dependent on this project and I'd be happy to help maintain along with @cjw85 if you're looking for help.
Regards,
Chris.
Hi @iiSeymour, @cjw85,
Yes, please. My ultimate goal with this project was always to just provide a useful library of this functionality. And like I said earlier in this thread, I fully support your efforts to get a manylinux wheel. I at least have time to review and merge any PRs and tag new releases, as needed. Let me know how I can help. Thanks.
Jeff
Great, this library has been very useful @jeffdaily!
I'll do a review of @cjw85 open merge request. If we can get a new tag and PyPi release after we are happy, that will be a good start.
Looks like twine uploads are timing out in travis. I added my new TWINE_PASSWORD to my travis project, but I wonder if I messed that part up.
@iiSeymour any idea what I might have messed up? I copy/pasted my new pypi token into my parasail-python travis project. Or should I add it to the .travis.yml file with a travis encrypt TWINE_PASSWORD="<key>" --add
?
I think it's just the twine username needs adding to the global variable section in the .travis.yml
and Travis should pick the API key from your account for you.
Adapt the example at https://github.com/pypa/python-manylinux-demo.
I'm thinking I would git clone the parasail C repo. Then inside docker, I would build and install libparasail.so and copy it to the correct location where setup.py will find it. I could run the bdist wheel target outside docker as usual.