Federation-Compatible Subgraph Implementations
Reference for compatible GraphQL server libraries
The following open-source GraphQL server libraries and hosted solutions support acting as a subgraph in a federated supergraph. Their support is tracked in Apollo's subgraph compatibility repository. Check out the repository for details on the compatibility tests listed in the table below.
To add a subgraph to this list, feel free to open an issue or check out the Apollo Federation Subgraph Maintainers Implementation Guide to learn how to submit a PR for your implementation!
Table Legend
Icon | Description |
---|---|
Maintained by Apollo | |
π’ | Functionality is supported |
β | Critical functionality is NOT supported |
π² | Additional federation functionality is NOT supported |
Ballerina
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ballerina GraphQL Module | ||||||||||||||||||||||||||||||||
A spec-compliant, production-ready, Standard Library module for building and interacting with GraphQL APIs using Ballerina. Github: ballerina-platform/module-ballerina-graphql Type: Code first Stars: 144 β Last Release: 2024-05-03 |
|
|
C# / .NET
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GraphQL for .NET | ||||||||||||||||||||||||||||||||
GraphQL for .NET Github: graphql-dotnet/graphql-dotnet Type: Code first | SDL first Stars: 5.8k β Last Release: 2024-02-06 |
|
| ||||||||||||||||||||||||||||||
Hot Chocolate | ||||||||||||||||||||||||||||||||
Open-source GraphQL server for the Microsoft .NET platform that takes the complexity away and lets you focus on delivering the next big thing. Github: ChilliCream/graphql-platform Type: Code first | SDL first Stars: 4.9k β Last Release: 2024-04-22 Federation Library: apollographql/federation-hotchocolate |
|
|
Elixir
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Absinthe | ||||||||||||||||||||||||||||||||
The GraphQL toolkit for Elixir Github: absinthe-graphql/absinthe Type: Code first Stars: 4.2k β Last Release: 2021-09-28 Federation Library: DivvyPayHQ/absinthe_federation |
|
|
Go
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
gqlgen | ||||||||||||||||||||||||||||||||
go generate based graphql server library Github: 99designs/gqlgen Type: SDL first Stars: 9.6k β Last Release: 2024-03-11 |
|
| ||||||||||||||||||||||||||||||
GraphQL Go (fork) | ||||||||||||||||||||||||||||||||
This is a fork of graphql-go/graphql that adds Federation support Github: dariuszkuc/graphql Type: Code first Stars: 2 β Last Release: 2022-11-11 |
|
|
Java / Kotlin
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dgs-framework | ||||||||||||||||||||||||||||||||
GraphQL for Java with Spring Boot made easy. Github: netflix/dgs-framework Type: SDL first Stars: 3.0k β Last Release: 2024-04-30 Core Library: GraphQL Java Federation Library: apollographql/federation-jvmΒ Β |
|
| ||||||||||||||||||||||||||||||
GraphQL Java Kickstart (Spring Boot) | ||||||||||||||||||||||||||||||||
GraphQL and GraphiQL Spring Framework Boot Starters - Forked from oembedler/graphql-spring-boot due to inactivity. Github: graphql-java-kickstart/graphql-spring-boot Type: SDL first Stars: 1.5k β Last Release: 2023-12-07 Core Library: GraphQL Java Federation Library: apollographql/federation-jvmΒ Β |
|
| ||||||||||||||||||||||||||||||
GraphQL Kotlin | ||||||||||||||||||||||||||||||||
Libraries for running GraphQL in Kotlin Github: ExpediaGroup/graphql-kotlin Type: Code first Stars: 1.7k β Last Release: 2024-04-18 Core Library: GraphQL Java |
|
| ||||||||||||||||||||||||||||||
Spring GraphQL | ||||||||||||||||||||||||||||||||
Spring Integration for GraphQL Github: spring-projects/spring-graphql Type: SDL first Stars: 1.5k β Last Release: 2024-04-16 Core Library: GraphQL Java Federation Library: apollographql/federation-jvmΒ Β |
|
|
JavaScript / TypeScript
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apollo Server | ||||||||||||||||||||||||||||||||
π Β Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more. Github: apollographql/apollo-serverΒ Β Type: SDL first Stars: 13.7k β Last Release: 2024-04-18 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
express-graphql | ||||||||||||||||||||||||||||||||
Create a GraphQL HTTP server with Express. Github: graphql/express-graphql Type: SDL first Stars: 6.3k β Last Release: 2020-11-19 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
GraphQL Yoga | ||||||||||||||||||||||||||||||||
The fully-featured GraphQL server with focus on easy setup, performance and great developer experience. Github: dotansimha/graphql-yoga Type: SDL first Stars: 8.0k β Last Release: 2024-03-29 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
GraphQL Helix | ||||||||||||||||||||||||||||||||
A highly evolved and framework-agnostic GraphQL HTTP server. Github: contra/graphql-helix Type: SDL first Stars: 831 β Last Release: 2022-07-09 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
Mercurius | ||||||||||||||||||||||||||||||||
Implement GraphQL servers and gateways with Fastify Github: mercurius-js/mercurius Type: SDL first Stars: 2.3k β Last Release: 2024-04-22 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
NestJS (code first) | ||||||||||||||||||||||||||||||||
A progressive Node.js framework for building efficient, reliable and scalable server-side applications. Github: nestjs/graphql Type: Code first Stars: 1.4k β Last Release: 2024-02-07 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
NestJS (SDL First) | ||||||||||||||||||||||||||||||||
A progressive Node.js framework for building efficient, reliable and scalable server-side applications. Github: nestjs/graphql Type: SDL first Stars: 1.4k β Last Release: 2024-02-07 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
Pothos GraphQL | ||||||||||||||||||||||||||||||||
Plugin based GraphQL schema builder that makes building graphql schemas with TypeScript easy, fast and enjoyable. Github: hayes/pothos Type: Code first Stars: 2.2k β Last Release: 2024-04-17 Core Library: GraphQL.js |
|
|
PHP
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lighthouse (Laravel) | ||||||||||||||||||||||||||||||||
A framework for serving GraphQL from Laravel Github: nuwave/lighthouse Type: SDL first Stars: 3.3k β Last Release: 2024-05-01 Core Library: webonyx/graphql-php |
|
| ||||||||||||||||||||||||||||||
GraphQL PHP | ||||||||||||||||||||||||||||||||
PHP implementation of the GraphQL specification based on the reference implementation in JavaScript Github: webonyx/graphql-php Type: Code first Stars: 4.6k β Last Release: 2024-03-11 Federation Library: Skillshare/apollo-federation-php |
|
|
Python
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ariadne | ||||||||||||||||||||||||||||||||
Python library for implementing GraphQL servers using schema-first approach. Github: mirumee/ariadne Type: SDL first Stars: 2.1k β Last Release: 2024-03-18 Core Library: GraphQL-core 3 |
|
| ||||||||||||||||||||||||||||||
Graphene | ||||||||||||||||||||||||||||||||
GraphQL framework for Python Github: graphql-python/graphene Type: Code first Stars: 8.0k β Last Release: 2023-07-26 Core Library: GraphQL-core 3 Federation Library: graphql-python/graphene-federation |
|
| ||||||||||||||||||||||||||||||
Strawberry | ||||||||||||||||||||||||||||||||
A GraphQL library for Python that leverages type annotations π Github: strawberry-graphql/strawberry Type: Code first Stars: 3.8k β Last Release: 2024-05-01 Core Library: GraphQL-core 3 |
|
|
Ruby
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GraphQL Ruby | ||||||||||||||||||||||||||||||||
Ruby implementation of GraphQL Github: rmosolgo/graphql-ruby Type: Code first Stars: 5.3k β Last Release: 2021-02-12 Federation Library: Gusto/apollo-federation-ruby |
|
|
Rust
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
async-graphql | ||||||||||||||||||||||||||||||||
A GraphQL server library implemented in Rust Github: async-graphql/async-graphql Type: Code first Stars: 3.2k β Last Release: 2022-11-28 |
|
|
Scala
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Caliban | ||||||||||||||||||||||||||||||||
Functional GraphQL library for Scala Github: ghostdogpr/caliban Type: Code first Stars: 939 β Last Release: 2024-04-16 |
|
| ||||||||||||||||||||||||||||||
Sangria | ||||||||||||||||||||||||||||||||
Scala GraphQL implementation Github: sangria-graphql/sangria Type: Code first Stars: 2.0k β Last Release: 2024-02-01 Federation Library: sangria-graphql/sangria-federated |
|
|
Swift
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Graphiti | ||||||||||||||||||||||||||||||||
The Swift GraphQL Schema framework for macOS and Linux Github: GraphQLSwift/Graphiti Type: SDL first Stars: 523 β Last Release: 2023-11-15 |
|
|
Other Solutions
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AWS AppSync | ||||||||||||||||||||||||||||||||
Serverless GraphQL and Pub/Sub APIs |
|
| ||||||||||||||||||||||||||||||
Dgraph | ||||||||||||||||||||||||||||||||
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast. |
|
| ||||||||||||||||||||||||||||||
Grafbase | ||||||||||||||||||||||||||||||||
The GraphQL platform Github: grafbase/grafbase Type: Code first | SDL first Stars: 934 β Last Release: 2024-02-23 |
|
| ||||||||||||||||||||||||||||||
GraphQL Mesh | ||||||||||||||||||||||||||||||||
Executable GraphQL schema from multiple data sources, query anything, run anywhere. Github: Urigo/graphql-mesh Stars: 3.2k β |
|
| ||||||||||||||||||||||||||||||
Neo4J Graph Database | ||||||||||||||||||||||||||||||||
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations. Github: neo4j/graphql Type: Code first | SDL first Stars: 485 β Last Release: 2024-04-30 Core Library: GraphQL.js Federation Library: Apollo SubgraphΒ Β |
|
| ||||||||||||||||||||||||||||||
StepZen, an IBM Company | ||||||||||||||||||||||||||||||||
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL. |
|
|