Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar.
The main features of strawberry-graphql/strawberry are: GraphQL Frameworks, Schema-Driving Annotations, Type-Hint-Based Schema Definitions, GraphQL APIs, GraphQL Servers, Query Validators, GraphQL Type Mappings, Mutation Definitions.
Open-source alternatives to strawberry-graphql/strawberry include: async-graphql/async-graphql — async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses… graphql-rust/juniper — Juniper is a GraphQL server library and schema engine for Rust. It provides a toolkit for building type-safe APIs by… graphql-hive/graphql-yoga — Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution… graphql-dotnet/graphql-dotnet — GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a… graphql/express-graphql — express-graphql is a GraphQL API server implementation and HTTP middleware that connects a GraphQL schema to an HTTP…
async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses procedural macros to automatically generate schemas from native language structures, ensuring consistency between the data model and the API specification. The project provides native support for Apollo Federation v2, allowing entities and fields to be shared and resolved across multiple distributed subgraphs. It also implements real-time data streaming via WebSocket subscriptions and asynchronous event streams. The framework includes a wide array of capabilities for schema design, su
Juniper is a GraphQL server library and schema engine for Rust. It provides a toolkit for building type-safe APIs by mapping native Rust data structures to GraphQL objects, inputs, and scalars. The project functions as an execution engine that can process queries and mutations either through a network server or as a headless engine for local execution. The library is runtime-agnostic, allowing it to bridge GraphQL processing with various asynchronous Rust web frameworks. It includes a subscription framework that manages persistent WebSocket connections to push real-time data updates to client
Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It functions as a toolkit for managing schemas and resolvers, providing a spec-compliant environment for hosting APIs across diverse JavaScript runtimes, including Node.js, Deno, Bun, and serverless cloud environments. The project distinguishes itself through its ability to act as an Apollo Federation gateway, composing multiple subgraphs into a single unified supergraph. It also serves as a dedicated subscription server, delivering real-time data streaming via both WebSockets and Serve
GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a comprehensive toolkit for schema building, a federated engine for distributed data graphs, and a subscription handler for managing real-time data streams. The project distinguishes itself with a flexible schema builder that supports both programmatic code-first definitions and declarative schema-first approaches using the standard schema definition language. It includes a dedicated federation engine to split data graphs into subgraphs and compose them into a unified gateway, as