Building skimage wheels for OS X using Travis CI

Matthew Brett matthew.brett at gmail.com
Mon Jun 30 19:20:02 EDT 2014


Hi,

On Sat, Jun 28, 2014 at 2:14 AM, Matthew Brett <matthew.brett at gmail.com> wrote:
> Hi,
>
> On Fri, Jun 27, 2014 at 3:47 PM, Matthew Brett <matthew.brett at gmail.com> wrote:
>> Hi,
>>
>> On Fri, Jun 27, 2014 at 3:30 PM, Jonathan Helmus <jjhelmus at 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.
>
> This is a scikit-image wheel builder using Matt Terry's scripts and
> Python.or g pythons:
>
> https://github.com/matthew-brett/scikit-image-wheels
>
> It runs the tests before uploading, and the tests will be a little
> tough to get passing - they have lots of dependencies - but the
> general structure is a bit cleaner than I had first thought,

This repo is now working; it builds the wheels, runs the tests and
then uploads to a rackspace container:

https://travis-ci.org/matthew-brett/scikit-image-wheels/builds/28821657

Any interest in taking this over to the scikit-image organization?  If
you make me a member even temporarily, I can set you up with the
encrypted API key to upload to the rackspace container.  Also, I think
these are the right wheels to build because they work with python.org
and system pythons...  It would mean that anyone in the organization
could build and test wheels with a click of a button or a commit to
the repo.

Cheers,

Matthew



More information about the scikit-image mailing list