Best practice to build binary wheels on Github+Travis and upload to PyPI

Hi all, I'd like to learn how to configure a project I keep on Github so that at release time it will trigger a build of binary wheels for different versions of Python 3 and eventually uploading them to PyPI. At first I tried to follow the Travis deploy instruction[1], but while that works for source distribution it cannot be used to deploy binary wheels because AFAICT Travis does not build “manylinux1”-marked wheels. I then found the manylinux-demo project[2] that uses Docker and contains a a script able to build the wheels for every available version of Python. OTOH, it does not tackle to PyPI upload step. I will try to distill a custom recipe for my own needs looking at how other packages implemented this goal, but I wonder if there is already some documentation that could help me understanding better how to intersect the above steps. Thanks in advance for any hint, ciao, lele. [1] https://docs.travis-ci.com/user/deployment/pypi/ [2] https://github.com/pypa/python-manylinux-demo -- nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia. lele@metapensiero.it | -- Fortunato Depero, 1929.

On Mon, Mar 13, 2017 at 10:47 PM, Lele Gaifax <lele@metapensiero.it> wrote:
Hi all,
I'd like to learn how to configure a project I keep on Github so that at release time it will trigger a build of binary wheels for different versions of Python 3 and eventually uploading them to PyPI.
At first I tried to follow the Travis deploy instruction[1], but while that works for source distribution it cannot be used to deploy binary wheels because AFAICT Travis does not build “manylinux1”-marked wheels.
I then found the manylinux-demo project[2] that uses Docker and contains a a script able to build the wheels for every available version of Python. OTOH, it does not tackle to PyPI upload step.
I will try to distill a custom recipe for my own needs looking at how other packages implemented this goal, but I wonder if there is already some documentation that could help me understanding better how to intersect the above steps.
Multibuild is probably the best place to start: https://github.com/matthew-brett/multibuild Here's a relatively simple and up-to-date example of how to produce wheels for Windows, Linux and OS X automatically using multibuild: https://github.com/MacPython/pywavelets-wheels Ralf

Ralf Gommers <ralf.gommers@gmail.com> writes:
Multibuild is probably the best place to start: https://github.com/matthew-brett/multibuild
Thank you Ralf, I will surely do some experiments building (pun intended) on top of that! ciao, lele. -- nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia. lele@metapensiero.it | -- Fortunato Depero, 1929.
participants (2)
-
Lele Gaifax
-
Ralf Gommers