139 releases (stable)

Uses new Rust 2021

new 4.0.0 May 17, 2022
3.0.38 Apr 9, 2022
3.0.37 Mar 30, 2022
3.0.19 Dec 30, 2021
0.5.1 May 18, 2020

#622 in Asynchronous

Download history 11028/week @ 2022-01-27 11295/week @ 2022-02-03 12238/week @ 2022-02-10 14943/week @ 2022-02-17 14958/week @ 2022-02-24 16026/week @ 2022-03-03 15957/week @ 2022-03-10 15688/week @ 2022-03-17 14154/week @ 2022-03-24 15598/week @ 2022-03-31 15958/week @ 2022-04-07 12179/week @ 2022-04-14 14794/week @ 2022-04-21 16352/week @ 2022-04-28 16522/week @ 2022-05-05 17964/week @ 2022-05-12

69,143 downloads per month
Used in 55 crates (9 directly)

MIT/Apache

285KB
6K 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 (poem, 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:

Apollo Studio

Apollo Studio is a cloud platform that helps you build, monitor, validate, and secure your organization's data graph. An existing extension is available for this crate here

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

Who's using Async-graphql in production?

Community Showcase

  • rust-actix-graphql-sqlx-postgresql Using GraphQL with Rust and Apollo Federation
  • entity-rs A simplistic framework based on TAO, Facebook's distributed database for Social Graph.
  • vimwiki-server Provides graphql server to inspect and manipulate vimwiki files.
  • Diana Diana is a GraphQL system for Rust that's designed to work as simply as possible out of the box, without sacrificing configuration ability.
  • cindythink
  • sudograph

Blog Posts

License

Licensed under either of

References

Contribute

Welcome to contribute !

Dependencies

~2–2.8MB
~61K SLoC