Scientisto

Crates.io MIT licensed Publish codecov

scientisto is a light-weight Rust implementation of the github/scientist library used for careful refactoring of critical code paths. It provides the Experiment struct used to define the conducted experiment and publishing utilities.

About

The library aims to be as minimal as possible, pulling no external dependencies and using a bare minimum from the std library.

Usage

Experiment struct represents a definition of the control and experimental execution block code paths.

The experiment is guided by the configuration specified during the Experiment construction and result observations are published internally using the publish function.

```rust use scientisto::Experiment; use tracing;

let expected: i32 = 1; let result = Experiment::new("Test") .control(|| expected) .experiment(|| expected + 1) .publish(|o: &scientisto::Observation| { tracing::info!("You can do any magic in the publisher") }) .run(); ```

Limitations

Testing

Current code coverage with tests:

Code coverage

License

MIT