⚙️ opzioni
A simple and fast configuration library for Rust.
Installation
Add the library to your project via cargo:
cargo add opzioni
Features
By default all features are enabled. This allows to work with JSON, TOML and YAML configs.
If you want to only use a subset run:
cargo add opzioni --no-default-features --features json
Replace json with the features you want to enable. The available features are
- json
- yaml
- toml
You can also enable logs via the tracing crate using the tracing
feature. This feature is disabled by default
Usage
First create a struct implementing Serialize
, Deserialize
and Default
use
Then just load the config file using opzioni:
let config = configure.load.unwrap;
opzioni exposes a RwLock
which can be used to modify the config data:
let lock = config.get;
let data = lock.read.unwrap;
// or
let mut data = lock.write.unwrap;
Once you are done working with the config you can save the changes to disk by calling save
:
config.save.unwrap;