GithubHelp home page GithubHelp logo

numpy-wheels's Introduction

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:

  • checks out either a known version of NumPy or master's HEAD
  • downloads OpenBLAS using numpy/tools/openblas_support.py
  • builds a numpy wheel, linking against the downloaded library and using the appropriate additional variables from env_vars.sh or env_vars32.sh
  • processes the wheel using delocate (OSX) or auditwheel repair (manylinux). delocate and auditwheel copy the required dynamic libraries into the wheel and relinks the extension modules against the copied libraries;
  • uploads the wheel to the appropriate release or nightly Anaconda 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.yml files 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:

  • making a commit to the numpy-wheels repository (e.g. with git commit --allow-empty) followed by a push of the desired branch.
  • merging a pull request to the master branch

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 the azure-pipelines.yml file, the wheels will be uploaded to https://anaconda.org/multibuild-wheels-staging/numpy. The NIGHTLY_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 the download-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 <path_to_wheelhouse>

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 run download-wheels.py and permissions in order to upload to PyPI.

numpy-wheels's People

Contributors

ahaldane avatar charris avatar isuruf avatar matthew-brett avatar mattip avatar rgommers avatar seiko2plus avatar tylerjereddy avatar xoviat avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.