Closed dariuszkuc closed 2 months ago
The following open-source GraphQL server libraries and other solutions support acting as a subgraph in a federated supergraph.
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Apollo Federation Subgraph Compatibility Results
The following open-source GraphQL server libraries and other solutions support acting as a subgraph in a federated supergraph.
Table Legend
Ballerina
Github: ballerina-platform/module-ballerina-graphql
Type: Code first
Stars: 142 ⭐
Last Release: 2024-06-17
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
C# / .NET
Github: graphql-dotnet/graphql-dotnet
Type: Code first | SDL first
Stars: 5.8k ⭐
Last Release: 2024-02-06
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: ChilliCream/graphql-platform
Type: Code first | SDL first
Stars: 5.1k ⭐
Last Release: 2024-06-21
Federation Library: apollographql/federation-hotchocolate
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Elixir
Github: absinthe-graphql/absinthe
Type: Code first
Stars: 4.2k ⭐
Last Release: 2021-09-28
Federation Library: DivvyPayHQ/absinthe_federation
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Go
Github: 99designs/gqlgen
Type: SDL first
Stars: 9.7k ⭐
Last Release: 2024-06-13
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: dariuszkuc/graphql
Type: Code first
Stars: 2 ⭐
Last Release: 2022-11-11
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Java / Kotlin
Github: netflix/dgs-framework
Type: SDL first
Stars: 3.0k ⭐
Last Release: 2024-06-14
Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
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
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: ExpediaGroup/graphql-kotlin
Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-05-06
Core Library: GraphQL Java
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: spring-projects/spring-graphql
Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-06-18
Core Library: GraphQL Java
Federation Library: apollographql/federation-jvm
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
JavaScript / TypeScript
Github: apollographql/apollo-server
Type: SDL first
Stars: 13.7k ⭐
Last Release: 2024-04-18
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: graphql/express-graphql
Type: SDL first
Stars: 6.3k ⭐
Last Release: 2020-11-19
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: dotansimha/graphql-yoga
Type: SDL first
Stars: 8.1k ⭐
Last Release: 2024-06-18
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: contra/graphql-helix
Type: SDL first
Stars: 830 ⭐
Last Release: 2022-07-09
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: mercurius-js/mercurius
Type: SDL first
Stars: 2.3k ⭐
Last Release: 2024-04-22
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: nestjs/graphql
Type: Code first
Stars: 1.4k ⭐
Last Release: 2024-02-07
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: nestjs/graphql
Type: SDL first
Stars: 1.4k ⭐
Last Release: 2024-02-07
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: hayes/pothos
Type: Code first
Stars: 2.3k ⭐
Last Release: 2024-06-22
Core Library: GraphQL.js
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
PHP
Github: nuwave/lighthouse
Type: SDL first
Stars: 3.3k ⭐
Last Release: 2024-06-21
Core Library: webonyx/graphql-php
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: webonyx/graphql-php
Type: Code first
Stars: 4.6k ⭐
Last Release: 2024-06-19
Federation Library: Skillshare/apollo-federation-php
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Python
Github: mirumee/ariadne
Type: SDL first
Stars: 2.2k ⭐
Last Release: 2024-03-18
Core Library: GraphQL-core 3
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
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
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: strawberry-graphql/strawberry
Type: Code first
Stars: 3.8k ⭐
Last Release: 2024-06-10
Core Library: GraphQL-core 3
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Ruby
Github: rmosolgo/graphql-ruby
Type: Code first
Stars: 5.4k ⭐
Last Release: 2021-02-12
Federation Library: Gusto/apollo-federation-ruby
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Rust
Github: async-graphql/async-graphql
Type: Code first
Stars: 3.3k ⭐
Last Release: 2022-11-28
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Scala
Github: ghostdogpr/caliban
Type: Code first
Stars: 939 ⭐
Last Release: 2024-06-20
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: sangria-graphql/sangria
Type: Code first
Stars: 2.0k ⭐
Last Release: 2024-02-01
Federation Library: sangria-graphql/sangria-federated
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Swift
Github: GraphQLSwift/Graphiti
Type: SDL first
Stars: 525 ⭐
Last Release: 2024-06-10
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Other Solutions
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: Urigo/graphql-mesh
Stars: 3.2k ⭐
Last Release: 2024-06-22
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
Github: neo4j/graphql
Type: Code first | SDL first
Stars: 488 ⭐
Last Release: 2024-06-13
Core Library: GraphQL.js
Federation Library: Apollo Subgraph
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject
_service
@key (single)
@key (multi)
@key (composite)
repeatable @key
@requires
@provides
federated tracing
@link
@shareable
@tag
@override
@inaccessible
@composeDirective
@interfaceObject