Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update all non-major dependencies #593

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 27, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@apollo/rover ^0.22.0 -> ^0.23.0 age adoption passing confidence
@types/node (source) 18.19.8 -> 18.19.33 age adoption passing confidence
@typescript-eslint/eslint-plugin (source) 6.19.1 -> 6.21.0 age adoption passing confidence
@typescript-eslint/parser (source) 6.19.1 -> 6.21.0 age adoption passing confidence
eslint (source) 8.56.0 -> 8.57.0 age adoption passing confidence
prettier (source) 3.2.4 -> 3.2.5 age adoption passing confidence
typescript (source) 5.3.3 -> 5.4.5 age adoption passing confidence

Release Notes

apollographql/rover (@​apollo/rover)

v0.23.0

Compare Source

πŸš€ Features

  • Add --no-url shorthand to subgraph publish - @​lennyburdette PR #​1809

    This is slightly more convenient and less awkward than --routing-url "" --allow-invalid-routing-url

  • Support unix socket URLs - @​geal PR #​1879

    Since its 1.43.0 release, the Router can now connect to subgraph over unix sockets. This removes a warning when publishing a schema with a unix:// URL.

πŸ› Fixes

  • Use task specific rayon threadpools and not the global threadpool - @​garypen PR #​1872

    This increases rover's reliability by executing independent tasks in different thread pools.

  • Prevent an infinite loop when restarting the router - @​geal PR #​1855

    When restarting a Router on schema updates, it could happen that an internal task of Rover would go in an infinite loop and consume CPU needlessly. This is now fixed and should make rover dev more reliable.

  • Use proposalCoverage`` in addition to severityLevel`` to build correct proposal check messaging - @​swcollard PR #​1845

    This updates the message on proposal checks depending on the proposalCoverage field

πŸ›  Maintenance

πŸ“š Documentation

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v6.21.0

Compare Source

πŸš€ Features
  • export plugin metadata

  • allow parserOptions.project: false

  • eslint-plugin: add rule prefer-find

🩹 Fixes
  • eslint-plugin: [no-unused-vars] don't report on types referenced in export assignment expression

  • eslint-plugin: [switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

  • eslint-plugin: [consistent-type-imports] dont report on types used in export assignment expressions

  • eslint-plugin: [no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

  • eslint-plugin: [class-literal-property-style] allow getter when same key setter exists

  • eslint-plugin: [no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before as keyword

❀️ Thank You
  • auvred
  • Brad Zacher
  • Kirk Waiblinger
  • Pete Gonzalez
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.20.0

Compare Source

πŸš€ Features
  • eslint-plugin: [member-ordering] allow easy reuse of the default ordering
🩹 Fixes
  • eslint-plugin: [no-useless-template-literals] incorrect bigint autofix result

  • eslint-plugin: [prefer-nullish-coalescing] treat any/unknown as non-nullable

  • eslint-plugin: [no-useless-template-literals] report Infinity & NaN

  • eslint-plugin: [prefer-readonly] disable checking accessors

❀️ Thank You
  • Alex Parloti
  • auvred
  • James Browning
  • StyleShit
  • YeonJuan

You can read about our versioning strategy and releases on our website.

typescript-eslint/typescript-eslint (@​typescript-eslint/parser)

v6.21.0

Compare Source

πŸš€ Features
  • allow parserOptions.project: false
❀️ Thank You
  • auvred
  • Brad Zacher
  • Kirk Waiblinger
  • Pete Gonzalez
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.20.0

Compare Source

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

eslint/eslint (eslint)

v8.57.0

Compare Source

Features

Bug Fixes

Documentation

Chores

prettier/prettier (prettier)

v3.2.5

Compare Source

diff

Support Angular inline styles as single template literal (#​15968 by @​sosukesuzuki)

Angular v17 supports single string inline styles.

// Input
@​Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}
Unexpected embedded formatting for Angular template (#​15969 by @​JounQin)

Computed template should not be considered as Angular component template

// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
Use "json" parser for tsconfig.json by default (#​16012 by @​sosukesuzuki)

In v2.3.0, we introduced "jsonc" parser which adds trialing comma by default.

When adding a new parser we also define how it will be used based on the linguist-languages data.

tsconfig.json is a special file used by TypeScript, it uses .json file extension, but it actually uses the JSON with Comments syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing .json file extension.

We decide to treat it as a JSON file for now to avoid the extra configuration step.

To keep using the "jsonc" parser for your tsconfig.json files, add the following to your .pretterrc file

{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}
Microsoft/TypeScript (typescript)

v5.4.5: TypeScript 5.4.5

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.4.4: TypeScript 5.4.4

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.4.3: TypeScript 5.4.3

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:

v5.4.2: TypeScript 5.4

Compare Source

For release notes, check out the release announcement.

For the complete list of fixed issues, check out the

Downloads are available on:


Configuration

πŸ“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

β™» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

πŸ‘» Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot requested a review from a team as a code owner January 27, 2024 13:26
Copy link
Contributor

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2023-09-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
Last Release: 2023-12-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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.8k ⭐
Last Release: 2024-01-19

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.4k ⭐
Last Release: 2024-01-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-01-16

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-03

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
express-graphql
Create a GraphQL HTTP server with Express.

Github: graphql/express-graphql

Type: SDL first
Stars: 6.4k ⭐
Last Release: 2020-11-19

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-01-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 834 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-01-04

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

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-01-17

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🟒
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: 2023-12-05

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

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-01-08

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.6k ⭐
Last Release: 2024-01-04

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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.1k ⭐
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

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 891 ⭐
Last Release: 2024-01-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Sangria
Scala GraphQL implementation

Github: sangria-graphql/sangria

Type: Code first
Stars: 2.0k ⭐
Last Release: 2023-10-16

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

Library Federation 1 Support Federation 2 Support
Graphiti
The Swift GraphQL Schema framework for macOS and Linux

Github: GraphQLSwift/Graphiti

Type: SDL first
Stars: 513 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 887 ⭐
Last Release: 2024-01-10

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-01-18













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 464 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot changed the title chore(deps): update dependency @types/node to v18.19.10 chore(deps): update all non-major dependencies Feb 3, 2024
Copy link
Contributor

github-actions bot commented Feb 3, 2024

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2023-09-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
Last Release: 2023-12-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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.8k ⭐
Last Release: 2024-01-26

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.4k ⭐
Last Release: 2024-01-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-01-26

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-01-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 836 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-01-04

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

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-01-17

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🟒
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-01-25

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

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-01-08

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.6k ⭐
Last Release: 2024-01-24

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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.1k ⭐
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

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 890 ⭐
Last Release: 2024-01-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Sangria
Scala GraphQL implementation

Github: sangria-graphql/sangria

Type: Code first
Stars: 2.0k ⭐
Last Release: 2023-10-16

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

Library Federation 1 Support Federation 2 Support
Graphiti
The Swift GraphQL Schema framework for macOS and Linux

Github: GraphQLSwift/Graphiti

Type: SDL first
Stars: 514 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 895 ⭐
Last Release: 2024-01-24

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-01-18













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 466 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

github-actions bot commented Feb 4, 2024

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2023-09-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
Last Release: 2023-12-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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.8k ⭐
Last Release: 2024-01-26

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.4k ⭐
Last Release: 2024-01-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-01

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-01-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 835 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-01-28

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

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-02-01

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.6k ⭐
Last Release: 2024-01-28

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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.1k ⭐
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

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 921 ⭐
Last Release: 2024-01-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 517 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 899 ⭐
Last Release: 2024-02-01

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-01-18













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 468 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

github-actions bot commented Feb 4, 2024

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2023-09-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
Last Release: 2023-12-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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.8k ⭐
Last Release: 2024-01-26

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.4k ⭐
Last Release: 2024-01-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-01

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-01-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 835 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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: 2023-06-16

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-01-28

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

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-02-01

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.6k ⭐
Last Release: 2024-01-28

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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.1k ⭐
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

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 921 ⭐
Last Release: 2024-01-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 517 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 899 ⭐
Last Release: 2024-02-01

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-01-18













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 468 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 2f7eecc to ddddc23 Compare February 17, 2024 09:19
Copy link
Contributor

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2023-09-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-09

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-01-18

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-09

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 835 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-08

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

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-02-01

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 922 ⭐
Last Release: 2024-01-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 517 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 902 ⭐
Last Release: 2024-02-08

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-07













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 467 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-17

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-09

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 834 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-14

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

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-02-01

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 922 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 519 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 905 ⭐
Last Release: 2024-02-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-13













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 466 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

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

Icon Description
Maintained by Apollo 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: 143 ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-17

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-09

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2023-11-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 834 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-14

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

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-02-01

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 922 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 519 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 905 ⭐
Last Release: 2024-02-16

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-13













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 466 ⭐

Last Release: 2024-01-16



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

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

Icon Description
Maintained by Apollo 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-02-21

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-23

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-20

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-02-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 833 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-24

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

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-02-23

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 924 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 519 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 904 ⭐
Last Release: 2024-02-23

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-23













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 465 ⭐

Last Release: 2024-02-23



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch from a21e463 to 8260ee5 Compare March 2, 2024 09:58
Copy link
Contributor

github-actions bot commented Mar 2, 2024

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

Icon Description
Maintained by Apollo 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-02-21

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-23

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-20

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-02-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 833 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-24

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

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-02-23

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 924 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 519 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 904 ⭐
Last Release: 2024-02-23

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-23













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 465 ⭐

Last Release: 2024-02-23



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 8260ee5 to 13f3a6a Compare March 9, 2024 09:13
Copy link
Contributor

github-actions bot commented Mar 9, 2024

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

Icon Description
Maintained by Apollo 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-02-21

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-02-23

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-20

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-02-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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: 7.9k ⭐
Last Release: 2024-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 833 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-02-24

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

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-02-23

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🟒
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-01-25

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

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-01-31

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 924 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 519 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 904 ⭐
Last Release: 2024-02-23

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-23













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 465 ⭐

Last Release: 2024-02-23



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 13f3a6a to 1bffe77 Compare March 16, 2024 08:21
Copy link
Contributor

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

Icon Description
Maintained by Apollo 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-02-21

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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.7k ⭐
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πŸ”²
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.8k ⭐
Last Release: 2024-03-02

Federation Library: apollographql/federation-hotchocolateΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Go

Library Federation 1 Support Federation 2 Support
gqlgen
go generate based graphql server library

Github: 99designs/gqlgen

Type: SDL first
Stars: 9.5k ⭐
Last Release: 2024-02-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 2.9k ⭐
Last Release: 2024-02-28

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Kotlin
Libraries for running GraphQL in Kotlin

Github: ExpediaGroup/graphql-kotlin

Type: Code first
Stars: 1.7k ⭐
Last Release: 2024-01-25

Core Library: GraphQL Java
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Spring GraphQL
Spring Integration for GraphQL

Github: spring-projects/spring-graphql

Type: SDL first
Stars: 1.5k ⭐
Last Release: 2024-02-21

Core Library: GraphQL Java
Federation Library: apollographql/federation-jvmΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.6k ⭐
Last Release: 2024-01-02

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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-02-04

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
GraphQL Helix
A highly evolved and framework-agnostic GraphQL HTTP server.

Github: contra/graphql-helix

Type: SDL first
Stars: 832 ⭐
Last Release: 2022-07-09

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
Mercurius
Implement GraphQL servers and gateways with Fastify

Github: mercurius-js/mercurius

Type: SDL first
Stars: 2.3k ⭐
Last Release: 2023-12-26

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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-03-02

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

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-03-01

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🟒
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-01-25

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

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-02-29

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🟒
Graphene
GraphQL framework for Python

Github: graphql-python/graphene

Type: Code first
Stars: 7.9k ⭐
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πŸ”²
Strawberry
A GraphQL library for Python that leverages type annotations πŸ“

Github: strawberry-graphql/strawberry

Type: Code first
Stars: 3.7k ⭐
Last Release: 2024-02-06

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

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

Scala

Library Federation 1 Support Federation 2 Support
Caliban
Functional GraphQL library for Scala

Github: ghostdogpr/caliban

Type: Code first
Stars: 925 ⭐
Last Release: 2024-02-17

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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: 521 ⭐
Last Release: 2023-11-15

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Grafbase
The GraphQL platform

Github: grafbase/grafbase

Type: Code first | SDL first
Stars: 934 ⭐
Last Release: 2024-02-23

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.1k ⭐

Last Release: 2024-02-28













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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: 467 ⭐

Last Release: 2024-02-27



Core Library: GraphQL.js

Federation Library: Apollo SubgraphΒ Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from bf91f20 to 9ad9808 Compare March 26, 2024 17:16
@renovate renovate bot changed the title chore(deps): update all non-major dependencies fix(deps): update all non-major dependencies Mar 26, 2024
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from b5dab1b to a7fb663 Compare April 1, 2024 22:08
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 5 times, most recently from d177287 to a221f18 Compare April 9, 2024 08:02
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from a221f18 to 8f75688 Compare April 10, 2024 16:08
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from aeebb0c to 22d6a56 Compare April 28, 2024 03:57
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 2 times, most recently from 0b2f1d0 to c14f2b0 Compare May 8, 2024 12:20
@renovate renovate bot force-pushed the renovate/all-minor-patch branch 8 times, most recently from bf08641 to 6431ad0 Compare May 17, 2024 20:05
Copy link
Contributor

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

Icon Description
Maintained by Apollo 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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.7k ⭐
Last Release: 2024-04-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.2k ⭐

Last Release: 2024-04-30













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 6431ad0 to 543f958 Compare May 20, 2024 14:20
@renovate renovate bot force-pushed the renovate/all-minor-patch branch from 543f958 to 79a2027 Compare May 20, 2024 14:25
Copy link
Contributor

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

Icon Description
Maintained by Apollo 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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.7k ⭐
Last Release: 2024-04-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.2k ⭐

Last Release: 2024-04-30













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Copy link
Contributor

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

Icon Description
Maintained by Apollo 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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link🟒
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @keyπŸ”²
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link❌
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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Β Β Maintained by Apollo

Type: SDL first
Stars: 13.7k ⭐
Last Release: 2024-04-18

Core Library: GraphQL.js
Federation Library: Apollo SubgraphΒ Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@providesπŸ”²
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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Β Β Maintained by Apollo
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObjectπŸ”²

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒
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
_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

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

_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

Other Solutions




















Library Federation 1 Support Federation 2 Support
AWS AppSync
Serverless GraphQL and Pub/Sub APIs


_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracingπŸ”²
@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
Dgraph
Dgraph is the native GraphQL database with a graph backend. It is open-source, scalable, distributed, highly available and lightning fast.


_service❌
@key (single)🟒
@key (multi)πŸ”²
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requiresπŸ”²
@providesπŸ”²
federated tracingπŸ”²
@link❌
@shareableπŸ”²
@tagπŸ”²
@overrideπŸ”²
@inaccessibleπŸ”²
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²
GraphQL Mesh
Executable GraphQL schema from multiple data sources, query anything, run anywhere.

Github: Urigo/graphql-mesh

Stars: 3.2k ⭐

Last Release: 2024-04-30













_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

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Β Β Maintained by Apollo










_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)🟒
repeatable @key🟒
@requires🟒
@provides🟒
federated tracing🟒










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirective🟒
@interfaceObject🟒

StepZen, an IBM Company
Build GraphQL APIs for all your data in a declarative way. Federate across any data source, including GraphQL.















_service🟒
@key (single)🟒
@key (multi)🟒
@key (composite)πŸ”²
repeatable @keyπŸ”²
@requires🟒
@providesπŸ”²
federated tracingπŸ”²










@link🟒
@shareable🟒
@tag🟒
@override🟒
@inaccessible🟒
@composeDirectiveπŸ”²
@interfaceObjectπŸ”²

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants