[package]
edition = "2024"
name = "sift_stream"
version = "0.7.3"
authors = ["Sift Software Engineers <engineering@siftstack.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A robust Sift telemetry streaming library"
homepage = "https://github.com/sift-stack/sift"
readme = "README.md"
keywords = [
"sift",
"siftstack",
"sift-stack",
"sift_rs",
"telemetry",
]
categories = [
"aerospace",
"science::robotics",
]
license = "MIT"
repository = "https://github.com/sift-stack/sift"
resolver = "2"
[package.metadata.docs.rs]
features = ["metrics-unstable"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["tracing"]
metrics-unstable = [
"dep:serde",
"dep:serde_json",
"dep:hyper",
"dep:hyper-util",
]
tracing = [
"dep:tracing",
"dep:bytesize",
]
unstable = []
[lib]
name = "sift_stream"
path = "src/lib.rs"
[[example]]
name = "backups-only"
path = "examples/backups-only/main.rs"
[[example]]
name = "direct-metrics"
path = "examples/metrics/direct_metrics.rs"
required-features = ["metrics-unstable"]
[[example]]
name = "http-server-metrics"
path = "examples/metrics/http_server.rs"
required-features = ["metrics-unstable"]
[[example]]
name = "quick-start"
path = "examples/quick-start/main.rs"
[[test]]
name = "test_ingestion_config_streaming_checkpointing"
path = "tests/test_ingestion_config_streaming_checkpointing.rs"
[[test]]
name = "test_ingestion_config_streaming_ingestion"
path = "tests/test_ingestion_config_streaming_ingestion.rs"
[[test]]
name = "test_ingestion_config_streaming_retries"
path = "tests/test_ingestion_config_streaming_retries.rs"
[[bench]]
name = "message_to_ingest_req"
path = "benches/message_to_ingest_req.rs"
harness = false
required-features = ["unstable"]
[dependencies.async-channel]
version = "2.2"
[dependencies.async-trait]
version = "^0.1"
[dependencies.bytesize]
version = "2"
optional = true
[dependencies.chrono]
version = "0.4.39"
features = ["clock"]
default-features = false
[dependencies.dirs]
version = "6.0.0"
[dependencies.futures]
version = "0.3"
features = ["alloc"]
default-features = false
[dependencies.futures-core]
version = "0.3.31"
[dependencies.hyper]
version = "1.7.0"
features = [
"server",
"http1",
]
optional = true
[dependencies.hyper-util]
version = "0.1.10"
features = [
"service",
"server",
"tokio",
]
optional = true
[dependencies.pbjson-types]
version = "^0.7"
[dependencies.prost]
version = "^0.13"
[dependencies.serde]
version = "1.0.226"
optional = true
[dependencies.serde_json]
version = "1.0.145"
optional = true
[dependencies.sift_connect]
version = "0.7.3"
[dependencies.sift_error]
version = "0.7.3"
[dependencies.sift_pbfs]
version = "0.7.3"
[dependencies.sift_rs]
version = "0.7.3"
[dependencies.tokio]
version = "1.43.0"
features = [
"rt",
"sync",
"time",
"macros",
"fs",
]
[dependencies.tokio-stream]
version = "0.1.17"
features = ["sync"]
[dependencies.tracing]
version = "0.1.41"
optional = true
[dependencies.uuid]
version = "1.16.0"
features = ["v4"]
[dev-dependencies.async-trait]
version = "^0.1"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.hyper-util]
version = "0.1.10"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempdir]
version = "0.3.7"
[dev-dependencies.tokio]
version = "1.43.0"
features = [
"rt",
"rt-multi-thread",
"sync",
"time",
"signal",
]
[dev-dependencies.tokio-stream]
version = "0.1.17"
[dev-dependencies.tonic]
version = "^0.12"
features = ["gzip"]
[dev-dependencies.tower]
version = "0.5.2"
features = ["util"]
[dev-dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"fmt",
"env-filter",
]
[dev-dependencies.tracing-test]
version = "0.2.5"
features = ["no-env-filter"]
[dev-dependencies.uuid]
version = "1.16.0"
features = ["v4"]