[package] authors = ["sunli ", "Koxiaet"] categories = ["network-programming", "asynchronous"] description = "A GraphQL server library implemented in Rust" documentation = "https://docs.rs/async-graphql/" edition = "2021" rust-version = "1.75" 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.11" [features] apollo_persisted_queries = ["lru", "sha2"] apollo_tracing = ["chrono"] email-validator = ["fast_chemail"] cbor = ["serde_cbor"] chrono-duration = ["chrono", "iso8601"] dataloader = ["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"] altair = ["handlebars", "schemars"] playground = [] raw_value = ["async-graphql-value/raw_value"] [[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 futures-timer = "3.0.3" # 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.10.0", optional = true } fast_chemail = { version = "0.9.6", optional = true } hashbrown = { version = "0.14.5", optional = true } iso8601 = { version = "0.6.1", optional = true } log = { version = "0.4.21", optional = true } opentelemetry = { version = "0.25.0", optional = true, default-features = false, features = [ "trace", ] } rust_decimal = { version = "1.35.0", optional = true, default-features = false } bigdecimal = { version = ">=0.3.0, <0.5.0", optional = true, default-features = false } secrecy = { version = "0.8.0", optional = true } smol_str = { version = "0.3.1", optional = true } time = { version = "0.3.36", 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 } 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 } schemars = { version = "0.8.21", 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.11", default-features = false } async-graphql-derive = { path = "derive", version = "7.0.11" } async-graphql-parser = { path = "parser", version = "7.0.11" } async-graphql-value = { path = "value", version = "7.0.11" } 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" }