# -------------------------------------------------------------------------- # P.A.C.K.A.G.E. I.N.F.O # -------------------------------------------------------------------------- [package] # Authors of this package authors = [ "Emil Fresk ", "Pantelis Sopasakis (https://alphaville.github.io)", ] # Crate categories (chosed from a list of valid categories at https://crates.io/categories) categories = [ "embedded", "algorithms", "science::robotics", "development-tools", "simulation", ] # Keywords keywords = ["embedded", "optimization", "solver", "NMPC", "MPC"] # Short description description = "A pure Rust framework for embedded nonconvex optimization. Ideal for robotics!" # This is the API documentation documentation = "https://docs.rs/optimization_engine" # Licenses license = "MIT OR Apache-2.0" # README file readme = "README.md" # Name of this crate name = "optimization_engine" # Homepage homepage = "https://alphaville.github.io/optimization-engine/" # Link to github repo repository = "https://github.com/alphaville/optimization-engine" # Version of this crate (SemVer) version = "0.9.1" edition = "2018" # change this to `true` if you want to publish the crate; this is done as a # safety measure. Before you publish, make sure that: # - You have updated the version (SemVer) # - You have updated the documentation # - You have checked the exclude list below # - All tests pass #After you publish: # - Update the webpage (e.g., make a blog post) publish = true exclude = [ "design/*", "docs/*", "icasadi/*", "matlab/*", "open-clib/*", "open-codegen/*", "website/*", ] # -------------------------------------------------------------------------- # D.O.C.S # -------------------------------------------------------------------------- [package.metadata.docs.rs] rustdoc-args = ["--html-in-header", "katex-header.html"] # -------------------------------------------------------------------------- # D.E.P.E.N.D.E.N.C.I.E.S # -------------------------------------------------------------------------- [dependencies] num = "0.4" # Our own stuff - L-BFGS: limited-memory BFGS directions lbfgs = "0.2" # Instant is a generic timer that works on Wasm (with wasm-bindgen) instant = { version = "0.1" } # Wasm-bindgen is only activated if OpEn is compiled with `--features wasm` wasm-bindgen = { version = "0.2", optional = true } # sc-allocator provides an implementation of a bump allocator rpmalloc = { version = "0.2", features = [ "guards", "statistics", ], optional = true } # computation of roots of cubic equation needed for the projection on the # epigraph of the squared Euclidean norm roots = "0.0.8" # Least squares solver ndarray = { version = "0.15", features = ["approx"] } modcholesky = "0.1" # jemallocator is an optional feature; it will only be loaded if the feature # `jem` is used (i.e., if we compile with `cargo build --features jem`) [target.'cfg(not(target_env = "msvc"))'.dependencies] jemallocator = { version = "0.5", optional = true } # -------------------------------------------------------------------------- # F.E.A.T.U.R.E.S. # -------------------------------------------------------------------------- [features] # Use `jemallocator` as a global memory allocator (requires the dependency # `jemallocator` - see above) jem = ["jemallocator"] # RPMalloc rp = ["rpmalloc"] # WebAssembly wasm = ["wasm-bindgen", "instant/wasm-bindgen", "instant/inaccurate"] # -------------------------------------------------------------------------- # T.E.S.T. D.E.P.E.N.D.E.N.C.I.E.S # -------------------------------------------------------------------------- # These dependencies are only used for testing [dev-dependencies] unit_test_utils = "0.1.3" # Note: path dependencies (even dev-dependencies) cannot be local in order # to publish a crate, so the following line can only be used when # testing locally # icasadi_test = { path = "test/icasadi_test/" } # instead, use: icasadi_test = "0.0.2" # Random number generators for unit tests: rand = "0.8" # -------------------------------------------------------------------------- # B.A.D.G.E.S. # -------------------------------------------------------------------------- [badges] # Travis "build-passing" badge travis-ci = { repository = "alphaville/optimization-engine", branch = "master" } # Actively maintained badge maintenance = { status = "actively-developed" }