v_exchanges 0.18.1

Implementations of HTTP/HTTPS/WebSocket API methods for some crypto exchanges, using [crypto-botters](<https://github.com/negi-grass/crypto-botters>) framework
Documentation
cargo-features = ["codegen-backend"]

[package]
name = "v_exchanges"
version = "0.18.1"
edition = "2024"
authors = ["negi-grass", "valeratrades"]
categories = ["api-bindings", "asynchronous"]
description = "Implementations of HTTP/HTTPS/WebSocket API methods for some crypto exchanges, using [crypto-botters](<https://github.com/negi-grass/crypto-botters>) framework"
documentation = "https://docs.rs/v_exchanges"
homepage = "https://github.com/valeratrades/v_exchanges"
keywords = ["client", "websocket", "asynchronous"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/valeratrades/v_exchanges/tree/master/v_exchanges"

[package.metadata.docs.rs]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
all-features = false
features = ["major", "data"]
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]

[package.metadata.cargo-machete]
ignored = ["color-eyre"]

[features]
default = ["major", "data"]

full = ["major", "data", "mexc", "kucoin", "bitflyer", "coincheck"]
major = ["binance", "bybit"]

binance = ["v_exchanges_methods/binance"]
bybit = ["v_exchanges_methods/bybit"]
bitflyer = ["v_exchanges_methods/bitflyer"]
coincheck = ["v_exchanges_methods/coincheck"]
kucoin = ["v_exchanges_methods/kucoin"]
mexc = ["v_exchanges_methods/mexc"]
data = ["v_exchanges_methods/data"]

[dependencies]
v_exchanges_methods = { workspace = true, default-features = false }

[dev-dependencies]
color-eyre.workspace = true
insta.workspace = true
jiff.workspace = true
miette.workspace = true
serde.workspace = true
serde_json.workspace = true
tempfile.workspace = true
tokio.workspace = true
tracing.workspace = true
v_exchanges_adapters.workspace = true
v_exchanges_persistence.workspace = true
v_utils.workspace = true

[lints]
workspace = true

[[example]]
name = "test"
path = "../examples/test.rs"

[[example]]
name = "spelled_out_request"
path = "../examples/spelled_out_request.rs"

[[example]]
name = "ws"
path = "../examples/ws.rs"

[[example]]
name = "ws_book"
required-features = ["binance", "bybit"]
path = "../examples/ws/book.rs"

[[example]]
name = "record_replay"
required-features = ["binance"]
path = "../examples/record_replay.rs"

[[example]]
name = "cli"
path = "../examples/cli.rs"

[[example]]
name = "data"
path = "../examples/data.rs"

[[example]]
name = "binance_market_perp"
required-features = ["binance"]
path = "../examples/binance/market_perp.rs"

[[example]]
name = "binance_market_spot"
required-features = ["binance"]
path = "../examples/binance/market_spot.rs"

[[example]]
name = "binance_orders"
required-features = ["binance"]
path = "../examples/binance/orders.rs"

[[example]]
name = "bybit_market"
required-features = ["bybit"]
path = "../examples/bybit/market.rs"

[[example]]
name = "bybit_ws"
required-features = ["bybit"]
path = "../examples/bybit/ws.rs"

[[example]]
name = "kucoin_market"
required-features = ["kucoin"]
path = "../examples/kucoin/market.rs"

[[example]]
name = "mexc"
required-features = ["mexc"]
path = "../examples/mexc.rs"

[[example]]
name = "auth_errors"
required-features = ["binance", "bybit"]
path = "../examples/auth_errors.rs"

[[example]]
name = "healthcheck"
required-features = ["binance", "bybit", "kucoin", "mexc"]
path = "../examples/healthcheck.rs"

[[example]]
name = "time_to_expiration_coins"
required-features = ["binance", "bybit"]
path = "../examples/info/time_to_expiration_coins.rs"

[[example]]
name = "time_to_expiration_keys"
required-features = ["binance", "bybit", "kucoin"]
path = "../examples/info/time_to_expiration_keys.rs"

[[example]]
name = "try_extend_lifetime"
required-features = ["bybit"]
path = "../examples/info/extend_lifetime.rs"