Skip to main content

continuous-integration PyPI version

sco_py: Sequential Convex Optimization with Python

sco_py is a lightweight Sequential Convex Optimization library for solving non-convex optimization problems. sco_py is intended for use with the OpenTAMP planning system. Currently, the library supports both Gurobi (license required) and OSQP (open-source, no license required!) as backend QP solvers.

Installation

From PyPI with pip

Simply run: pip install sco-py

From GitHub with pip

Simply run: pip install git+https://github.com/Algorithmic-Alignment-Lab/sco_py.git

Developer (from source)

  1. Clone this repository from GitHub
  2. Install Poetry by following the instructions from here
  3. Install all dependencies with poetry install.

Contributing

sco is an open-source repository and as such, we welcome contributions from interested members of the community! If you have a new idea for a feature/contribution, do post in the 'Discussions' tab of the GitHub repository to get some feedback from the maintainers before starting development. In general, we recommend that you fork the main repository, create a new branch with your proposed change, then open a pull-request into the main repository. The main requirement for a new feature is that it cannot break the current test cases (see below for how to run our tests) unless this is unavoidable, and in this case, it should modify/introduce new tests as necessary. In particular, we welcome updates to documentation (docstrings, comments, etc. that make the codem more approachable for new users) and test cases!

Running tests

If you do not have a license for Gurobi, then you can only run the OSQP tests. To do so, run:

pytest tests/sco_osqp/

If you do have a license for Gurobi, then you can run all tests with the pytest command.

Note that our Contrinuous Integration (CI) setup only checks and reports status for OSQP tests. In general, if you are contributing a new feature, it must pass the existing OSQP tests and contribute new tests that test the new feature at least with OSQP (and preferably with Gurobi as well).

Metadata

Release files for sco-py 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sco-py 0.4.0
File Size Uploaded Provenance
sco_py-0.4.0.tar.gz 23.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for sco-py 0.4.0
File Interpreter ABI Platform
sco_py-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.1 kB

Release files / sco_py-0.4.0.tar.gz

Download URL sco_py-0.4.0.tar.gz
Size 23.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6c8a9456242984efa9c785035cbca45859532c251246ec27038c1e320482faf9
BLAKE2b-256 checksum
How to use checksums
c779af097848593493cbef5a8b78887c6ae08268958ad9ae214fb44d867a089b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.8 CPython/3.7.12 Linux/5.13.0-1021-azure

Release files / sco_py-0.4.0-py3-none-any.whl

Download URL sco_py-0.4.0-py3-none-any.whl
Size 26.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2858e78c434eeed86caded5bc5e238739d3c21c3c59ab87dddba13d8d131a85d
BLAKE2b-256 checksum
How to use checksums
76f7336e8a365a16d99f17d1761a006f6e1722cc4727e292ee8c3ebff8ed39e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.8 CPython/3.7.12 Linux/5.13.0-1021-azure

Security for sco-py 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page