[package]
edition = "2021"
name = "ripopt"
version = "0.7.1"
build = "build.rs"
exclude = [
"adversary/",
"benchmarks/",
".crucible/",
"docs/",
"manuscript/",
"research/",
"tutorials/",
"Ripopt.jl/",
"ipopt-rust.png",
"*.pdf",
"*.ipynb",
"RIPOPT_VS_IPOPT.md",
".github/",
"CLAUDE.md",
"narrative-history.org",
"reflections.org",
"examples/debug_tp*.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A memory-safe interior point optimizer in Rust"
readme = "README.md"
keywords = [
"optimization",
"nlp",
"interior-point",
"nonlinear",
"solver",
]
categories = [
"mathematics",
"science",
"algorithms",
]
license = "EPL-2.0"
repository = "https://github.com/jkitchin/ripopt"
[features]
cutest = []
default = [
"rmumps",
"faer",
]
faer = ["dep:faer"]
hs = []
ipopt-native = []
num-dual = [
"dep:num-dual",
"dep:nalgebra",
]
rmumps = ["dep:rmumps"]
[lib]
name = "ripopt"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "ripopt"
path = "src/bin/ripopt_ampl.rs"
[[example]]
name = "autodiff_num_dual"
path = "examples/autodiff_num_dual.rs"
required-features = ["num-dual"]
[[example]]
name = "benchmark"
path = "examples/benchmark.rs"
[[example]]
name = "benchmark_solvers"
path = "examples/benchmark_solvers.rs"
[[example]]
name = "caching_new_x"
path = "examples/caching_new_x.rs"
[[example]]
name = "cat_a_probe"
path = "examples/cat_a_probe.rs"
required-features = ["cutest"]
[[example]]
name = "cho_benchmark"
path = "examples/cho_benchmark.rs"
[[example]]
name = "compare_large_scale"
path = "examples/compare_large_scale.rs"
required-features = ["ipopt-native"]
[[example]]
name = "diff_harness"
path = "examples/diff_harness.rs"
required-features = ["ipopt-native"]
[[example]]
name = "electrolyte_benchmark"
path = "examples/electrolyte_benchmark.rs"
[[example]]
name = "grid_benchmark"
path = "examples/grid_benchmark.rs"
[[example]]
name = "hs071"
path = "examples/hs071.rs"
[[example]]
name = "issue_6_repro"
path = "examples/issue_6_repro.rs"
[[example]]
name = "issue_7_repro"
path = "examples/issue_7_repro.rs"
[[example]]
name = "lbfgs_hessian"
path = "examples/lbfgs_hessian.rs"
[[example]]
name = "probe_external"
path = "examples/probe_external.rs"
[[example]]
name = "regression_test"
path = "examples/regression_test.rs"
[[example]]
name = "rosenbrock"
path = "examples/rosenbrock.rs"
[[example]]
name = "sensitivity"
path = "examples/sensitivity.rs"
[[example]]
name = "sipopt_analytical"
path = "examples/sipopt_analytical.rs"
[[test]]
name = "augmented_lagrangian"
path = "tests/augmented_lagrangian.rs"
[[test]]
name = "c_api"
path = "tests/c_api.rs"
[[test]]
name = "correctness"
path = "tests/correctness.rs"
[[test]]
name = "electrolyte_thermo"
path = "tests/electrolyte_thermo.rs"
[[test]]
name = "grid"
path = "tests/grid.rs"
[[test]]
name = "hs_problems_subset"
path = "tests/hs_problems_subset.rs"
[[test]]
name = "hs_regression"
path = "tests/hs_regression.rs"
[[test]]
name = "ipm_paths"
path = "tests/ipm_paths.rs"
[[test]]
name = "iterative_solvers"
path = "tests/iterative_solvers.rs"
[[test]]
name = "large_scale"
path = "tests/large_scale.rs"
[[test]]
name = "large_scale_benchmark"
path = "tests/large_scale_benchmark.rs"
[[test]]
name = "lbfgs_ipm"
path = "tests/lbfgs_ipm.rs"
[[test]]
name = "nl_integration"
path = "tests/nl_integration.rs"
[[test]]
name = "sensitivity"
path = "tests/sensitivity.rs"
[dependencies.env_logger]
version = "0.11"
[dependencies.faer]
version = "0.20"
optional = true
[dependencies.libloading]
version = "0.8"
[dependencies.log]
version = "0.4"
[dependencies.nalgebra]
version = "0.34"
optional = true
[dependencies.num-dual]
version = "0.13"
optional = true
[dependencies.rmumps]
version = "0.1.1"
features = ["faer"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[profile.release]
debug = 2