[package]
name = "copp"
version = "0.2.2"
edition = "2024"
rust-version = "1.88"
description = "Convex-objective path parameterization for robotic trajectory planning."
license = "MIT"
repository = "https://github.com/TOPP-THU/copp"
readme = "README.md"
categories = ["science::robotics", "algorithms", "mathematics", "simulation"]
keywords = [
"trajectory-planning",
"jerk-limited",
"motion-planning",
"convex-optimization",
"time-optimal",
]
exclude = ["data/**", "target/**", "bindings/python/**/*.pdb"]
[lib]
name = "copp"
crate-type = ["rlib", "cdylib", "staticlib"]
[features]
default = []
python = ["dep:numpy", "dep:pyo3"]
c = []
cpp = ["dep:cxx", "dep:cxx-build"]
matlab = ["c"]
[dependencies]
nalgebra = { version = "0.34.1", features = ["serde-serialize"] }
clarabel = "0.11.1"
thiserror = "2.0.18"
itertools = "0.14.0"
chrono = "0.4.44"
serde = { version = "1.0", features = ["derive"] }
rayon = "1.12.0"
log = "0.4.30"
cxx = { version = "1.0", optional = true }
numpy = { version = "0.28.0", optional = true, features = ["nalgebra"] }
pyo3 = { version = "0.28.3", optional = true }
[build-dependencies]
cxx-build = { version = "1.0", optional = true }
[dev-dependencies]
rand = "0.10.1"
plotters = "0.3.7"
csv = "1.4.0"
rkyv = { version = "0.7.46", default-features = false, features = [
"std",
"validation",
"size_64",
] }
memmap2 = "0.9.10"
env_logger = "0.11.8"
[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "mathjax-config.html"]