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

[FEATURE] build and publish precompiled binary wheels to PyPI #38

Closed
anthrotype opened this issue Dec 15, 2021 · 7 comments
Closed

[FEATURE] build and publish precompiled binary wheels to PyPI #38

anthrotype opened this issue Dec 15, 2021 · 7 comments
Labels
Needs: Help Extra attention is needed Type: Enhancement New feature or request

Comments

@anthrotype
Copy link

Hello,
thanks for this project!

It would be great if you set up Github Actions CI to build wheels for all supported python versions and platforms (Linux, Mac, Windows) and publish them (either automatically when pushing git tags, or manually if you prefer) to the Python Package Index (PyPI) so that pip install frozendict works without needing a compiler toolchain installed.
There's https://cibuildwheel.readthedocs.io/ that makes this relatively easy, it takes care of basically everything, as long a package can be built with pip wheel, which it does in your case.

Thanks for considering!

Cosimo

@anthrotype anthrotype added the Type: Enhancement New feature or request label Dec 15, 2021
@Marco-Sulla
Copy link
Owner

Ciao. I think it's a good idea. I had already to set up a CI/CD on my TODO list. What I need is only the time.

@Marco-Sulla
Copy link
Owner

For now I added it on pushes only and it works:
https://github.com/Marco-Sulla/python-frozendict/actions/runs/1593577117

I would also add an action that creates a pure py package, without the C extension. On my machine, I can create it running ./setup.py py bdist_wheel, since I modified my setup.py in such a way that, if the first argument is py, the C extension is not build.

How can I run that command as a Github Action?

@Marco-Sulla
Copy link
Owner

Unluckily, bug #41 evidenced that produced wheel does not work on Debian. Since Debian is THE Linux distro, I will not publish these binaries until I make them working with Debian.

If someone wants the C extension, (s)he can download the sdist package (the .tar.gz) and install it with pip

@anthrotype
Copy link
Author

oh, that's a shame, thanks for trying though

Unluckily, the binaries generated by cibuildwheel does not work, so I removed them from the current and next releases. I have to investigate.

How about you keep this issue open until you or some other contributor finds the time to investigate why this occurs?
Thanks again for considering.

@Marco-Sulla
Copy link
Owner

Why not?

@Marco-Sulla Marco-Sulla reopened this Dec 22, 2021
@Marco-Sulla Marco-Sulla added the Needs: Help Extra attention is needed label Dec 22, 2021
@Marco-Sulla
Copy link
Owner

It seems the ABI is stable now. I close this report. Thank you again for signalling me cibuildwheel, anthrotype :)

@anthrotype
Copy link
Author

thank you for fixing the issues and publishing the wheels to pypi 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs: Help Extra attention is needed Type: Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants