GitHub - MacPython/numpy-wheels (original) (raw)

This repository is archived because NumPy is no longer building its wheels with multibuild. Instead, it uses cibuildwheel and the build config for that is maintained inhttps://github.com/numpy/numpy.

Building and uploading numpy wheels

The wheel builds are currently done using Azure Pipelines and TravisCI, Appveyor is not used and is disabled at this time.

Build process pages

Uploaded file locations

How it works

The wheel-building repository:

The resulting wheels are self-contained and do not need any external dynamic libraries apart from those provided as standard by OSX / Linux as defined by the manylinux standard.

Triggering a build

You will likely want to edit the azure-pipelines.yml and .travis.ymlfiles to specify the BUILD_COMMIT before triggering a build - see below.

You will need write permission to the github repository to trigger new builds. Contact us on the mailing list if you need this.

You can trigger a build by either of two methods:

Which numpy commit does the repository build?

PRs merged to this repo from a fork, and commits directly pushed to this repo will build the commit specified in the BUILD_COMMIT at the top of theazure-pipelines.yml file, the wheels will be uploaded to https://anaconda.org/multibuild-wheels-staging/numpy. TheNIGHTLY_BUILD_COMMIT is built once a week (sorry for the misnomer), and uploaded to https://anaconda.org/scipy-wheels-nightly/. The value of BUILD_COMMIT can be any naming of a commit, including branch name, tag name or commit hash.

Uploading the built wheels to pypi

When the wheels are updated, you can download them using thedownload-wheels.py script and then upload them using twine. Things are done this way so that we can generate hashes and the README files needed for a release before putting the wheels up on PyPI. The download-wheels.py script is run as follows:

$ python3 tools/download-wheels.py 1.19.0 -w

Where 1.19.0 is the release version, The wheelhouse argument is optional and defaults to ./release/installers.

You will need beautifulsoup4 and urllib3 installed in order to rundownload-wheels.py and permissions in order to upload to PyPI.