75 releases (37 stable)

new 2.9.3 Jun 17, 2021
2.8.5 May 11, 2021
2.7.1 Mar 30, 2021
2.1.2 Nov 14, 2020
0.5.1 May 18, 2020

#167 in Asynchronous

Download history 2703/week @ 2021-02-24 3193/week @ 2021-03-03 3632/week @ 2021-03-10 3489/week @ 2021-03-17 3750/week @ 2021-03-24 4017/week @ 2021-03-31 5032/week @ 2021-04-07 4395/week @ 2021-04-14 4241/week @ 2021-04-21 5280/week @ 2021-04-28 4574/week @ 2021-05-05 5512/week @ 2021-05-12 4855/week @ 2021-05-19 4504/week @ 2021-05-26 5678/week @ 2021-06-02 4434/week @ 2021-06-09

20,045 downloads per month
Used in 28 crates (7 directly)

MIT/Apache

140KB
3.5K 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

~1.8–2.7MB
~61K SLoC