async-graphql 7.0.5

A GraphQL server library implemented in Rust
Documentation
[package]
authors = ["sunli <scott_s829@163.com>", "Koxiaet"]
categories = ["network-programming", "asynchronous"]
description = "A GraphQL server library implemented in Rust"
documentation = "https://docs.rs/async-graphql/"
edition = "2021"
homepage = "https://github.com/async-graphql/async-graphql"
keywords = ["futures", "async", "graphql"]
license = "MIT OR Apache-2.0"
name = "async-graphql"
readme = "README.md"
repository = "https://github.com/async-graphql/async-graphql"
version = "7.0.5"

[features]
apollo_persisted_queries = ["lru", "sha2"]
apollo_tracing = ["chrono"]
email-validator = ["fast_chemail"]
cbor = ["serde_cbor"]
chrono-duration = ["chrono", "iso8601"]
dataloader = ["futures-timer", "futures-channel", "lru"]
decimal = ["rust_decimal"]
default = ["email-validator", "tempfile", "playground", "graphiql"]
password-strength-validator = ["zxcvbn"]
string_number = []
tokio-sync = ["tokio"]
tracing = ["tracinglib", "tracing-futures"]
unblock = ["blocking"]
dynamic-schema = []
graphiql = ["handlebars"]
playground = []

[[bench]]
harness = false
name = "static_schema"

[dependencies]
async-graphql-derive.workspace = true
async-graphql-parser.workspace = true
async-graphql-value.workspace = true

async-stream = "0.3.5"
async-trait.workspace = true
bytes.workspace = true
fnv = "1.0.7"
futures-util = { workspace = true, features = [
  "std",
  "io",
  "sink",
  "async-await",
  "async-await-macro",
] }
indexmap.workspace = true
mime = "0.3.17"
multer = "3.0.0"
num-traits = "0.2.18"
once_cell = "1.19.0"
pin-project-lite = "0.2.14"
regex = "1.10.4"
serde.workspace = true
serde_json.workspace = true
static_assertions_next = "1.1.2"
thiserror.workspace = true
base64 = "0.22.0"
serde_urlencoded = "0.7.1"
http.workspace = true

# Feature optional dependencies
bson = { version = "2.9.0", optional = true, features = [
  "chrono-0_4",
  "uuid-1",
] }
chrono = { version = "0.4.37", optional = true, default-features = false, features = [
  "clock",
  "std",
] }
chrono-tz = { version = "0.8.6", optional = true }
fast_chemail = { version = "0.9.6", optional = true }
hashbrown = { version = "0.14.3", optional = true }
iso8601 = { version = "0.6.1", optional = true }
log = { version = "0.4.21", optional = true }
opentelemetry = { version = "0.22.0", optional = true, default-features = false, features = [
  "trace",
] }
rust_decimal = { version = "1.35.0", optional = true }
bigdecimal = { version = ">=0.3.0, <0.5.0", optional = true }
secrecy = { version = "0.8.0", optional = true }
smol_str = { version = "0.2.1", optional = true }
time = { version = "0.3.34", optional = true, features = [
  "parsing",
  "formatting",
  "macros",
] }
tokio = { version = "1.37.0", features = ["sync"], optional = true }
tracing-futures = { version = "0.2.5", optional = true, features = [
  "std-future",
  "futures-03",
] }
tracinglib = { version = "0.1.40", optional = true, package = "tracing" }
url = { version = "2.5.0", optional = true }
uuid = { version = "1.8.0", optional = true, features = ["v4", "serde"] }
tempfile = { version = "3.10.1", optional = true }

# Non-feature optional dependencies
blocking = { version = "1.5.1", optional = true }
futures-channel = { version = "0.3.30", optional = true }
futures-timer = { version = "3.0.3", optional = true }
lru = { version = "0.12.3", optional = true }
serde_cbor = { version = "0.11.2", optional = true }
sha2 = { version = "0.10.8", optional = true }
zxcvbn = { version = "2.2.2", optional = true }
handlebars = { version = "5.1.2", optional = true }

[dev-dependencies]
futures-channel = "0.3.30"
tokio = { version = "1.37.0", features = [
  "macros",
  "rt-multi-thread",
  "sync",
  "time",
] }
criterion = { version = "0.5.1", features = ["html_reports", "async_tokio"] }
slab = "0.4.9"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[workspace]
resolver = "2"
members = [
  "value",
  "parser",
  "derive",
  "integrations/poem",
  "integrations/actix-web",
  "integrations/rocket",
  "integrations/warp",
  "integrations/axum",
  "integrations/tide",
]

[workspace.dependencies]
async-graphql = { path = ".", version = "7.0.5", default-features = false }
async-graphql-derive = { path = "derive", version = "7.0.5" }
async-graphql-parser = { path = "parser", version = "7.0.5" }
async-graphql-value = { path = "value", version = "7.0.5" }

serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.115"
indexmap = { version = "2", features = ["serde"] }
bytes = { version = "1.6.0", features = ["serde"] }
thiserror = "1.0.58"
async-trait = "0.1.79"
futures-util = { version = "0.3.30", default-features = false }
tokio-util = { version = "0.7.10", default-features = false }
http = { package = "http", version = "1.1.0" }