[package]
edition = "2021"
name = "finnhub"
version = "0.2.2"
authors = ["Jeffrey Brown"]
build = false
exclude = [
".github/",
".gitignore",
".claude/",
"CLAUDE.md",
"TEST_COVERAGE.md",
"api-specs/",
"tests/",
"benches/",
"run_api_tests.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A comprehensive Rust client for the Finnhub.io financial data API with 96% endpoint coverage, flexible rate limiting, and WebSocket support"
homepage = "https://github.com/jbradenbrown/finnhub"
documentation = "https://docs.rs/finnhub"
readme = "README.md"
keywords = [
"finnhub",
"finance",
"api",
"stocks",
"trading",
]
categories = [
"api-bindings",
"finance",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jbradenbrown/finnhub"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
websocket = ["tokio-tungstenite"]
[lib]
name = "finnhub"
path = "src/lib.rs"
[[example]]
name = "alternative_data"
path = "examples/alternative_data.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "error_handling"
path = "examples/error_handling.rs"
[[example]]
name = "forex_trading"
path = "examples/forex_trading.rs"
[[example]]
name = "rate_limit_window_demo"
path = "examples/rate_limit_window_demo.rs"
[[example]]
name = "rate_limiting_demo"
path = "examples/rate_limiting_demo.rs"
[[example]]
name = "rate_limiting_explanation"
path = "examples/rate_limiting_explanation.rs"
[[example]]
name = "readme_verification"
path = "examples/readme_verification.rs"
[[example]]
name = "stock_analysis"
path = "examples/stock_analysis.rs"
[[example]]
name = "technical_analysis"
path = "examples/technical_analysis.rs"
[[example]]
name = "websocket_basic"
path = "examples/websocket_basic.rs"
required-features = ["websocket"]
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.futures]
version = "0.3"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.40"
features = ["full"]
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["rustls-tls-native-roots"]
optional = true
[dependencies.tower]
version = "0.5"
features = [
"limit",
"retry",
"timeout",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.dotenv]
version = "0.15"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.tokio-test]
version = "0.4"
[profile.release]
opt-level = 3
lto = true