23 releases (stable)
|new 2.9.9||Jul 20, 2021|
|2.9.8||Jul 12, 2021|
|2.9.5||Jun 29, 2021|
|2.6.5||Mar 24, 2021|
|2.0.5||Oct 19, 2020|
#346 in Asynchronous
21,386 downloads per month
Used in 32 crates (6 directly)
Async-graphql is a high-performance server-side library that supports all GraphQL specifications.
- Feature Comparison
- GitHub repository
- Cargo package
- Minimum supported Rust version: 1.51.0 or later
This crate uses
#![forbid(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.
- Fully supports async/await
- Type safety
- Rustfmt friendly (Procedural Macro)
- Custom scalars
- Minimal overhead
- Easy integration (actix_web, tide, warp, rocket ...)
- Upload files (Multipart request)
- Subscriptions (WebSocket transport)
- Custom extensions
- Apollo Tracing extension
- Limit query complexity/depth
- Error Extensions
- Apollo Federation
- Batch Queries
- Apollo Persisted Queries
This crate offers the following features, all of which are not activated by default:
apollo_tracing: Enable the Apollo tracing extension.
apollo_persisted_queries: Enable the Apollo persisted queries extension.
log: Enable the logger extension.
tracing: Enable the tracing extension.
opentelemetry: Enable the OpenTelemetry extension.
unblock: Support asynchronous reader for Upload
bson: Integrate with the
chrono: Integrate with the
chrono-tz: Integrate with the
url: Integrate with the
uuid: Integrate with the
string_number: Enable the StringNumber.
dataloader: Support DataLoader.
secrecy: Integrate with the
All examples are in the sub-repository, located in the examples directory.
Run an example:
git submodule update # update the examples repo cd examples && cargo run --bin [name]
- Actix-web async-graphql-actix-web
- Warp async-graphql-warp
- Tide async-graphql-tide
- Rocket async-graphql-rocket
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
- GraphQL Multipart Request
- GraphQL Cursor Connections Specification
- GraphQL over WebSocket Protocol
- Apollo Tracing
- Apollo Federation
Welcome to contribute !