https://github.com/oxfordcontrol/osqp-wheels
OSQP Python wheels builder
https://github.com/oxfordcontrol/osqp-wheels
conda deployment optimization package python
Last synced: about 2 months ago
JSON representation
OSQP Python wheels builder
- Host: GitHub
- URL: https://github.com/oxfordcontrol/osqp-wheels
- Owner: oxfordcontrol
- License: apache-2.0
- Created: 2018-06-08T21:34:26.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-09-22T18:37:51.000Z (over 4 years ago)
- Last Synced: 2025-06-28T07:38:41.414Z (12 months ago)
- Topics: conda, deployment, optimization, package, python
- Language: Shell
- Homepage: https://osqp.org/
- Size: 61.5 KB
- Stars: 1
- Watchers: 4
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OSQP
This repository automates [OSQP](https://github.com/oxfordcontrol/osqp) wheel building using [multibuild](https://github.com/matthew-brett/multibuild), [Travis CI](https://travis-ci.org/oxfordcontrol/osqp-wheels), and [AppVeyor](https://ci.appveyor.com/project/bstellato/osqp-wheels).
[](https://travis-ci.org/oxfordcontrol/osqp-wheels)
[](https://ci.appveyor.com/project/bstellato/osqp-wheels/branch/master)
How it works
============
The wheel-building repository:
- does a fresh build of any required C / C++ libraries;
- builds a osqp wheel, linking against these fresh builds;
- processes the wheel using
[delocate](https://pypi.python.org/pypi/delocate) (OSX) or
[auditwheel](https://pypi.python.org/pypi/auditwheel) `repair`
([Manylinux1](https://www.python.org/dev/peps/pep-0513)). `delocate`
and `auditwheel` copy the required dynamic libraries into the wheel
and relinks the extension modules against the copied libraries;
- uploads the built wheels to a Rackspace container - see "Using the
repository" above. The containers were kindly donated by Rackspace
to scikit-learn).
The resulting wheels are therefore self-contained and do not need any
external dynamic libraries apart from those provided as standard as
defined by the manylinux1 standard.
Triggering a build
==================
You will likely want to edit the `.travis.yml` and `appveyor.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 on the travis-ci interface. Contact us on the mailing list if you
need this.
You can trigger a build by:
- making a commit to the `osqp-wheels` repository (e.g. with
`git commit --allow-empty`); or
- clicking on the circular arrow icon towards the top right of the
travis-ci page, to rerun the previous build.
In general, it is better to trigger a build with a commit, because this
makes a new set of build products and logs, keeping the old ones for
reference. Keeping the old build logs helps us keep track of previous
problems and successful builds.
Which osqp version does the repository build?
============================================
The `osqp-wheels` repository will build the commit specified in the
`BUILD_COMMIT` at the top of the `.travis.yml` and `appveyor.yml` files.
This can be any naming of a commit, including branch name, tag name or
commit hash.
NB: The directory **osqp_sources** must be updated to the latest repository version in order to have all the commits.
PyPI
====
Download wheels from bintray.com
```
./download_wheels.py $BUILD_COMMIT
```
where `BUILD_COMMIT` can be anything like `v0.3.1`.
This script will download the wheels in to the `tmp/` folder.
Upload wheels to PyPI
```
twine upload tmp/*
```
For the twine access user and password ask [Bartolomeo Stellato](mailto:bartolomeo.stellato@gmail.com).