15 unstable releases

0.8.1 Mar 26, 2025
0.7.0 Dec 10, 2023
0.6.0 Jun 16, 2022
0.5.4 Apr 21, 2021
0.3.2 Jul 25, 2018

#19 in Science

Download history 651/week @ 2025-10-21 542/week @ 2025-10-28 459/week @ 2025-11-04 574/week @ 2025-11-11 521/week @ 2025-11-18 334/week @ 2025-11-25 538/week @ 2025-12-02 403/week @ 2025-12-09 368/week @ 2025-12-16 78/week @ 2025-12-23 207/week @ 2025-12-30 336/week @ 2026-01-06 385/week @ 2026-01-13 341/week @ 2026-01-20 366/week @ 2026-01-27 578/week @ 2026-02-03

1,747 downloads per month
Used in 13 crates (9 directly)

MIT license

2MB
36K SLoC

C 22K SLoC // 0.2% comments FORTRAN Legacy 7K SLoC // 0.4% comments C++ 3K SLoC // 0.1% comments SWIG 2.5K SLoC // 0.2% comments Rust 1.5K SLoC // 0.0% comments Objective-C 627 SLoC Python 80 SLoC // 0.1% comments FORTRAN Modern 53 SLoC Scheme 37 SLoC Shell 22 SLoC

crates.io Build Status Documentation

nlopt

Thin wrapper around the C nlopt library.

Building

You will need cmake to build successfully. It should be easy to find on your favourite package manager.

Examples

For a basic usage examples, see the /examples directory. Run with

cargo run --example bobyqa
cargo run --example mma

See also the tests in src/lib.rs. Run them with

cargo test

Attribution

This library was originally forked from https://github.com/mithodin/rust-nlopt.

License

The Rust code is licensed under MIT.

For convenience, this crate bundles nlopt and links it statically. This may have licensing implications so I refer the user to the bundled license for more information.

No runtime deps