cargo-features = ["codegen-backend"]
[package]
edition = "2024"
name = "v_exchanges_api_generics"
version = "0.20.0"
authors = [
"negi_grass",
"valeratrades",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A client for HTTP/HTTPS/WebSocket APIs."
homepage = "https://github.com/valeratrades/v_exchanges"
documentation = "https://docs.rs/v_exchanges_api_generics"
readme = "README.md"
keywords = [
"client",
"websocket",
"asynchronous",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/valeratrades/v_exchanges/tree/master/v_exchanges_api_generics"
[package.metadata.cargo-machete]
ignored = [
"derive-new",
"thiserror",
]
[features]
native-tls = [
"reqwest/native-tls",
"tokio-tungstenite/native-tls",
]
native-tls-vendored = [
"reqwest/native-tls-vendored",
"tokio-tungstenite/native-tls-vendored",
]
rustls-tls-native-roots = [
"reqwest/rustls",
"tokio-tungstenite/rustls-tls-native-roots",
]
rustls-tls-webpki-roots = [
"reqwest/rustls",
"tokio-tungstenite/rustls-tls-webpki-roots",
]
[lib]
name = "v_exchanges_api_generics"
path = "src/lib.rs"
[dependencies.ahash]
version = "^0.8"
features = [
"serde",
"serde",
]
[dependencies.bytes]
version = "1.11.1"
[dependencies.dashmap]
version = "^6"
[dependencies.derive-new]
version = "^0.7.0"
[dependencies.derive_more]
version = "^2.1.1"
features = [
"deref",
"deref_mut",
]
[dependencies.eyre]
version = "^0.6.12"
[dependencies.futures-util]
version = "^0.3.32"
[dependencies.jiff]
version = "^0.2.23"
[dependencies.miette]
version = "^7.6.0"
features = ["fancy"]
[dependencies.nonzero_ext]
version = "^0.3"
[dependencies.rand]
version = "^0.10"
[dependencies.reqwest]
version = "^0.13.2"
features = [
"blocking",
"json",
"query",
]
[dependencies.serde]
version = "^1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0.149"
[dependencies.serde_urlencoded]
version = "^0.7.1"
[dependencies.thiserror]
version = "^2.0.18"
[dependencies.tokio]
version = "^1.51.0"
features = [
"sync",
"macros",
"io-util",
"rt",
"rt-multi-thread",
"time",
]
[dependencies.tokio-tungstenite]
version = "0.29.0"
[dependencies.tracing]
version = "^0.1.44"
[dependencies.url]
version = "^2.5.8"
[dependencies.ustr]
version = "^1"
[dependencies.v_utils]
version = "^2.9.9"
[dev-dependencies.rstest]
version = "^0.26"
[lints.clippy]
float_cmp = "allow"
get_first = "allow"
get_last_with_len = "allow"
len_zero = "allow"
tabs_in_doc_comments = "allow"
undocumented_unsafe_blocks = "warn"
[lints.rust]
unused_features = "allow"