176 stable releases
|new 2.0.0-alpha.20||Sep 28, 2020|
|1.18.2||Sep 23, 2020|
|1.16.15||Jul 30, 2020|
|1.6.8||Mar 31, 2020|
|0.10.8||Mar 10, 2020|
#14 in Asynchronous
5,245 downloads per month
Used in 7 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.46 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
This crate offers the following features, all of which are activated by default:
apollo_tracing: Enable the Apollo tracing extension.
log: Enable the logger extension.
tracing: Enable the tracing extension.
multipart: Support sending files over HTTP multipart.
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
If you are just getting started, we recommend checking out our examples at: https://github.com/async-graphql/examples
To see how you would create a Relay-compliant server using async-graphql, warp, diesel & postgresql, you can also check out a real-world example at: https://github.com/phated/twentyfive-stars
Ensure that there is no CPU-heavy process in background!
cd benchmark #measure all with system malloc cargo bench #measure only chat run cargo bench -- "chat run" #measure all with jemalloc cargo bench --features jemalloc #measure only simple run with jemalloc cargo bench --features jemalloc -- "simple run"
Now HTML report is available at
Read more here: https://bheisler.github.io/criterion.rs/book/criterion_rs.html
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 !