Federation-compatible subgraph implementations
For use in a federated supergraph
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 |
---|---|
🟩 | Functionality is supported |
🟥 | Critical functionality is not supported |
🔲 | Additional Federation functionality is not supported |
C# / .NET
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GraphQL for .NET |
|
| ||||||||||||||||||||||||
Hot Chocolate |
|
|
Elixir
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Absinthe.Federation |
|
|
Go
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
gqlgen |
|
|
Java / Kotlin
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dgs-framework |
|
| ||||||||||||||||||||||||
Federation JVM |
|
| ||||||||||||||||||||||||
GraphQL Java Kickstart (Spring Boot) |
|
| ||||||||||||||||||||||||
GraphQL Kotlin |
|
|
JavaScript / TypeScript
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Apollo Server |
|
| ||||||||||||||||||||||||
express-graphql |
|
| ||||||||||||||||||||||||
GraphQL Yoga |
|
| ||||||||||||||||||||||||
Mercurius |
|
| ||||||||||||||||||||||||
NestJS |
|
| ||||||||||||||||||||||||
Pothos GraphQL |
|
|
PHP
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lighthouse (Laravel) |
|
| ||||||||||||||||||||||||
Apollo Federation PHP |
|
|
Python
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ariadne |
|
| ||||||||||||||||||||||||
Graphene |
|
| ||||||||||||||||||||||||
Strawberry |
|
|
Ruby
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GraphQL Ruby |
|
|
Rust
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Async-graphql |
|
|
Scala
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Caliban |
|
|
Hosted Subgraphs
Library | Federation 1 Support | Federation 2 Support | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AWS AppSync |
|
| ||||||||||||||||||||||||
StepZen |
|
|