[package]
name = "yfinance-rs"
version = "0.7.2"
edition = "2024"
description = "Ergonomic Rust client for Yahoo Finance, supporting historical prices, real-time streaming, options, fundamentals, and more."
license = "MIT"
repository = "https://github.com/gramistella/yfinance-rs"
homepage = "https://github.com/gramistella/yfinance-rs"
documentation = "https://docs.rs/yfinance-rs"
readme = "README.md"
keywords = ["yahoo", "finance", "stocks", "trading", "yfinance"]
categories = ["api-bindings", "finance"]
build = "build.rs"

[dependencies]
chrono = { version = "0.4.42", features = ["serde"] }
chrono-tz = { version = "0.10", features = ["serde"] }
reqwest = { version = "0.12.24", default-features = false, features = ["json", "rustls-tls", "gzip", "brotli", "deflate", "cookies"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
thiserror = "2.0"
url = "2.5.7"
tokio = { version = "1.48", features = ["macros", "rt-multi-thread"] }
futures = "0.3"
tokio-tungstenite = { version = "0.28", features = ["rustls-tls-native-roots"] }
futures-util = "0.3"
prost = "0.14"
base64 = "0.22"
polars = { version = "0.51", default-features = false, optional = true }
paft = { version = "0.7.1", features = ["market", "fundamentals", "domain", "aggregates"]}
rust_decimal = "1.36"
tracing = { version = "0.1", optional = true }

[dependencies.tracing-subscriber]
version = "0.3"
optional = true
default-features = false
features = ["fmt", "std", "env-filter"]

[dev-dependencies]
httpmock = "0.8.2"
polars = { version = "0.51", default-features = false, features = ["lazy", "rolling_window"] }

[build-dependencies]
prost-build = "0.14"

[features]
default = []
test-mode = []
debug-dumps = []
dataframe = ["polars", "paft/dataframe"]
tracing = ["dep:tracing"]
# Dev-only convenience to initialize a subscriber in examples/tests
tracing-subscriber = ["tracing", "dep:tracing-subscriber"]

[package.metadata.docs.rs]
all-features = true

[package.metadata.cargo-doc]
all-features = true

[[example]]
name = "14_polars_dataframes"
required-features = ["dataframe"]