[package]
name = "v_utils"
version = "2.9.9"
edition = "2024"
description = "My utils crate"
rust-version = "1.85"
license = "MIT"
readme = "README.md"
repository = "https://github.com/valeratrades/v_utils"
[features]
default = ["lite"]
io = ["dep:dirs"]
xdg = [
"dep:xdg",
"v_utils_macros/xdg",
]
cli = ["v_utils_macros/cli", "dep:config"]
trades = ["dep:jiff", "dep:strum"]
macros = ["v_utils_macros"]
tracing = [
"dep:xdg",
"dep:tracing-subscriber",
"dep:tracing-log",
"dep:tracing-error",
"dep:xdg",
]
distributions = ["dep:rand", "dep:rand_distr"]
wasm = ["dep:console_error_panic_hook", "dep:console_log"]
lite = ["io", "macros", "trades", "tracing", "dep:futures", "dep:tokio"]
full = [
"lite",
"distributions",
"xdg",
"cli",
"dep:tokio",
"tokio/full",
"dep:console-subscriber",
]
[dependencies]
async-sse = { version = "^5.1.0", optional = true }
bytes = { version = "^1.10.1", optional = true }
config = { version = "^0.15.18", optional = true }
console-subscriber = { version = "0.5.0", optional = true }
console_error_panic_hook = { version = "^0.1.7", optional = true }
console_log = { version = "^1.0.0", optional = true }
const_format = "0.2.35"
derive-new = "^0.7.0"
derive_more = { version = "2.0.1", features = ["full"] }
dirs = { version = "^6.0.0", optional = true }
eyre.workspace = true
function_name = "^0.3.0"
futures = { version = "^0.3.31", optional = true }
jiff = { version = "^0.2.15", features = ["serde"], optional = true }
libc = { version = "^0.2", optional = true }
macro-attr = { version = "0.2.0", features = ["unstable-macros-1-1"] }
quote = { version = "^1.0.41", optional = true }
rand = { version = "^0.9.2", optional = true }
rand_distr = { version = "^0.5.1", optional = true }
reqwest = { version = "^0.12.24", default-features = false, features = ["json", "blocking", "stream", "rustls-tls"], optional = true }
serde.workspace = true
serde_json = "^1.0.145"
strum = { version = "^0.27.2", features = ["derive"], optional = true }
thiserror = "2.0.17"
tracing = { version = "^0.1.41", features = ["log", "std", "async-await"] }
tokio = { version = "^1.48.0", features = ["sync", "macros", "io-util", "rt", "time"], optional = true }
tracing-error = { version = "^0.2.1", optional = true }
tracing-log = { version = "^0.2.0", optional = true }
xdg = { version = "^3.0.0", optional = true }
tracing-subscriber = { version = "^0.3.20", features = ["fmt", "json", "registry", "env-filter"], optional = true }
v_utils_macros = { path = "../v_utils_macros", version = "^2.5.9", optional = true }
[dev-dependencies]
insta = "^1.43.2"
trybuild = { version = "^1.0.113", features = ["diff"] }
v_utils_macros = { path = "../v_utils_macros" }