eeyf 0.1.0

Eric Evans' Yahoo Finance API - A rate-limited, reliable Rust adapter for Yahoo Finance API
Documentation
[[bin]]
name = "eeyf"
path = "src/bin/eeyf.rs"
required-features = ["cli-tool"]

[build-dependencies.prost-build]
version = "0.12"

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

[dependencies.arc-swap]
optional = true
version = "1.7"

[dependencies.async-compression]
features = ["gzip", "tokio"]
optional = true
version = "0.4"

[dependencies.async-std]
optional = true
version = "1.13"

[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bytes]
optional = true
version = "1.8"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.chrono-tz]
version = "0.8"

[dependencies.clap]
features = ["derive"]
optional = true
version = "4.5"

[dependencies.compress]
optional = true
version = "0.2"

[dependencies.config]
optional = true
version = "0.14"

[dependencies.dashmap]
version = "6.1"

[dependencies.envy]
optional = true
version = "0.4"

[dependencies.flate2]
optional = true
version = "1.0"

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

[dependencies.futures-util]
version = "0.3"

[dependencies.governor]
optional = true
version = "0.6"

[dependencies.log]
version = "0.4"

[dependencies.lru]
version = "0.12"

[dependencies.metrics]
optional = true
version = "0.24"

[dependencies.metrics-exporter-prometheus]
optional = true
version = "0.16"

[dependencies.notify]
optional = true
version = "6.0"

[dependencies.opentelemetry]
optional = true
version = "0.21"

[dependencies.opentelemetry-jaeger]
optional = true
version = "0.22"

[dependencies.parking_lot]
optional = true
version = "0.12"

[dependencies.prost]
optional = true
version = "0.12"

[dependencies.rand]
version = "0.8"

[dependencies.reqwest]
default-features = false
features = ["cookies", "json", "rustls-tls"]
version = "0.12.19"

[dependencies.rust_decimal]
optional = true
version = "1.36"

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

[dependencies.serde_json]
version = "1.0.140"

[dependencies.serde_json_path_to_error]
optional = true
version = "0.1.4"

[dependencies.serde_yaml]
optional = true
version = "0.9"

[dependencies.sha2]
version = "0.10"

[dependencies.smol]
optional = true
version = "2.0"

[dependencies.thiserror]
version = "1.0"

[dependencies.time]
features = ["macros"]
version = "0.3.41"

[dependencies.tokio]
features = ["macros", "rt-multi-thread", "sync", "time"]
version = "1.45.1"

[dependencies.tokio-tungstenite]
features = ["native-tls"]
optional = true
version = "0.21"

[dependencies.toml]
version = "0.8"

[dependencies.tracing]
optional = true
version = "0.1"

[dependencies.tracing-opentelemetry]
optional = true
version = "0.22"

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

[dependencies.url]
version = "2.5"

[dependencies.uuid]
features = ["v4"]
version = "1.0"

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

[dev-dependencies.chrono]
features = ["serde"]
version = "0.4"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.serde_yaml]
version = "0.9"

[dev-dependencies.tokio]
features = ["macros", "rt-multi-thread"]
version = "1.45.1"

[dev-dependencies.tokio-test]
version = "0.4.4"

[dev-dependencies.uuid]
features = ["v4"]
version = "1.0"

[dev-dependencies.wiremock]
version = "0.6"

[features]
audit-logging = []
chaos-testing = []
cli-tool = ["dep:clap"]
config-management = ["dep:config", "dep:envy", "dep:notify", "dep:serde_yaml"]
debug = ["serde_json_path_to_error"]
decimal = ["dep:rust_decimal"]
default = ["runtime-tokio"]
env-config = ["dep:envy"]
fallback-strategies = []
health-server = ["dep:warp"]
hot-reload = ["config-management", "dep:notify"]
jaeger = ["dep:opentelemetry-jaeger", "opentelemetry"]
metrics = ["dep:metrics", "dep:metrics-exporter-prometheus"]
observability = ["health-server", "metrics", "tracing"]
opentelemetry = ["dep:opentelemetry", "dep:tracing-opentelemetry", "tracing"]
performance-cache = ["dep:arc-swap", "dep:compress", "dep:flate2", "dep:futures", "dep:parking_lot"]
performance-full = ["performance-cache", "performance-optimization", "performance-pool", "performance-rate-limit"]
performance-optimization = ["dep:arc-swap", "dep:parking_lot"]
performance-pool = ["dep:arc-swap", "dep:governor", "dep:parking_lot"]
performance-rate-limit = ["dep:arc-swap", "dep:governor", "dep:parking_lot"]
phase2 = ["config-management", "hot-reload", "observability"]
phase3 = ["performance-full", "phase2"]
phase4 = ["phase3", "websocket-streaming"]
phase5 = ["phase4", "phase5-performance"]
phase5-compression = ["dep:flate2"]
phase5-http2 = []
phase5-limits = []
phase5-performance = ["phase5-compression", "phase5-http2", "phase5-limits", "phase5-shutdown"]
phase5-shutdown = []
phase6 = ["cli-tool", "phase5"]
phase7 = ["phase6", "phase7-reliability", "phase7-security"]
phase7-reliability = ["chaos-testing", "fallback-strategies"]
phase7-security = ["audit-logging", "security"]
phase8 = ["phase7", "runtime-tokio"]
phase9 = ["phase8"]
phase9-analytics = ["phase9"]
runtime-async-std = ["dep:async-std"]
runtime-smol = ["dep:smol"]
runtime-tokio = []
security = []
tracing = ["dep:tracing", "dep:tracing-subscriber"]
websocket-streaming = ["dep:base64", "dep:bytes", "dep:prost", "dep:tokio-tungstenite"]
yaml-config = ["dep:serde_yaml"]

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

[package]
authors = ["Eric Evans <ciresnave@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["api-bindings"]
description = "Eric Evans' Yahoo Finance API - A rate-limited, reliable Rust adapter for Yahoo Finance API"
edition = "2024"
include = ["LICENSE-*", "README.md", "src/**/*"]
keywords = ["finance", "quote", "stock", "yahoo"]
license = "MIT OR Apache-2.0"
name = "eeyf"
readme = "README.md"
repository = "https://github.com/ciresnave/eeyf"
rust-version = "1.85.0"
version = "0.1.0"