[[bin]]
name = "pipeflow"
path = "src/main.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
optional = true
version = "0.7"
[dependencies.base64]
version = "0.22.1"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.chrono-tz]
version = "0.10"
[dependencies.clap]
features = ["derive"]
version = "4"
[dependencies.cron]
optional = true
version = "0.12"
[dependencies.digest]
version = "0.10"
[dependencies.futures]
version = "0.3.31"
[dependencies.hex]
version = "0.4.3"
[dependencies.humantime]
version = "2.3.0"
[dependencies.humantime-serde]
version = "1"
[dependencies.lettre]
default-features = false
features = ["tokio1", "tokio1-native-tls", "smtp-transport", "builder"]
optional = true
version = "0.11"
[dependencies.md-5]
version = "0.10.6"
[dependencies.rand]
version = "0.9"
[dependencies.redis]
default-features = false
features = ["tokio-comp", "connection-manager"]
optional = true
version = "0.27"
[dependencies.regex]
version = "1.12.2"
[dependencies.reqwest]
features = ["json"]
optional = true
version = "0.12"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha1]
version = "0.10.5"
[dependencies.sha2]
version = "0.10.8"
[dependencies.sqlx]
features = ["runtime-tokio", "sqlite", "postgres", "json"]
optional = true
version = "0.8"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
features = ["rt-multi-thread", "macros", "sync", "time", "fs", "io-util", "signal"]
version = "1"
[dependencies.tokio-stream]
features = ["sync"]
version = "0.1"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[dependencies.uuid]
features = ["v7", "serde"]
version = "1"
[dev-dependencies.anyhow]
version = "1.0.100"
[dev-dependencies.futures]
version = "0.3.31"
[dev-dependencies.tempfile]
version = "3.24.0"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.wiremock]
version = "0.6"
[features]
database = ["dep:sqlx", "dep:cron"]
default = ["http-client", "file", "notify"]
file = []
full = ["http-client", "http-server", "database", "file", "redis", "notify"]
http-client = ["dep:reqwest", "dep:cron"]
http-server = ["dep:axum", "dep:reqwest"]
notify = ["http-client", "dep:lettre"]
redis = ["dep:redis", "dep:cron"]
test-utils = []
[lib]
name = "pipeflow"
path = "src/lib.rs"
[package]
authors = ["Telepair <dev@telepair.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["asynchronous", "data-structures", "command-line-utilities"]
description = "A lightweight, configuration-driven data pipeline framework"
documentation = "https://docs.rs/pipeflow"
edition = "2024"
keywords = ["pipeline", "etl", "data", "streaming", "async"]
license = "MIT"
name = "pipeflow"
readme = "README.md"
repository = "https://github.com/telepair/pipeflow"
rust-version = "1.92"
version = "0.0.4"
[[test]]
name = "common"
path = "tests/common.rs"
[[test]]
name = "config_loading_test"
path = "tests/config_loading_test.rs"
[[test]]
name = "config_validation_test"
path = "tests/config_validation_test.rs"
[[test]]
name = "cycle_check"
path = "tests/cycle_check.rs"
[[test]]
name = "dlq_e2e_test"
path = "tests/dlq_e2e_test.rs"
[[test]]
name = "error_handling_test"
path = "tests/error_handling_test.rs"
[[test]]
name = "file_source_test"
path = "tests/file_source_test.rs"
[[test]]
name = "http_auth_e2e_test"
path = "tests/http_auth_e2e_test.rs"
[[test]]
name = "http_client_scheduling_test"
path = "tests/http_client_scheduling_test.rs"
[[test]]
name = "http_server_test"
path = "tests/http_server_test.rs"
[[test]]
name = "http_sink_test"
path = "tests/http_sink_test.rs"
[[test]]
name = "http_to_blackhole_test"
path = "tests/http_to_blackhole_test.rs"
[[test]]
name = "http_to_console_test"
path = "tests/http_to_console_test.rs"
[[test]]
name = "http_to_file_test"
path = "tests/http_to_file_test.rs"
[[test]]
name = "internal_sources_test"
path = "tests/internal_sources_test.rs"
[[test]]
name = "mixed_topology_test"
path = "tests/mixed_topology_test.rs"
[[test]]
name = "notify_providers_test"
path = "tests/notify_providers_test.rs"
[[test]]
name = "redis_e2e_test"
path = "tests/redis_e2e_test.rs"
[[test]]
name = "redis_test"
path = "tests/redis_test.rs"
[[test]]
name = "sql_sink_test"
path = "tests/sql_sink_test.rs"
[[test]]
name = "sql_source_test"
path = "tests/sql_source_test.rs"
[[test]]
name = "system_sink_test"
path = "tests/system_sink_test.rs"
[[test]]
name = "transform_pipeline_test"
path = "tests/transform_pipeline_test.rs"