Cargo Features

[dependencies]
prk_async_dataflow = { version = "0.2.3", default-features = false, features = ["relaxed", "http", "websocket", "ml", "auth", "basic_agents", "advanced_agents", "connectors", "metrics", "configs", "rate-limiting", "circuit-breaker"] }
default = auth, basic_agents, connectors, http, metrics

These default features are set whenever prk_async_dataflow is added without default-features = false somewhere in the dependency tree.

relaxed = json5

Affects extract_json::extract_json5_value

http default connectors = reqwest
websocket connectors = tokio-tungstenite
ml advanced_agents? = tch

Affects agents::TorchModel, agents::MLAgent

auth default advanced_agents? = oauth2
basic_agents default = dashmap
advanced_agents = auth, ml
connectors default = async-trait, http, tokio-util, websocket

Affects prk_async_dataflow::connectors

metrics default = prometheus

Affects prk_async_dataflow::metrics, metrics::record_error

configs = config
rate-limiting = governor

Affects utils::rate_limiting

circuit-breaker = tokio-retry

Affects utils::circuit_breaker

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

The following dependencies are used in the project:

json5 relaxed?
reqwest http

Enables reqwest ^0.11.22

tokio-tungstenite websocket?

Enables tokio-tungstenite ^0.20.1

prometheus metrics
async-trait connectors
tokio-util connectors
dashmap basic_agents
oauth2 auth

Enables oauth2 ^4.2.0

tch ml?
config configs?

Enables config ^0.13

Affects config::configuration

governor rate-limiting?

Enables governor ^0.4

tokio-retry circuit-breaker?