async-graphql / Async Graphql
Licence: other
A GraphQL server library implemented in Rust
Stars: ✭ 1,377
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Async Graphql
Graphqlws
Implementation of the GraphQL over WebSocket protocol in Go.
Stars: ✭ 139 (-89.91%)
Mutual labels: graphql, server
Graphql Mongodb Server
A GraphQL MongoDB server.
Stars: ✭ 242 (-82.43%)
Mutual labels: graphql, server
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-86.35%)
Mutual labels: graphql, server
Pronote Api
(Tout langage) API compatible Pronote 2020/2021
Stars: ✭ 186 (-86.49%)
Mutual labels: graphql, server
Kretes
A Programming Environment for TypeScript & Node.js built on top of VS Code
Stars: ✭ 570 (-58.61%)
Mutual labels: graphql, async-await
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+17.65%)
Mutual labels: graphql, server
Basically Fullstack Graphql
Code that aims to explain the client and the server side of using GraphQL in apps.
Stars: ✭ 199 (-85.55%)
Mutual labels: graphql, server
Actionhero
Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
Stars: ✭ 2,280 (+65.58%)
Mutual labels: async-await, server
Graphql Ws
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
Stars: ✭ 398 (-71.1%)
Mutual labels: graphql, server
Walkable
A Clojure(script) SQL library for building APIs: Datomic® (GraphQL-ish) pull syntax, data driven configuration, dynamic filtering with relations in mind
Stars: ✭ 384 (-72.11%)
Mutual labels: graphql, server
Graphql Shield
🛡 A GraphQL tool to ease the creation of permission layer.
Stars: ✭ 3,121 (+126.65%)
Mutual labels: graphql, server
Omdb Graphql Wrapper
🚀 GraphQL wrapper for the OMDb API
Stars: ✭ 45 (-96.73%)
Mutual labels: graphql, server
Subscriptions Transport Sse
A Server-Side-Events (SSE) client + server for GraphQL subscriptions
Stars: ✭ 55 (-96.01%)
Mutual labels: graphql, server
Leo
Highly Extensible, Declarative Static Site Generator
Stars: ✭ 100 (-92.74%)
Mutual labels: graphql
Json Graphql Server
Get a full fake GraphQL API with zero coding in less than 30 seconds.
Stars: ✭ 1,369 (-0.58%)
Mutual labels: graphql
React Prepare
Prepare you app state for async server-side rendering and more!
Stars: ✭ 100 (-92.74%)
Mutual labels: async-await
A GraphQL server library implemented in Rust
Async-graphql
is a high-performance server-side library that supports all GraphQL specifications.
- Feature Comparison
- Book
- 中文文档
- Docs
- GitHub repository
- Cargo package
- Minimum supported Rust version: 1.46 or later
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
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]
Benchmark
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 benchmark/target/criterion/report
Read more here: https://bheisler.github.io/criterion.rs/book/criterion_rs.html
Integrations
- Actix-web async-graphql-actix-web
- Warp async-graphql-warp
- Tide async-graphql-tide
- Rocket async-graphql-rocket
License
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.
References
- GraphQL
- GraphQL Multipart Request
- GraphQL Cursor Connections Specification
- GraphQL over WebSocket Protocol
- Apollo Tracing
- Apollo Federation
Contribute
Welcome to contribute !
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].