This short PR adds a GitHub action that will automatically trigger the build of python wheels for all versions of python above 3.6 for both Mac (intel) and linux architectures. It uses the excellent https://cibuildwheel.readthedocs.io/ tool that makes all of this very simple.
For maintainers, here are the steps to follow upon a new code release:
Use the github release tool to tag a new version
Go get a coffee for like 30 mins
Go the Actions tab and find the latest Build wheels run, download the attached artifact
Unzip the artifact
Upload to pypi with: twine upload *.whl
This is in addition to uploading the normal source distribution. Eventually the entire process can be automatized if you create a pypi key so that the action can directly push to pypi.
After that, a user can trivially install halotools by:
$ pip install halotools
and they wont have to recompile anything, this will automatically grab the appropriate python wheel.
If you want to test it out before merging, I've run the action on my fork:
This short PR adds a GitHub action that will automatically trigger the build of python wheels for all versions of python above 3.6 for both Mac (intel) and linux architectures. It uses the excellent https://cibuildwheel.readthedocs.io/ tool that makes all of this very simple.
For maintainers, here are the steps to follow upon a new code release:
Build wheels
run, download the attachedartifact
twine upload *.whl
This is in addition to uploading the normal source distribution. Eventually the entire process can be automatized if you create a pypi key so that the action can directly push to pypi.
After that, a user can trivially install halotools by:
and they wont have to recompile anything, this will automatically grab the appropriate python wheel.
If you want to test it out before merging, I've run the action on my fork:
Annnnd to demonstrate how cool this is: https://colab.research.google.com/drive/1_KjhW8zV7EGDyIzeIHC9tZiZpffs69G7?usp=sharing