[package]
edition = "2024"
name = "pounce-rs"
version = "0.10.0"
authors = ["John Kitchin <jkitchin@andrew.cmu.edu>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Single-crate facade for POUNCE from Rust: re-exports the TNLP trait, the IpoptApplication driver, and the supporting types in one place (plus a prelude), with feature-gated modules for the convex/LP/QP, active-set QP, and sensitivity paths."
readme = "README.md"
keywords = [
"ipopt",
"nlp",
"optimization",
"solver",
"nonlinear",
]
categories = [
"mathematics",
"science",
]
license = "EPL-2.0"
repository = "https://github.com/jkitchin/pounce"
[package.metadata.docs.rs]
all-features = true
[features]
convex = [
"dep:pounce-convex",
"dep:pounce-linsol",
"dep:pounce-feral",
]
default = []
full = [
"convex",
"qp",
"sensitivity",
]
qp = [
"dep:pounce-qp",
"dep:pounce-linalg",
"dep:pounce-linsol",
"dep:pounce-feral",
]
sensitivity = ["dep:pounce-sensitivity"]
[lib]
name = "pounce_rs"
path = "src/lib.rs"
[[test]]
name = "convex_surface"
path = "tests/convex_surface.rs"
[[test]]
name = "iteration_capture"
path = "tests/iteration_capture.rs"
[[test]]
name = "qp_surface"
path = "tests/qp_surface.rs"
[[test]]
name = "sensitivity_surface"
path = "tests/sensitivity_surface.rs"
[[test]]
name = "sqp_surface"
path = "tests/sqp_surface.rs"
[dependencies.pounce-algorithm]
version = "0.10.0"
[dependencies.pounce-common]
version = "0.10.0"
[dependencies.pounce-convex]
version = "0.10.0"
optional = true
[dependencies.pounce-feral]
version = "0.10.0"
optional = true
[dependencies.pounce-linalg]
version = "0.10.0"
optional = true
[dependencies.pounce-linsol]
version = "0.10.0"
optional = true
[dependencies.pounce-nlp]
version = "0.10.0"
[dependencies.pounce-observability]
version = "0.10.0"
[dependencies.pounce-qp]
version = "0.10.0"
optional = true
[dependencies.pounce-sensitivity]
version = "0.10.0"
optional = true
[lints.clippy]
expect_used = "warn"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"