[package]
name = "optionstratlib-visualization"
version = "0.23.1"
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Backend-neutral chart models, the Graph contract and its implementations for OptionStratLib types, with optional Plotly rendering and static export. Re-exported by the optionstratlib facade under its `visualization` feature."
readme = "README.md"
keywords = ["finance", "options", "visualization", "charts", "plotly"]
categories = ["finance", "visualization"]
include = ["/src/**/*", "/assets/OpenSans-Regular.ttf", "/assets/OFL.txt", "/Cargo.toml", "/README.md", "/LICENSE"]
[features]
default = []
plotly = ["dep:plotly"]
static_export = [
"plotly",
"dep:plotters",
"dep:plotters-backend",
"dep:skrifa",
"dep:ab_glyph_rasterizer",
]
[package.metadata.docs.rs]
features = ["plotly", "static_export"]
[dependencies]
optionstratlib-core = { workspace = true }
optionstratlib-math = { workspace = true }
optionstratlib-pricing = { workspace = true }
optionstratlib-simulation = { workspace = true }
optionstratlib-market = { workspace = true }
optionstratlib-strategies = { workspace = true }
optionstratlib-backtest = { workspace = true }
num-traits = { workspace = true }
plotly = { workspace = true, optional = true }
plotters = { workspace = true, optional = true }
plotters-backend = { workspace = true, optional = true }
skrifa = { workspace = true, optional = true }
ab_glyph_rasterizer = { workspace = true, optional = true }
prettytable-rs = { workspace = true }
rust_decimal = { workspace = true }
serde = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
[dev-dependencies]
chrono = { workspace = true }
mockall = { workspace = true }
proptest = { workspace = true }
rust_decimal_macros = { workspace = true }
serde_json = { workspace = true }
static_assertions = "1.1"
tempfile = { workspace = true }
criterion = { workspace = true }
png = "0.17.16"
[[bench]]
name = "visualization"
harness = false