cvxopt / cvxopt-wheels

CVXOPT wheels

Home Page:http://cvxopt.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CVXOPT wheels for macOS, Linux, and Windows

This repository automates CVXOPT wheel building using multibuild, Travis CI, and AppVeyor.

Build Status AppVeyor Build Status

Copyright and license

CVXOPT is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

CVXOPT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

What is being built?

We currently build the following:

  • Self-contained wheels for macOS and Linux (manylinux1), including the optional dependencies DSDP, FFTW, GLPK, and GSL. The Linux wheels are linked against OpenBLAS, and the macOS wheels are linked against Accelerate.
  • Wheels for Windows without any of the optional dependencies (Python 3.5+ wheels include GLPK). The wheels are linked against OpenBLAS.

The build process performs the following steps:

  • downloads SuiteSparse source
  • builds OpenBLAS (Linux)
  • builds all optional dependencies (DSDP, FFTW, GLPK, and GSL) (macOS/Linux)
  • builds CVXOPT wheel, linking against dependencies
  • processes wheel using delocate (macOS) or auditwheel (Linux) to include dependencies in wheel
  • uploads wheel to a Rackspace container (macOS/Linux) or to AppVeyor cloud storage (Windows)

Version numbers for the dependencies can be found in the library_builders.sh source file.

Triggering a build

The build process is triggered by making a commit to the cvxopt-wheels repository. The variable BUILD_COMMIT in .travis.yml and .appveyor.yml specifies which commit from the CVXOPT repository to build.

About

CVXOPT wheels

http://cvxopt.org


Languages

Language:Shell 73.2%Language:Batchfile 26.8%