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. |
|
| ||||||||||||||||||||||||||||||
