Building skimage wheels for OS X using Travis CI
All, To follow up on the thread in which Matthew provided OS X wheel packages for the v0.10.0 release, I was inspired to create a more reproducible method for building wheels. What I came up with is a GitHub repository [1] which uses the Mac OS X CI environment provided by Travis CI and miniconda to create wheels for Python 2.6, 2.7, 3.3 and 3.4. These are uploaded to GitHub as a Release which users can download. These files could be then uploaded to PyPI, perhapes after renaming them so indicate that they will work using the Python.org/macport/homebrew python. Travis CI could also be setup to upload these file to directly to PyPI or to S3, Rackspace, or a number of other providers [2]. I have not extensively tested these wheel files. Despite having Anaconda's platform (macosx_10_5_x86_64) I expect that these work with other Mac Python versions, but verification should be done. It should be possible to adapt this to use a different version of Python for the build (the Python.org version is probably best) if compatibility is an issue. Let me know if folks are interested in using this and I'd be happy to improve upon the method. Also a big thanks to Matthew for providing the initial spark of interest and for the great write up on spinning wheels for OS X [3]. Python packaging is getting pretty exciting. Cheers, - Jonathan Helmus http://nmrglue.com/jhelmus/ [1] https://github.com/jjhelmus/scikit-image-ci-wheel-builder [2] http://docs.travis-ci.com/user/deployment/ [3] https://github.com/MacPython/wiki/wiki/Spinning-wheels
Hi, On Fri, Jun 27, 2014 at 3:30 PM, Jonathan Helmus <jjhelmus@gmail.com> wrote:
All,
To follow up on the thread in which Matthew provided OS X wheel packages for the v0.10.0 release, I was inspired to create a more reproducible method for building wheels. What I came up with is a GitHub repository [1] which uses the Mac OS X CI environment provided by Travis CI and miniconda to create wheels for Python 2.6, 2.7, 3.3 and 3.4. These are uploaded to GitHub as a Release which users can download. These files could be then uploaded to PyPI, perhapes after renaming them so indicate that they will work using the Python.org/macport/homebrew python. Travis CI could also be setup to upload these file to directly to PyPI or to S3, Rackspace, or a number of other providers [2].
I have not extensively tested these wheel files. Despite having Anaconda's platform (macosx_10_5_x86_64) I expect that these work with other Mac Python versions, but verification should be done. It should be possible to adapt this to use a different version of Python for the build (the Python.org version is probably best) if compatibility is an issue. Let me know if folks are interested in using this and I'd be happy to improve upon the method.
Also a big thanks to Matthew for providing the initial spark of interest and for the great write up on spinning wheels for OS X [3]. Python packaging is getting pretty exciting.
Nice job - it looks very clean. I had the same idea, but my setup is much messier; I use some shell scripts I inherited from Matt Terry [1]. Example in use (much less neat than yours, but for a more complex build) [2]. Although your install is really neat, I think conda isn't a good basis for the wheels, because it is x86_64 only, so can't build wheels compatible with system python or python.org python: $ python -c "import distutils.util; print(distutils.util.get_platform())" macosx-10.5-x86_64 Here's a testing grid for the scipy stack, checking wheel compatibility across a range of OSX Pythons, and including i386 - again - based on Matt Terry's scripts [3]. Maybe something like that could be generalized for - say - scikit-image test wheels for RCs and development builds. I think that would be pretty easy. I agree - exciting times for packaging... Cheers, Matthew [1] https://github.com/matthew-brett/terryfy [2] https://github.com/matthew-brett/numpy-atlas-binaries [3] https://travis-ci.org/matthew-brett/scipy-stack-osx-testing
Dear Jonathan On Fri, Jun 27, 2014 at 4:30 PM, Jonathan Helmus <jjhelmus@gmail.com> wrote:
To follow up on the thread in which Matthew provided OS X wheel packages for the v0.10.0 release, I was inspired to create a more reproducible method for building wheels.
Thanks very much for following up! I am happy to help you in any way I can (permissions to the repos, pypi etc.) if you'd like to take charge of this for skimage. Stéfan
participants (3)
-
Jonathan Helmus
-
Matthew Brett
-
Stéfan van der Walt