[package] authors = ["sunli ", "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/Apache-2.0" name = "async-graphql" readme = "README.md" repository = "https://github.com/async-graphql/async-graphql" version = "4.0.15" [features] apollo_persisted_queries = ["lru", "sha2"] apollo_tracing = ["chrono"] email-validator = ["fast_chemail"] cbor = ["serde_cbor"] chrono-duration = ["chrono", "iso8601-duration"] dataloader = ["futures-timer", "futures-channel", "lru"] decimal = ["rust_decimal"] default = ["email-validator"] password-strength-validator = ["zxcvbn"] string_number = [] tokio-sync = ["tokio"] tracing = ["tracinglib", "tracing-futures"] unblock = ["blocking"] [dependencies] async-graphql-derive = { path = "derive", version = "4.0.15" } async-graphql-parser = { path = "parser", version = "4.0.15" } async-graphql-value = { path = "value", version = "4.0.15" } async-stream = "0.3.0" async-trait = "0.1.48" bytes = { version = "1.0.1", features = ["serde"] } fnv = "1.0.7" futures-util = { version = "0.3.0", default-features = false, features = [ "io", "sink", ] } http = "0.2.3" indexmap = "1.6.2" mime = "0.3.15" multer = "2.0.0" num-traits = "0.2.14" once_cell = "1.7.2" pin-project-lite = "0.2.6" regex = "1.5.5" serde = { version = "1.0.125", features = ["derive"] } serde_json = "1.0.64" static_assertions = "1.1.0" tempfile = "3.2.0" thiserror = "1.0.24" base64 = "0.13.0" serde_urlencoded = "0.7.0" # Feature optional dependencies bson = { version = "2.4.0", optional = true, features = [ "chrono-0_4", "uuid-1", ] } chrono = { version = "0.4.19", optional = true, default-features = false, features = [ "clock", "std", ] } chrono-tz = { version = "0.6.1", optional = true } fast_chemail = { version = "0.9.6", optional = true } hashbrown = { version = "0.12.0", optional = true } iso8601-duration = { version = "0.1.0", optional = true } log = { version = "0.4.16", optional = true } opentelemetry = { version = "0.18.0", optional = true, default-features = false, features = [ "trace", ] } rust_decimal = { version = "1.14.3", optional = true } bigdecimal = { version = "0.3.0", optional = true } secrecy = { version = "0.8.0", optional = true } smol_str = { version = "0.1.21", optional = true } time = { version = "0.3.5", optional = true, features = [ "parsing", "formatting", "macros", ] } tokio = { version = "1.17.0", features = ["sync"], optional = true } tracing-futures = { version = "0.2.5", optional = true, features = [ "std-future", "futures-03", ] } tracinglib = { version = "0.1.35", optional = true, package = "tracing" } url = { version = "2.2.1", optional = true } uuid = { version = "1.0.0", optional = true, features = ["v4", "serde"] } uuid08 = { version = "0.8", package = "uuid", optional = true, features = [ "v4", "serde", ] } # Non-feature optional dependencies blocking = { version = "1.0.2", optional = true } futures-channel = { version = "0.3.13", optional = true } futures-timer = { version = "3.0.2", optional = true } lru = { version = "0.7.1", optional = true } serde_cbor = { version = "0.11.1", optional = true } sha2 = { version = "0.10.2", optional = true } zxcvbn = { version = "2.1.2", optional = true } [dev-dependencies] futures-channel = "0.3.13" tokio = { version = "1.4.0", features = [ "macros", "rt-multi-thread", "sync", "time", ] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [workspace] members = [ "value", "parser", "derive", "integrations/poem", "integrations/actix-web", "integrations/rocket", "integrations/warp", "integrations/axum", "integrations/tide", ]