248 stable releases

new 2.8.2 Apr 9, 2021
2.7.2 Mar 31, 2021
2.4.3 Dec 23, 2020
2.1.6 Nov 30, 2020
0.10.8 Mar 10, 2020

#8 in Asynchronous

Download history 2248/week @ 2020-12-21 2267/week @ 2020-12-28 4106/week @ 2021-01-04 3569/week @ 2021-01-11 2989/week @ 2021-01-18 2741/week @ 2021-01-25 3158/week @ 2021-02-01 3355/week @ 2021-02-08 4441/week @ 2021-02-15 2938/week @ 2021-02-22 3078/week @ 2021-03-01 3730/week @ 2021-03-08 3636/week @ 2021-03-15 4100/week @ 2021-03-22 4376/week @ 2021-03-29 4960/week @ 2021-04-05

15,436 downloads per month
Used in 15 crates (14 directly)

MIT/Apache

780KB
21K SLoC

A GraphQL server library implemented in Rust

Async-graphql is a high-performance server-side library that supports all GraphQL specifications.

Safety

This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in 100% Safe Rust.

Features

  • 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

Crate features

This crate offers the following features, all of which are not activated by default:

Examples

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]

Integrations

License

Licensed under either of

References

Contribute

Welcome to contribute !

Dependencies

~9–12MB
~317K SLoC