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

Provide wheels for PyPI #3

Open
altendky opened this issue Sep 26, 2019 · 5 comments
Open

Provide wheels for PyPI #3

altendky opened this issue Sep 26, 2019 · 5 comments

Comments

@altendky
Copy link

In general, and especially for compiled packages, it is good to provide wheels for easier installation. Let's do that and setup CI (I would recommend Azure Pipelines) to handle this as well as testing. Hopefully I can put together a PR for this...

In the mean time, we have a shortcut to manually generate wheels without any testing.

https://dev.azure.com/altendky/f1722f91-62fe-4a15-8937-252c96b31292/_build/results?buildId=6396

$ venv/bin/romp --command 'git clone https://github.com/kpdemetriou/siphash-cffi repo; python -m pip install cibuildwheel; export CIBW_SKIP='"'"'cp27-*'"'"'; python -m cibuildwheel --output-dir wheelhouse repo' --version 3.7 --artifact-paths wheelhouse
Requesting build
Waiting for build: https://dev.azure.com/altendky/f1722f91-62fe-4a15-8937-252c96b31292/_build/results?buildId=6396
@kpdemetriou
Copy link
Owner

You're absolutely right, wheels would be nice to have; I shall look into this. Thanks for offering to get a PR going; this is the open source spirit at its finest. Unfortunately the distribution mechanism for this package makes it complex to accept these, ergo at this time I can't reccommend you spend any more time on #4.

@altendky
Copy link
Author

altendky commented May 3, 2020

What is especially difficult about building wheels and distributing siphash-cffi relative to other projects that require compilation? Or to ask another way, what was wrong with #4? Presumably I'd do some parts differently now, at least using GitHub Actions, but...

@kpdemetriou
Copy link
Owner

There's nothing wrong with #4, or with the idea of distributing wheels for this project; it's merely a complex process to accept PRs due to the distribution mechanism used herein, which I admit is rather unorthodox. This is perhaps a story for another time but notice how there always exists only an "Initial commit" despite the project being on version 0.1.4. That said I will look into distributing wheels for various platforms; this is a valid consideration.

@altendky
Copy link
Author

altendky commented May 3, 2020

Welp, if there's some way I can help save you some time, let me know. And sure, you've got my curiosity piqued...

@altendky
Copy link
Author

altendky commented May 9, 2020

Just built and uploaded my workaround wheels for v0.1.4 so I figured I'd document a few tweaks what with new tool versions. Just for the record. Used romp==2020.3. Can be used with --extra-index-url http://fstab.net/pypi/simple --trusted-host fstab.net (if someone should choose to trust me...).

venv/bin/romp --command 'git clone https://github.com/kpdemetriou/siphash-cffi repo; python -m pip install wheel cibuildwheel==1.4.1; export CIBW_SKIP='"'"'cp27-* pp27-*'"'"'; python -m cibuildwheel --output-dir wheelhouse ./repo' --version 3.8 --architecture x86_64 --artifact-paths wheelhouse --artifact wheelhouse.tar.gz

http://fstab.net/pypi/simple/siphash-cffi/

/me is still curious

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