Cargo Features

[dependencies]
clarabel = { version = "0.9.0", default-features = false, features = ["serde", "sdp", "sdp-accelerate", "sdp-netlib", "sdp-openblas", "sdp-mkl", "sdp-r", "julia", "python", "wasm", "faer-sparse"] }

-------------------------------
features
-------------------------------

default = serde

The serde feature is set by default whenever clarabel is added without default-features = false somewhere in the dependency tree.

serde default julia? python?

enable reading / writing of problems from json files

Enables serde and serde_json

Affects solver::SolverJSONReadWrite

sdp julia? python? sdp-accelerate? sdp-mkl? sdp-netlib? sdp-openblas? sdp-r? = blas, indexmap, lapack

enables blas/lapack for SDP support, with blas/lapack src unspecified also enable packages required for chordal decomposition

Affects settings::DefaultSettings.chordal_decomposition_enable, settings::DefaultSettings.chordal_decomposition_merge_method, settings::DefaultSettings.chordal_decomposition_compact, settings::DefaultSettings.chordal_decomposition_complete_dual

sdp-accelerate = sdp

explicit configuration options for different blas flavours

Enables accelerate of blas-src and lapack-src

sdp-netlib = sdp

Enables netlib of blas-src and lapack-src

sdp-openblas = sdp

Enables openblas of blas-src and lapack-src

sdp-mkl = sdp

Enables intel-mkl of blas-src and lapack-src

sdp-r = sdp

Enables r of blas-src and lapack-src

julia = faer-sparse, sdp, serde

build as the julia interface

Enables libc and num-derive ^0.2

Affects clarabel::julia

python = faer-sparse, sdp, serde

build as the python interface via maturin.
NB: python builds use scipy shared libraries
for blas/lapack, and should *not* explicitly
enable a blas/lapack source package

Enables libc, num-derive ^0.2, and pyo3 ^0.20

Affects clarabel::python

wasm

Enables web-time ^0.2.3

faer-sparse julia? python?

compile with faer supernodal solver option

Enables faer and faer-entity

Affects ldlsolvers::faer_ldl

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

blas sdp?
indexmap sdp?
lapack sdp?
blas-src sdp-accelerate? sdp-mkl? sdp-netlib? sdp-openblas? sdp-r?
lapack-src sdp-accelerate? sdp-mkl? sdp-netlib? sdp-openblas? sdp-r?