[package]
edition = "2021"
name = "fiddler"
version = "4.2.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Data Stream processor written in rust"
readme = "README.md"
license-file = "LICENSE"
resolver = "1"
[package.metadata]
msrv = "1.74.1"
[features]
all = [
"python",
"elasticsearch",
"aws",
"prometheus",
"clickhouse",
"http_server",
]
aws = [
"dep:aws-config",
"dep:aws_lambda_events",
"dep:aws-sdk-sqs",
"dep:aws-sdk-s3",
"dep:aws-sdk-cloudwatch",
]
clickhouse = ["dep:reqwest"]
default = []
elasticsearch = ["dep:elasticsearch"]
http_server = [
"dep:axum",
"dep:tower-http",
]
prometheus = [
"dep:metrics",
"dep:metrics-exporter-prometheus",
]
python = ["dep:pyo3"]
[lib]
name = "fiddler"
path = "src/lib.rs"
[[test]]
name = "aws_s3_test"
path = "tests/aws_s3_test.rs"
[[test]]
name = "aws_sqs_test"
path = "tests/aws_sqs_test.rs"
[[test]]
name = "elasticsearch_test"
path = "tests/elasticsearch_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[dependencies.async-std]
version = "1.12.0"
features = [
"attributes",
"std",
]
[dependencies.async-trait]
version = "0.1.78"
[dependencies.aws-config]
version = "1.1.7"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-cloudwatch]
version = "1.72.0"
optional = true
[dependencies.aws-sdk-s3]
version = "1.83.0"
optional = true
[dependencies.aws-sdk-sqs]
version = "1.64.0"
optional = true
[dependencies.aws_lambda_events]
version = "0.16.0"
optional = true
[dependencies.axum]
version = "0.7"
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
version = "0.4.40"
features = ["serde"]
[dependencies.elasticsearch]
version = "8.5.0-alpha.1"
features = ["rustls-tls"]
optional = true
[dependencies.fiddler-macros]
version = "1.1.0"
[dependencies.fiddler-script]
version = "0.1.1"
[dependencies.flate2]
version = "1.1.1"
[dependencies.flume]
version = "0.11.1"
features = ["async"]
[dependencies.futures]
version = "0.3.31"
[dependencies.handlebars]
version = "6.3.2"
features = ["no_logging"]
[dependencies.indexmap]
version = "2"
[dependencies.jmespath]
version = "0.3.0"
[dependencies.jsonschema]
version = "0.17.1"
[dependencies.metrics]
version = "0.24"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.16"
optional = true
[dependencies.num_cpus]
version = "1.16.0"
[dependencies.once_cell]
version = "1.19.0"
[dependencies.pyo3]
version = "0.24.2"
features = [
"serde",
"auto-initialize",
]
optional = true
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.rustc-hash]
version = "2.1"
[dependencies.serde]
version = "1.0.197"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.114"
[dependencies.serde_yaml]
version = "0.9.32"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tokio]
version = "1.36.0"
features = ["full"]
[dependencies.tower-http]
version = "0.5"
features = [
"cors",
"trace",
]
optional = true
[dependencies.tracing]
version = "0.1.40"
[dependencies.uuid]
version = "1.11.0"
features = ["v4"]
[dev-dependencies.aws-smithy-types]
version = "1.3.1"
features = ["rt-tokio"]
[dev-dependencies.testcontainers]
version = "0.23.3"
[dev-dependencies.testcontainers-modules]
version = "0.11.6"
features = [
"elastic_search",
"localstack",
]
[dev-dependencies.tokio-test]
version = "0.4.4"
[build-dependencies.fs_extra]
version = "1.3.0"
[build-dependencies.pkg-config]
version = "0.3.30"
[build-dependencies.regex]
version = "1.10.3"
[lints.clippy]
enum_glob_use = "deny"
unwrap_used = "warn"
[lints.rust]
missing-docs = "warn"
redundant-imports = "warn"
unsafe_code = "forbid"
unused-crate-dependencies = "warn"
unused-extern-crates = "warn"
unused-import-braces = "warn"