Python Imaging Library (Fork)
Go to file
Hugo 8f59e6dc5d
Merge pull request #100 from hugovk/pin-wheel
Pin wheel to 0.31.1 to work around API break in 0.32.0
2018-09-30 22:30:54 +03:00
multibuild@3a77d1231c Updated multibuild 2018-09-25 06:08:38 +10:00
Pillow@c28bf86b7e Pillow -> 5.2.0 2018-07-01 23:22:28 +03:00
.gitignore RF: refactor library_installers, add zlib 2014-07-04 12:55:11 +01:00
.gitmodules RF: switch to using multibuild for OSX 2016-08-02 16:31:04 -07:00
.travis.yml Pin wheel to 0.31.1 to work around API break in 0.32.0 2018-09-29 22:33:30 +03:00
config.sh Added custom before_install to temporarily pin wheel to 0.31.1 2018-09-30 22:28:07 +10:00
README.rst Changed shell commands to better match main repository [ci skip] 2018-08-30 19:31:58 +10:00

Pillow Wheel Builder
====================

This repository creates wheels for tagged versions of Pillow::

    git submodule init
    git submodule update Pillow
    git add Pillow
    cd Pillow
    git checkout <VERSION>
    cd ..
    git commit -m "Pillow -> <VERSION>" Pillow
    git push

.. image:: https://img.shields.io/travis/python-pillow/pillow-wheels/latest.svg
   :target: https://travis-ci.org/python-pillow/pillow-wheels
   :alt: Travis CI build status (wheels)

Archives
--------

https://github.com/python-pillow/pillow-depends contains archives for libraries
that will be built as part of the Pillow build.

In general, there is no need to put library archives there, because the
``multibuild`` scripts will download them from their respective URLs.

But, the build will look in that repository before downloading from the
URL, so if there is a library that often fails to download, or you think might
fail to download, then download it and add it to the git repository.

See the ``pre_build`` in ``config.sh`` and the ``fetch_unpack`` routine in
``multibuild/common_utils.sh`` for the logic, and the build recipes in
``multibuild/library_builders.sh`` for the filename to give to the downloaded
archive.

Dependencies
------------

NumPy
~~~~~

Check minimum NumPy versions to build against in ``.travis.yml`` file. Build against the earliest NumPy that Pillow is compatible with; see `forward, backward numpy compatibility <http://stackoverflow.com/questions/17709641/valueerror-numpy-dtype-has-the-wrong-size-try-recompiling/18369312#18369312>`_

Wheels
------

Wheels are uploaded to a `rackspace container <http://a365fff413fe338398b6-1c8a9b3114517dc5fe17b7c3f8c63a43.r19.cf2.rackcdn.com/>`_. Credentials for this container are encrypted to this specific repo in the ``.travis.yml`` file, so the upload won't work from another repository.

PyPI
~~~~

Download wheels from Rackspace::

    wget -m -A 'Pillow-<VERSION>*' \
    http://a365fff413fe338398b6-1c8a9b3114517dc5fe17b7c3f8c63a43.r19.cf2.rackcdn.com

Upload wheels to PyPI::

    cd a365fff413fe338398b6-1c8a9b3114517dc5fe17b7c3f8c63a43.r19.cf2.rackcdn.com
    twine upload Pillow-<VERSION>*