#options #optify

optify

Simplifies getting the right configuration options for a process using pre-loaded configurations from files (JSON, YAML, etc.) to manage options for experiments or flights. This library is mainly made to support building implementations for other languages such as Node.js, Python, and Ruby. It is not meant to be consumed directly yet.

9 releases (5 breaking)

new 0.9.0 May 9, 2025
0.8.1 May 1, 2025
0.8.0 Apr 22, 2025
0.7.0 Apr 10, 2025
0.1.0 Jan 29, 2025

#159 in Configuration

Download history 129/week @ 2025-01-29 8/week @ 2025-02-05 82/week @ 2025-02-12 38/week @ 2025-02-19 4/week @ 2025-02-26 108/week @ 2025-03-05 24/week @ 2025-03-12 237/week @ 2025-04-02 155/week @ 2025-04-09 82/week @ 2025-04-16 46/week @ 2025-04-23 145/week @ 2025-04-30

460 downloads per month

MIT license

39KB
717 lines

Optify in Rust

Crates.io docs.rs

The core implementation of Optify in Rust. Simplifies getting the right configuration options for a process using pre-loaded configurations from files (JSON, YAML, etc.) to manage options for experiments or flights.

See tests for examples and tests for different implementations of this format for managing options.

See the root README.md for more information and examples.

⚠️ Development in progress ⚠️
APIs are not final and may change, for example, names may change. This is just meant to be minimal to get started and help build Python and Ruby libraries.

How It Works

The config crate (library) is used to help combine configuration files.

Optionally, when working locally, there is support to watch for changes to the configuration files and folders using the notify-debouncer-full crate (library).

Testing

Run:

cargo test

Formatting

To automatically change code, run:

cargo fmt && cargo clippy --fix --allow-dirty --allow-staged

Publishing

cargo login
cargo publish

Dependencies

~5–13MB
~180K SLoC