ripopt 0.7.1

A memory-safe interior point optimizer in Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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