Cargo Features

[dependencies]
clarabel = { version = "0.10.0", default-features = false, features = ["serde", "sdp", "buildinfo", "sdp-accelerate", "sdp-netlib", "sdp-openblas", "sdp-mkl", "sdp-r", "julia", "python", "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

buildinfo build julia? python?

enable detailed build info reporting

Enables vergen

sdp-accelerate = sdp

explicit configuration options for different blas flavours

Enables accelerate of blas-src ^0.10 and lapack-src ^0.10

sdp-netlib = sdp

Enables netlib of blas-src ^0.10 and lapack-src ^0.10

sdp-openblas = sdp

Enables openblas of blas-src ^0.10 and lapack-src ^0.10

sdp-mkl = intel-mkl-src, sdp

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

sdp-r = sdp

Enables r of blas-src ^0.10 and lapack-src ^0.10

julia = buildinfo, faer-sparse, sdp, serde

build as the julia interface

Enables libc and num-derive

Affects clarabel::julia

python = buildinfo, faer-sparse, sdp, serde

build as the python interface via maturin.
python builds will default to use scipy shared libraries for blas/lapack if none of the options above are specified.
This is the behaviour used when building the python wheels for distribution on pypi

Enables libc, num-derive, and pyo3

Affects clarabel::python

faer-sparse julia? python?

compile with faer supernodal solver option

Enables faer and faer-traits

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?

Enables blas ^0.22.0

indexmap sdp?
intel-mkl-src sdp-mkl?
lapack sdp?

Enables lapack ^0.19.0

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

Enables blas-src ^0.10

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

Enables lapack-src ^0.10