[dependencies] cl-aux = { default-features = false, features = ["alloc"], version = "2.0" } # Deserializer/Serializer borsh = { default-features = false, features = ["std"], optional = true, version = "0.9" } bytecheck = { default-features = false, optional = true, version = "0.6" } miniserde = { default-features = false, optional = true, version = "0.1" } protobuf = { default-features = false, optional = true, version = "3.0" } rkyv = { default-features = false, features = ["validation"], optional = true, version = "0.7" } serde = { default-features = false, features = ["alloc", "derive"], optional = true, version = "1.0" } serde_json = { default-features = false, features = ["alloc"], optional = true, version = "1.0" } serde_yaml = { default-features = false, optional = true, version = "0.9" } serde-xml-rs = { default-features = false, optional = true, version = "0.6" } simd-json = { default-features = false, features = ["serde_impl"], optional = true, version = "0.7" } # Etc arrayvec = { default-features = false, optional = true, version = "0.7" } async-std = { default-features = false, optional = true, version = "1.0" } async-trait = { default-features = false, optional = true, version = "0.1" } lucia-macros = { default-features = false, optional = true, path = "../lucia-macros", version = "0.2" } tokio = { default-features = false, optional = true, version = "1.0" } tracing = { default-features = false, optional = true, version = "0.1" } # Network reqwest = { default-features = false, optional = true, version = "0.11" } surf = { default-features = false, optional = true, version = "2.0" } futures = { default-features = false, optional = true, version = "0.3" } tokio-tungstenite = { default-features = false, features = ["connect", "__rustls-tls"], optional = true, version = "0.18" } tungstenite = { default-features = false, optional = true, version = "0.18" } [dev-dependencies] tokio = { default-features = false, features = ["macros", "rt-multi-thread"], version = "1.0" } tracing-subscriber = { default-features = false, features = ["env-filter", "fmt", "tracing-log"], version = "0.3" } [features] # Deserializer/Serializer borsh = ["dep:borsh", "std"] miniserde = ["dep:miniserde", "std"] rkyv = ["bytecheck", "dep:rkyv"] serde = ["arrayvec?/serde", "cl-aux/serde", "dep:serde"] serde_json = ["serde", "dep:serde_json", "std"] serde_yaml = ["serde", "dep:serde_yaml", "std"] serde-xml-rs = ["serde", "dep:serde-xml-rs", "std"] simd-json = ["serde", "dep:simd-json", "std"] # Etc arrayvec = ["dep:arrayvec", "cl-aux/arrayvec"] async-std = ["dep:async-std", "async-std?/default"] async-trait = ["dep:async-trait", "lucia-macros?/async-trait"] default = ["async-trait"] macros = ["dep:lucia-macros"] std = ["arrayvec?/std", "cl-aux/std", "miniserde?/std", "serde?/std", "serde_json?/std"] tokio = ["std", "dep:tokio", "tokio?/time"] tracing = ["dep:tracing"] # These dependencies do not support `no-default-features` and the explicit "hard-coded" usage of # any feature would imply a downstream enforcement, which is bad. _hack = ["surf?/h1-client-no-tls", "rkyv?/size_32", "simd-json?/allow-non-simd"] # Network reqwest = ["dep:reqwest"] surf = ["dep:surf"] tokio-tungstenite = ["dep:futures", "dep:tokio", "tokio?/net", "dep:tokio-tungstenite", "tungstenite"] [package] categories = ["asynchronous", "data-structures", "encoding", "network-programming", "no-std"] description = "A flexible client API framework as well as a set of API collections" edition = "2021" keywords = ["api", "client", "io", "network", "serialization"] license = "MIT" name = "lucia" readme = "README.md" repository = "https://github.com/c410-f3r/lucia" rust-version = "1.65" version = "0.5.0" [package.metadata.docs.rs] all-features = true