Subgraph-compatible server libraries


The following open-source GraphQL server libraries support acting as a subgraph in a federated graph, and 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.

LanguageFramework_service@key (single)@key (multi)@key (composite)@requires@providesftv1
AppSyncaws-appsync✔️✔️✔️✔️✔️✔️
C# (.NET)graphql-dotnet✔️✔️
C# (.NET)hotchocolate✔️✔️✔️✔️✔️✔️
Elixirabsinthe_federation✔️✔️✔️✔️✔️✔️❌ (in progress)
Gogqlgen✔️✔️*✔️*✔️✔️
JavaScriptapollo-server✔️✔️✔️✔️✔️✔️✔️
JavaScriptexpress-graphql✔️✔️✔️✔️✔️✔️
JavaScriptMercurius✔️✔️✔️✔️✔️✔️
Javafederation-jvm✔️✔️✔️✔️✔️✔️✔️
Java / Kotlindgs✔️✔️✔️✔️✔️✔️✔️
Kotlingraphql-kotlin✔️✔️*✔️*✔️*✔️✔️✔️
PHPapollo-federation-php✔️✔️✔️✔️✔️✔️
PHPLighthouse (Laravel)✔️✔️✔️✔️✔️✔️
Pythongraphene✔️✔️✔️✔️✔️
Pythonariadne✔️✔️*✔️*✔️*✔️✔️
Pythonstrawberry-graphql✔️✔️✔️✔️✔️✔️
Rubyapollo-federation-ruby✔️✔️✔️✔️✔️✔️✔️
Rustasync-graphql✔️✔️✔️✔️✔️✔️
Scalacaliban✔️✔️✔️✔️✔️✔️✔️

* Library does not support multiple @key definitions, but all types of @key definitions are supported

To add a library to this list, feel free to open an issue or check out the Apollo Federation Library Maintainers Implementation Guide to learn how to submit a PR for your library!

Feedback

Edit on GitHub

Forums