Cargo Features

[dependencies]
clarabel = { version = "0.11.0", default-features = false, features = ["serde", "sdp", "buildinfo", "sdp-accelerate", "sdp-netlib", "sdp-openblas", "sdp-mkl", "sdp-r", "julia", "python", "faer-sparse", "pardiso-panua", "pardiso-mkl", "pardiso", "bench"] }

-------------------------------
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, serde-big-array, 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 enums::CliqueMergeMethodsFFI, settings::DefaultSettingsFFI.chordal_decomposition_enable, settings::DefaultSettingsFFI.chordal_decomposition_merge_method, settings::DefaultSettingsFFI.chordal_decomposition_compact, settings::DefaultSettingsFFI.chordal_decomposition_complete_dual, 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 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 = intel-mkl-src, sdp

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

sdp-r = sdp

Enables r of blas-src and lapack-src

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 derive_more, libc, num-derive, and pyo3

Affects clarabel::python

faer-sparse julia? python?

compile with faer supernodal solver option

Enables faer ^0.21.9 and faer-traits ^0.21.5

Affects ldlsolvers::faer_ldl

pardiso-panua pardiso?

various pardiso options

Enables panua of pardiso-wrapper

Affects impl_default_py::PyDefaultSettings.pardiso_iparm, impl_default_py::PyDefaultSettings.pardiso_verbose, ldlsolvers::pardiso, settings::DefaultSettingsFFI.pardiso_iparm, settings::DefaultSettingsFFI.pardiso_verbose, settings::DefaultSettings.pardiso_iparm, settings::DefaultSettings.pardiso_verbose

pardiso-mkl pardiso?

Enables mkl of pardiso-wrapper

Affects impl_default_py::PyDefaultSettings.pardiso_iparm, impl_default_py::PyDefaultSettings.pardiso_verbose, ldlsolvers::pardiso, settings::DefaultSettingsFFI.pardiso_iparm, settings::DefaultSettingsFFI.pardiso_verbose, settings::DefaultSettings.pardiso_iparm, settings::DefaultSettings.pardiso_verbose

pardiso = pardiso-mkl, pardiso-panua
bench

compile with more exhaustive benchmarking tests

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

pardiso-wrapper pardiso-mkl? pardiso-panua?
blas-src sdp-accelerate? sdp-mkl? sdp-netlib? sdp-openblas? sdp-r?
lapack-src sdp-accelerate? sdp-mkl? sdp-netlib? sdp-openblas? sdp-r?