wingfoil 3.2.0

graph based stream processing framework
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "wingfoil"
version = "3.2.0"
authors = ["wingfoil@wingfoil.io"]
build = false
publish = [
    "wingfoil",
    "crates-io",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "graph based stream processing framework"
homepage = "https://github.com/wingfoil-io/wingfoil/"
documentation = "https://docs.rs/wingfoil"
readme = "README.md"
keywords = [
    "graph",
    "stream",
    "dag",
    "hft",
    "trading",
]
license = "Apache-2.0"

[package.metadata.docs.rs]
scrape-examples = true

[features]
async = [
    "dep:tokio",
    "dep:futures",
    "dep:async-stream",
    "dep:futures-util",
    "tokio/time",
]
csv = ["dep:csv"]
default = ["async"]
full = [
    "async",
    "csv",
    "websockets",
    "kdb",
    "zmq-beta",
]
kdb = [
    "dep:kdb-plus-fixed",
    "async",
]
kdb-integration-test = ["kdb"]
websockets = [
    "dep:tokio-tungstenite",
    "dep:tungstenite",
    "async",
    "tokio/net",
    "tokio/time",
    "tokio/macros",
]
zmq-beta = [
    "dep:zmq",
    "dep:bincode",
]

[lib]
name = "wingfoil"
path = "src/lib.rs"

[[example]]
name = "async"
path = "examples/async/main.rs"
required-features = ["async"]

[[example]]
name = "breadth_first"
path = "examples/breadth_first/main.rs"

[[example]]
name = "circuit_breaker"
path = "examples/circuit_breaker/main.rs"

[[example]]
name = "kdb"
path = "examples/kdb/main.rs"
required-features = ["kdb"]

[[example]]
name = "order_book"
path = "examples/order_book/main.rs"
required-features = ["csv"]

[[example]]
name = "rfq"
path = "examples/rfq/main.rs"
required-features = ["websockets"]

[[example]]
name = "threading"
path = "examples/threading/main.rs"

[[example]]
name = "zmq_pub"
path = "examples/messaging/zmq_pub.rs"
required-features = ["zmq-beta"]

[[example]]
name = "zmq_sub"
path = "examples/messaging/zmq_sub.rs"
required-features = ["zmq-beta"]

[[bench]]
name = "graph"
path = "benches/graph.rs"
harness = false

[[bench]]
name = "nanotime"
path = "benches/nanotime.rs"
harness = false

[dependencies.anyhow]
version = "1.0.100"

[dependencies.arrayvec]
version = "0.7"
features = ["serde"]

[dependencies.async-stream]
version = "0.3.6"
optional = true

[dependencies.bincode]
version = "1.3.3"
optional = true

[dependencies.chrono]
version = "0.4"

[dependencies.criterion]
version = "0.8.1"

[dependencies.crossbeam]
version = "0.8.4"

[dependencies.csv]
version = "1.4"
optional = true

[dependencies.derive-new]
version = "0.7"

[dependencies.derive_more]
version = "2.1"
features = ["full"]

[dependencies.env_logger]
version = "0.11"

[dependencies.formato]
version = "0.3.0"

[dependencies.futures]
version = "0.3"
optional = true

[dependencies.futures-util]
version = "0.3.31"
optional = true

[dependencies.itertools]
version = "0.14.0"

[dependencies.kanal]
version = "0.1.1"

[dependencies.kdb-plus-fixed]
version = "0.5.0"
features = ["ipc"]
optional = true

[dependencies.lazy_static]
version = "1.5.0"

[dependencies.lobster]
version = "0.7.0"

[dependencies.log]
version = "0.4"

[dependencies.num]
version = "0.4.3"

[dependencies.num-traits]
version = "0.2"

[dependencies.once_cell]
version = "1.21.3"

[dependencies.ordered-float]
version = "4.5.0"

[dependencies.priority-queue]
version = "2.7.0"

[dependencies.quanta]
version = "0.9.3"

[dependencies.rand]
version = "0.9.2"

[dependencies.scopeguard]
version = "1.2.0"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde-aux]
version = "4.7.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.smallvec]
version = "1.15.1"

[dependencies.strum]
version = "0.27.2"
features = ["derive"]

[dependencies.strum_macros]
version = "0.27.2"

[dependencies.tinyvec]
version = "1.10.0"
features = ["alloc"]

[dependencies.tokio]
version = "1"
features = ["rt-multi-thread"]
optional = true

[dependencies.tokio-tungstenite]
version = "0.27.0"
features = [
    "native-tls",
    "stream",
    "connect",
]
optional = true

[dependencies.tungstenite]
version = "0.14.0"
features = ["rustls-tls"]
optional = true

[dependencies.tynm]
version = "0.2.0"

[dependencies.zmq]
version = "0.10.0"
optional = true

[dev-dependencies]