Crates.io | fiddler |
lib.rs | fiddler |
version | |
source | src |
created_at | 2024-03-31 00:08:22.653501+00 |
updated_at | 2025-05-10 17:42:05.92669+00 |
description | Data Stream processor written in rust |
homepage | |
repository | |
max_upload_size | |
id | 1191370 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
cargo install fiddler
cargo build --release --features all
Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
fiddler run -c <path_to_config_file> [ -c ... ]
Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
fiddler lint -c <path_to_config_file> [ -c ... ]
Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml
. I.e. if you have a configuration input.yaml
. The expected filename is input_test.yaml
.
The test file syntax is as follows:
- name: name_of_test
inputs:
- list of expected input strings
expected_outputs:
- list of expected output strings
For example:
- name: input_test
inputs:
- Hello World
expected_outputs:
- Hello World
fiddler-cli test -c <path_to_configuration>.yaml
Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd
and fiddler
.
cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd
Next create your runtime, by default in src/main.rs
use fiddler_cmd::run;
use fiddler::Error;
use fiddler::config::{ConfigSpec, register_plugin};
#[tokio::main]
async fn main() -> Result<(), Error> {
// insert registration of custom modules here
register_plugin("mock".into(), ItemType::Input, conf_spec, create_mock_input)?;
// run the normal CLI
run().await
}
Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.
Contributions are welcome and encouraged! Contributions come in many forms. You could:
Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.