Skip to main content

Clarabel.jl logo

Interior Point Conic Optimization for Rust and Python

Features • Installation • License • Documentation

Clarabel.rs is a Rust implementation of an interior point numerical solver for convex optimization problems using a novel homogeneous embedding. Clarabel.rs solves the following problem:

$$ \begin{array}{r} \text{minimize} & \frac{1}{2}x^T P x + q^T x\\[2ex] \text{subject to} & Ax + s = b \\[1ex] & s \in \mathcal{K} \end{array} $$

with decision variables $x \in \mathbb{R}^n$, $s \in \mathbb{R}^m$ and data matrices $P=P^\top \succeq 0$, $q \in \mathbb{R}^n$, $A \in \mathbb{R}^{m \times n}$, and $b \in \mathbb{R}^m$. The convex set $\mathcal{K}$ is a composition of convex cones.

For more information see the Clarabel Documentation (stable | dev).

Clarabel is also available in a Julia implementation. See here.

Features

  • Versatile: Clarabel.rs solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs) and semidefinite programs (SDPs). It also solves problems with exponential, power cone and generalized power cone constraints.
  • Quadratic objectives: Unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE), Clarabel.rs handles quadratic objectives without requiring any epigraphical reformulation of the objective. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions.
  • Infeasibility detection: Infeasible problems are detected using a homogeneous embedding technique.
  • Open Source: Our code is available on GitHub and distributed under the Apache 2.0 License

Installation

Clarabel can be imported to Cargo based Rust projects by adding

[dependencies]
clarabel = "0"  

to the project's Cargo.toml file. To install from source, see the Rust Installation Documentation.

To use the Python interface to the solver:

pip install clarabel

To install the Python interface from source, see the Python Installation Documentation.

Citing

@misc{Clarabel_2024,
      title={Clarabel: An interior-point solver for conic programs with quadratic objectives}, 
      author={Paul J. Goulart and Yuwen Chen},
      year={2024},
      eprint={2405.12762},
      archivePrefix={arXiv},
      primaryClass={math.OC}
}

License 🔍

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Metadata

Release files for clarabel 0.11.1

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

Source distribution (sdist)

Source distribution for clarabel 0.11.1
File Size Uploaded Provenance Actions
clarabel-0.11.1.tar.gz 253.9 kB Without provenance Details for clarabel-0.11.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for clarabel 0.11.1
File Actions
clarabel-0.11.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details for clarabel-0.11.1-cp39-abi3-win_amd64.whl
clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details for clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details for clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details for clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl
clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details for clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl

Total release size: 5.4 MB

Release files / clarabel-0.11.1.tar.gz

Download URL clarabel-0.11.1.tar.gz
Size 253.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e7c41c47f0e59aeab99aefff9e58af4a8753ee5269bbeecbd5526fc6f41b9598
BLAKE2b-256 checksum
How to use checksums
81e247f692161779dbd98876015de934943effb667a014e6f79a6d746b3e4c2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / clarabel-0.11.1-cp39-abi3-win_amd64.whl

Download URL clarabel-0.11.1-cp39-abi3-win_amd64.whl
Size 887.3 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
557d5148a4377ae1980b65d00605ae870a8f34f95f0f6a41e04aa6d3edf67148
BLAKE2b-256 checksum
How to use checksums
41e64eee3062088c221e5a18b054e51c69f616e0bb0dc1b0a1a5e0fe90dfa18e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c8c41aaa6f3f8c0f3bd9d86c3e568dcaee079562c075bd2ec9fb3a80287380ef
BLAKE2b-256 checksum
How to use checksums
6ba9c76edf781ca3283186ff4b54a9a4fb51367fd04313a68e2b09f062407439
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
e4837b9d0db01e98239f04b1e3526a6cf568529d3c19a8b3f591befdc467f9bb
BLAKE2b-256 checksum
How to use checksums
2b9e7af10d2b540b39f1a05d1ebba604fce933cc9bc0e65e88ec3b7a84976425
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl

Download URL clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl
Size 935.1 kB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8963687ee250d27310d139eea5a6816f9c3ae31f33691b56579ca4f0f0b64b63
BLAKE2b-256 checksum
How to use checksums
b08f13650cfe25762b51175c677330e6471d5d2c5851a6fbd6df77f0681bb34e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Release files / clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c39160e4222040f051f2a0598691c4f9126b4d17f5b9e7678f76c71d611e12d8
BLAKE2b-256 checksum
How to use checksums
34f7f82698b6d00a40a80c67e9a32b2628886aadfaf7f7b32daa12a463e44571
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.23

Security for clarabel 0.11.1

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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