rustrade-framework 0.2.1

Open-source trading bot framework — the facade crate downstream services depend on (imported as `rustrade`)
Documentation
[package]
name         = "rustrade-framework"
description  = "Open-source trading bot framework — the facade crate downstream services depend on (imported as `rustrade`)"
version.workspace      = true
edition.workspace      = true
authors.workspace      = true
license.workspace      = true
repository.workspace   = true
rust-version.workspace = true
readme     = "README.md"
keywords   = ["trading", "crypto", "bot", "framework"]
categories = ["asynchronous", "api-bindings"]

# The crates.io package is `rustrade-framework` (the bare `rustrade` name is
# taken by an unrelated project), but the library is imported as `rustrade`
# — so downstream code is `use rustrade::{Bot, ...}` and every doc/example
# is unchanged. Only the dependency line (`cargo add rustrade-framework`)
# differs from the package name.
[lib]
name = "rustrade"
path = "src/lib.rs"

[features]
# Forward `prometheus` to the supervisor crate so feature-gated metrics
# stay consistent across the workspace.
default    = []
prometheus = ["rustrade-supervisor/prometheus"]

[dependencies]
rustrade-core       = { workspace = true }
rustrade-supervisor = { workspace = true }
rustrade-risk       = { workspace = true }

async-trait = { workspace = true }
tokio       = { workspace = true }
tokio-util  = { workspace = true }
tracing     = { workspace = true }
tracing-subscriber = { workspace = true }
anyhow      = { workspace = true }
thiserror   = { workspace = true }
serde       = { workspace = true }
serde_json  = { workspace = true }
chrono      = { workspace = true }

[dev-dependencies]
tokio  = { workspace = true, features = ["rt-multi-thread", "macros", "time", "test-util"] }
chrono = { workspace = true }