Skip to content
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

Build pycodcif wheels for PyPI #10

Open
ml-evs opened this issue Jun 4, 2020 · 3 comments
Open

Build pycodcif wheels for PyPI #10

ml-evs opened this issue Jun 4, 2020 · 3 comments
Assignees

Comments

@ml-evs
Copy link

ml-evs commented Jun 4, 2020

Hi cod-developers,

I would like to use pycodcif for cif parsing inside my own library matador. Would you consider building wheels for PyPI to allow for easy install on machines without swig?

I've just tested it on my machine by creating a wheel on my local machine with swig installed (python setup.py bdist_wheel), then copying it to a remote server and pip install'ing the .whl file directly in a new virtualenv, and everything seems to be working (Linux, CPython3.8).

I understand that this puts an extra burden on your release process, so I'd be happy to help build wheels for different Python versions, Linux/Windows (and Mac, if I can find one to borrow...). Alternatively there are packages that automate this process inside CI (e.g. cibuildwheel).

Let me know what you think!

@ml-evs ml-evs changed the title Upload binary distribution to PyPI Build pycodcif wheels for PyPI Jun 4, 2020
@merkys
Copy link
Member

merkys commented Jun 5, 2020

Hi @ml-evs. Am I right to assume that you want to find pycodcif wheels on PyPI? If it's just as simple as doing python setup.py bdist_wheel, then it's not a big burden to me.

@merkys merkys self-assigned this Jun 5, 2020
@ml-evs
Copy link
Author

ml-evs commented Jun 5, 2020

Hi @merkys! python setup.py bdist_wheel will build a wheel for your specific architecture & python version (if the code was purely Python, the wheel can be made architecture independent, but of course this library is more than that). So the extra burden is that you would need to build separate wheels for every platform you wanted to support.

If a user tries to pip install pycodcif from a machine that doesn't have a matching wheel distribution, then pip downloads the source distribution and tries to compile it as before.

Maybe we could have a quick chat about this the workshop next week?

@merkys
Copy link
Member

merkys commented Jun 5, 2020

Hi @merkys! python setup.py bdist_wheel will build a wheel for your specific architecture & python version (if the code was purely Python, the wheel can be made architecture independent, but of course this library is more than that). So the extra burden is that you would need to build separate wheels for every platform you wanted to support.

If a user tries to pip install pycodcif from a machine that doesn't have a matching wheel distribution, then pip downloads the source distribution and tries to compile it as before.

Thanks a lot for explanation, I think I got the point. The thing is that I have at most two platforms at my disposal, thus the added value would be quite low. Moreover, Debian/Ubuntu users already can install prebuilt packages from their package manager on every supported architecture.

Maybe we could have a quick chat about this the workshop next week?

Sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants