clarabel
Clarabel Conic Interior Point Solver for Rust / Python
Decision gist · record as of 2026-08-14
Yes, if you need a robust, actively maintained conic optimizer with native Python bindings. The permissive Apache-2.0 license, zero known vulnerabilities, and support for modern Python versions make it a solid choice for convex optimization. Install friction is moderate due to compiled bindings, but prebuilt wheels cover common platforms. Not necessary if you already use a different solver or if your problems are outside the conic optimization scope.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Compiled Rust extension; if prebuilt wheels unavailable for your platform, installation requires a Rust toolchain.
- Medium install friction due to compiled Rust bindings; prebuilt wheels available for common platforms (x86_64, ARM64 on Linux/macOS/Windows).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial use, modification, and redistribution with minimal restrictions; suitable for proprietary projects.
last release 2025-06-11 (429 days) · last repo commit 2026-04-13 · 585 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,039,053 downloads/mo, #2,393 on PyPI
Alternatives
Verify before relying
pip install clarabel
import clarabel
import numpy as np
# Define a simple quadratic program
P = np.eye(2)
q = np.array([1.0, 2.0])
A = np.array([[1.0, 1.0]])
b = np.array([1.0])
solver = clarabel.DefaultSolver(P, q, A, b)
result = solver.solve()- Numerical stability and convergence guarantees for specific problem classes or scales
- Performance comparison with other interior-point solvers on standard benchmarks
- Memory requirements for large-scale semidefinite programs
What it is and what it does
Clarabel is a Rust-based interior-point solver for convex optimization problems, exposed as a Python package. It solves conic programs—including linear programs, quadratic programs, second-order cone programs, and semidefinite programs—by reformulating them into a standard conic form and applying a homogeneous embedding technique. Unlike many interior-point solvers, it handles quadratic objectives directly without requiring reformulation, which can improve performance for problems with quadratic cost functions.
The package depends on numpy, scipy, and cffi for numerical operations and Python-Rust interoperability. It is actively maintained, supports current Python versions (3.9+), and provides prebuilt wheels for common architectures, reducing installation friction. The solver detects infeasible problems and supports a range of cone types including exponential and power cones, making it suitable for diverse optimization tasks in machine learning, control, finance, and engineering.
Use it for
- Solve portfolio optimization and risk management problems with quadratic objectives and linear constraints
- Formulate and solve machine learning problems like support vector machines and robust regression as conic programs
- Detect infeasibility in constraint systems and provide certificates of infeasibility
- Solve control and robotics problems involving second-order cone constraints
- Benchmark and compare interior-point methods on semidefinite programming instances
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a robust, actively maintained conic optimizer with native Python bindings.
The permissive Apache-2.0 license, zero known vulnerabilities, and support for modern Python versions make it a solid choice for convex optimization. Install friction is moderate due to compiled bindings, but prebuilt wheels cover common platforms. Not necessary if you already use a different solver or if your problems are outside the conic optimization scope.
Install
clarabel on PyPI
Before you install
Medium install friction due to compiled Rust bindings; prebuilt wheels available for common platforms (x86_64, ARM64 on Linux/macOS/Windows). Requires Python 3.9+. Active maintenance with recent commits and steady release cadence.
Requires Python 3.9 or later. Compiled Rust extension; if prebuilt wheels unavailable for your platform, installation requires a Rust toolchain.
License in practice
Apache-2.0 permissive license allows commercial use, modification, and redistribution with minimal restrictions; suitable for proprietary projects.
Quickstart
pip install clarabel
import clarabel
import numpy as np
# Define a simple quadratic program
P = np.eye(2)
q = np.array([1.0, 2.0])
A = np.array([[1.0, 1.0]])
b = np.array([1.0])
solver = clarabel.DefaultSolver(P, q, A, b)
result = solver.solve()
Verify before relying
- Numerical stability and convergence guarantees for specific problem classes or scales
- Performance comparison with other interior-point solvers on standard benchmarks
- Memory requirements for large-scale semidefinite programs
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 3 packagesnumpyscipycffi |
| Maintenance | Actively maintained 429 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,039,053 / month, #2,393 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Rust |
Evidence: clarabel-0.11.1-cp39-abi3-macosx_10_12_x86_64.whl; clarabel-0.11.1-cp39-abi3-macosx_11_0_arm64.whl; clarabel-0.11.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; clarabel-0.11.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; clarabel-0.11.1-cp39-abi3-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “interior point solver”
- clarabelClarabel is an interior-point conic optimization solver that handles…
- optimistixOptimistix provides nonlinear solvers for root finding, minimization,…
- fill-voidsFills interior voids in 2D and 3D binary images using a fast…
Give your agent the search over MCP, or paste the wish link into any chat.
More Mathematics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
kiwisolver is a Python binding to a fast C++ implementation of the Cassowary constraint solver, enabling you to solve systems of linear constraints and inequalities.
Install it if you need to solve constraint systems; skip it if you only need simple linear algebra.
SymPy is a Python library for symbolic mathematics, performing algebraic manipulation, calculus, equation solving, and mathematical expression simplification without numerical approximation.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
PyTorch provides GPU-accelerated tensor computation and automatic differentiation for building and training deep neural networks in Python.
onnxruntime loads and executes Open Neural Network Exchange (ONNX) models with a focus on inference performance across CPUs and accelerators.
Install it if you have ONNX models to run in production or development.
See also cvxopt · ecos · Mosek · scs · cvxpy · qpsolvers · quadprog · optlang · daqp