Tools and Libraries | GraphQL
Insomnia is an open-source, cross-platform API Client for GraphQL, REST, and gRPC. Insomnia combines an easy-to-use interface with advanced functionality like authentication helpers, code generation, and environment variables.
★40kApache License 2.0 Last release 3 days ago
Hasura connects to your databases & microservices and instantly gives you a production-ready GraphQL API.
★32kApache License 2.0 Last release 1 week ago
Dgraph is a native GraphQL database with a graph backend. This means Dgraph is not an interface on top of an existing database like Postgres but is actually designed from the ground-up for GraphQL. It is optimized for speed and performance, depending on multiple computer science breakthroughs to get the best result. Dgraph Cloud is a fully managed GraphQL backend service that lets you iterate faster, without worrying about your infrastructure.
★22kApache License 2.0 Last release 2 days ago
README
Install Steps if running locally on linux not on Dgraph Cloud:
Set your GraphQL Schema:
Fire up your favorite GraphQL Client pointed at and run mutations and queries
The reference implementation of the GraphQL specification, designed for running GraphQL in a Node.js environment.
★20kMIT License Last release 5 days ago
README
To run a hello world script from the command line:
Then run with this code in :
A powerful JavaScript GraphQL client, designed to work well with React, React Native, Angular 2, or just plain JavaScript.
★20kMIT License Last release 1 week ago
Facebook's framework for building React applications that talk to a GraphQL backend.
★19kMIT License Last release 3 weeks ago
README
Relay is a JavaScript framework for building data-driven React applications.
- Declarative: Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
- Colocation: Queries live next to the views that rely on them, so you can easily reason about your app. Relay aggregates queries into efficient network requests to fetch only what you need.
- Mutations: Relay lets you mutate data on the client and server using GraphQL mutations, and offers automatic data consistency, optimistic updates, and error handling.
Apache APISIX is a dynamic, real-time, high-performance API gateway providing rich traffic management features such as load balancing, dynamic upstream, canary release, observability, etc. As a cloud-native API gateway, Apache APISIX already can support GraphQL syntax at the beginning of its design. Efficiently matching GraphQL statements carried in requests can filter out abnormal traffic to further ensure security. For more information, please visit How to Use GraphQL with API Gateway Apache APISIX
★17kApache License 2.0 Last release 5 days ago
A GraphQL server from Apollo that works with any Node.js HTTP framework
★14kMIT License Last release 1 month ago
README
Generate types for GraphQL queries in TypeScript, Swift, golang, C#, C++, and more.
★14kApache License 2.0
builds a powerful, extensible and performant GraphQL API from a PostgreSQL schema in seconds; saving you weeks if not months of development time.
★13kMIT License Last release 1 month ago
GraphQL code generator with flexible support for custom plugins and templates like Typescript (frontend and backend), React Hooks, resolvers signatures and more.
★11kMIT License Last release 3 days ago
GraphQL code generator with flexible support for custom plugins and templates like Typescript (frontend and backend), React Hooks, resolvers signatures and more.
★11kMIT License Last release 3 days ago
Tyk is a lightweight Open Source API Management Gateway that has built a Full API Life-Cycle Management around GraphQL with its own GraphQL engine that is written in Golang. Tyk supports schema stitching of multiple GraphQL and/or REST APIs through Universal Data Graph (UDG) as well as GraphQL Federation and GraphQL Subscription.
★11kOther Last release 4 months ago
A JavaScript library for application development using cloud services, which supports GraphQL backend and React components for working with GraphQL data.
★10kApache License 2.0 Last release 1 week ago
API Platform is a fully-featured, flexible and extensible API framework built on top of Symfony.
★9kMIT License Last release 1 week ago
README
The following class is enough to create both a Relay-compatible GraphQL server and a hypermedia API supporting modern REST formats (JSON-LD, JSONAPI…):
Other API Platform features include data validation, authentication, authorization, deprecations, cache and GraphiQL integration.
A highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.
★9kMIT License Last release 6 days ago
README
is a GraphQL client that exposes a set of helpers for several frameworks. It’s built to be highly customisable and versatile so you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients.
- Currently supports React, React Native, Preact, Svelte, and Vue, and is supported by GraphQL Code Generator.
- Logical yet simple default behaviour and document caching, and normalized caching via
- Fully customizable behaviour via “exchanges” (addon packages)
GraphQL Yoga is a batteries-included cross-platform GraphQL over HTTP spec-compliant GraphQL Server using Envelop and GraphQL Tools.
★9kMIT License Last release 1 week ago
README
- Built around the Fetch API & objects
- GraphQL over HTTP compliant
- Extensible GraphQL Engine powered by Envelop
- GraphQL Subscriptions over HTTP
- Handle file uploads with GraphQL
- Integrates with AWS Lambda, Cloudflare Workers, Deno, Express, Next.js, SvelteKit, and more.
To run a hello world server with graphql-yoga:
Then create a server using the import:
Depending on your deployment target, you may need to use an additional library. See the documentation for further details.
A Python library for building GraphQL APIs.
★8kMIT License Last release 1 year ago
README
To run a Graphene hello world script:
Then run with this code in :
There are also nice bindings for Relay, Django, SQLAlchemy, and Google App Engine.
Webiny allows you to quickly build GraphQL APIs on top of AWS Lambda and DynamoDB with built-in scaffolds. Webiny also includes a ready-made headless GraphQL CMS for a no-code experience.
★8kOther Last release 2 days ago
A simple and flexible JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native) - basically a lightweight wrapper around fetch.
★6kMIT License Last release 6 years ago
A robust multi-protocol API client with features like API scripting, automation, collaborative workspaces, and comprehensive support for testing and developing GraphQL APIs.
★6kUnknown
A feature-rich GraphQL IDE by ChilliCream that let's you explore, manage, and test your GraphQL APIs. Check it out here.
★6kMIT License Last release 3 days ago
Strawberry Shake is a open-source reactive GraphQL client for .NET
★6kMIT License Last release 3 days ago
README
Strawberry Shake removes the complexity of state management and lets you interact with local and remote data through GraphQL.
You can use Strawberry Shake to:
- Generate a C# client from your GraphQL queries.
- Interact with local and remote data through GraphQL.
- Use reactive APIs to interact with your state.
Hot Chocolate is an open-source GraphQL Server for .NET
★6kMIT License Last release 3 days ago
README
Hot Chocolate takes the complexity away from building a fully-fledged GraphQL server and lets you focus on delivering the next big thing.
A Ruby library for building GraphQL APIs.
★5kMIT License Last release 11 months ago
README
To run a hello world script with :
Then run with this code in :
There are also nice bindings for Relay and Rails.
A set of utils for faster development of GraphQL tools (Schema and documents loading, Schema merging and more).
★5kMIT License Last release 1 month ago
An alternative to Postman that supports editing GraphQL queries directly and autoload your GraphQL schema.
★5kMIT License Last release 2 weeks ago
GraphQL server with a focus on ease of use.
★5kBSD 2-Clause "Simplified" License Last release 1 month ago
Strawberry is a Python library for implementing code first GraphQL servers using modern Python features like type hints.
★5kMIT License Last release 6 hours ago
README
Here’s an example of a Strawberry hello world, first install the library:
Create an file with this content:
Then run and you will have a basic schema server running on .
Strawberry also has views for ASGI, Flask and Django and provides utilities like dataloaders and tracing.
A GraphQL client for iOS that returns results as query-specific Swift types, and integrates with Xcode to show your Swift source and GraphQL side by side, with inline validation errors.
★4kMIT License Last release 1 month ago
A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
★4kMIT License Last release 1 month ago
README
Apollo Kotlin (formerly known as Apollo Android) is a GraphQL client with support for Android, Java8+, iOS and Kotlin multiplatform in general. It features:
- Java and Kotlin Multiplatform code generation
- Queries, Mutations and Subscriptions
- Reflection-free parsing
- Normalized cache
- Custom scalar types
- HTTP cache
- Auto Persisted Queries
- Query batching
- File uploads
- Espresso IdlingResource
- Fake models for tests
- AppSync and graphql-ws websockets
- GraphQL AST parser
A free, open-source WordPress plugin that provides an extendable GraphQL schema and API for any WordPress site
★4kGNU General Public License v3.0 Last release 1 week ago
Async-graphql is a high-performance server-side library that supports all GraphQL specifications.
★4kApache License 2.0
README
A GraphQL tool to ease the creation of permission layer.
★4kMIT License Last release 3 years ago
README
GraphQL Shield helps you create a permission layer for your application. Using an intuitive rule-API, you’ll gain the power of the shield engine on every request and reduce the load time of every request with smart caching. This way you can make sure your application will remain quick, and no internal data will be exposed.
GraphQL Mesh allows you to use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). It can be used as a gateway to other services, or run as a local GraphQL schema that aggregates data from remote APIs.
★4kMIT License Last release 1 week ago
A modern API testing tool for web applications built with Open API and GraphQL specifications.
★3kMIT License Last release 1 day ago
README
Run Schemathesis via Docker against your GraphQL endpoint:
Schemathesis will generate queries matching your GraphQL schema and catch server crashes automatically. Generated queries have arbitrary depth and may contain any subset of GraphQL types defined in the input schema. They expose edge cases in your code that are unlikely to be found otherwise.
Note that you can write your app in any programming language; the tool will communicate with it over HTTP.
For example, running the command above against uncovers that running the query leads to a server error:
curl for GraphQL with autocomplete, subscriptions and GraphiQL. Also a dead-simple universal javascript GraphQL client.
★3kApache License 2.0
The DGS Framework (Domain Graph Service) is a GraphQL server framework for Spring Boot, developed by Netflix.
★3kApache License 2.0 Last release 3 weeks ago
README
The DGS Framework (Domain Graph Service) is a GraphQL server framework for Spring Boot, developed by Netflix.
Features include:
- Annotation based Spring Boot programming model
- Test framework for writing query tests as unit tests
- Gradle Code Generation plugin to create types from schema
- Easy integration with GraphQL Federation
- Integration with Spring Security
- GraphQL subscriptions (WebSockets and SSE)
- File uploads
- Error handling
- Many extension points
See DGS Framework Getting Started for how to get started.
An instant GraphQL to SQL compiler. Use as a standalone service or a Go library. Formerly super-graph.
★3kApache License 2.0 Last release 4 days ago
A plugin based schema builder for creating code-first GraphQL schemas in typescript
★3kISC License Last release 4 days ago
README
GiraphQL makes writing type-safe schemas simple, and works without a code generator, build process, or extensive manual type definitions.
Mercurius is a flexible and extendible GraphQL adapter for Fastify, a blazing-fast web framework with the least overhead and a powerful plugin architecture.
★2kMIT License Last release 3 months ago
README
To run an hello world script with :
Then run with this code in :
Ariadne is a Python library for implementing GraphQL servers using schema-first approach. It supports both synchronous and asynchronous query execution, ships with batteries included for common GraphQL server problems like query cost validation or performance tracing and has simple API that is easy to extend or replace.
★2kBSD 3-Clause "New" or "Revised" License Last release 6 days ago
README
Ariadne can be installed with pip:
Minimal “Hello world” server example:
Run the server with uvicorn:
A command line tool for common GraphQL development workflows.
★2kMIT License Last release 5 years ago
Open source Kubernetes-native tool for API Mocking and Testing
★2kApache License 2.0 Last release 1 month ago
README
Microcks is a platform for turning your API and microservices assets - GraphQL schemas, OpenAPI specs, AsyncAPI specs, gRPC protobuf, Postman collections, SoapUI projects_ - into live simulations in seconds.
It also reuses these assets for running compliance and non-regression tests against your API implementation. We provide integrations with Jenkins, GitHub Actions, Tekton and many others through a simple CLI.
A Scala GraphQL library that supports Relay.
★2kApache License 2.0 Last release 2 months ago
README
An example of a hello world GraphQL schema and query with :
A library of custom GraphQL scalar types for creating precise, type-safe GraphQL schemas.
★2kMIT License Last release 8 months ago
Minimal React hooks-first GraphQL client with a tiny bundle, SSR support and caching
★2kOther Last release 1 year ago
README
- 🥇 First-class hooks API
- ⚖️ Tiny bundle: only 7.6kB (2.8 gzipped)
- 📄 Full SSR support: see graphql-hooks-ssr
- 🔌 Plugin Caching: see graphql-hooks-memcache
- 🔥 No more render props hell
- ⏳ Handle loading and error states with ease
Quickstart
First you’ll need to create a client and wrap your app with the provider:
Now in your child components you can make use of :
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
★2kMIT License Last release 2 months ago
Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
★2kMIT License Last release 2 months ago
A full implementation of the GraphQL specification that aims to maintain external compliance with the specification.
★2kOther
A set of libraries for running GraphQL client and server in Kotlin.
★2kApache License 2.0 Last release 3 days ago
README
GraphQL Kotlin provides a set of lightweight type-safe GraphQL HTTP clients. The library provides Ktor HTTP client and Spring WebClient based reference implementations as well as allows for custom implementations using other engines. Jackson and kotlinx-serialization type-safe data models are generated at build time by the provided Gradle and Maven plugins.
To generate Jackson models that will be used with GraphQL Kotlin Spring WebClient, add following to your Gradle build file:
By default, GraphQL Kotlin plugins will look for query files under . Given sample query:
Plugin will generate classes that are simple POJOs implementing GraphQLClientRequest interface and represent a GraphQL request.
We can then execute our queries using target client.
See graphql-kotlin client docs for additional details.
A set of libraries for running GraphQL client and server in Kotlin.
★2kApache License 2.0 Last release 3 days ago
README
GraphQL Kotlin follows a code first approach for generating your GraphQL schemas. Given the similarities between Kotlin and GraphQL, such as the ability to define nullable/non-nullable types, a schema can be generated from Kotlin code without any separate schema specification. To create a reactive GraphQL web server add following dependency to your Gradle build file:
We also need to provide a list of supported packages that can be scanned for exposing your schema objects through reflections. Add following configuration to your file:
With the above configuration we can now create our schema. In order to expose your queries, mutations and/or subscriptions in the GraphQL schema you simply need to implement corresponding marker interface and they will be automatically picked up by auto-configuration library.
This will result in a reactive GraphQL web application with following schema:
See graphql-kotlin docs for additial details.
Compare schemas, validate documents, find breaking changes, find similar types, schema coverage, and more.
★2kMIT License Last release 4 days ago
Spring for GraphQL provides support for Spring applications built on GraphQL Java.
★2kApache License 2.0 Last release 1 week ago
README
Spring for GraphQL provides support for Spring applications built on GraphQL Java. See the official Spring guide for how to build a GraphQL service in 15 minutes.
- It is a joint collaboration between the GraphQL Java team and Spring engineering.
- Our shared philosophy is to provide as little opinion as we can while focusing on comprehensive support for a wide range of use cases.
- It aims to be the foundation for all Spring, GraphQL applications.
Features:
- backend handling of GraphQL requests over HTTP, WebSocket, and RSocket.
- An annotation-based programming model where @Controller components use annotations to declare handler methods with flexible method signatures to fetch the data for specific GraphQL fields. For example:
- frontend support for executing GraphQL requests over HTTP, WebSocket, and RSocket.
- Dedicated support for testing GraphQL requests over HTTP, WebSocket, and RSocket, as well as for testing directly against a server.
To get started, check the Spring GraphQL starter on https://start.spring.io and the samples in this repository.
A GraphQL implementation with easy schema building, live queries, and batching.
★2kMIT License
A simple JavaScript GraphQL client that works in all JavaScript environments (the browser, Node.js, and React Native).
★2kMIT License
GraphQL Spring Boot from GraphQL Java Kickstart
★2kMIT License Last release 2 years ago
README
GraphQL Modules lets you separate your backend implementation to small, reusable, easy-to-implement and easy-to-test pieces.
★1kMIT License Last release 3 weeks ago
A truly type-safe Go GraphQL client.
★1kMIT License Last release 1 year ago
README
genqlient is a Go library to easily generate type-safe code to query a GraphQL API. It takes advantage of the fact that both GraphQL and Go are typed languages to ensure at compile-time that your code is making a valid GraphQL query and using the result correctly, all with a minimum of boilerplate.
genqlient provides:
- Compile-time validation of GraphQL queries: never ship an invalid GraphQL query again!
- Type-safe response objects: genqlient generates the right type for each query, so you know the response will unmarshal correctly and never need to use .
- Production-readiness: genqlient is used in production at Khan Academy, where it supports millions of learners and teachers around the world.
The open-source solution to building, maintaining, and collaborating on GraphQL Federation at Scale. The alternative to Apollo Studio and GraphOS.
★1kApache License 2.0 Last release 2 days ago
README
WunderGraph composes all your APIs into a single unified GraphQL API and allows you to expose your Graph as a secure and type-safe JSON-RPC API.
To get started with WunderGraph, you can use to bootstrap a new project:
On the client side, WunderGraph’s JSON-RPC API integrates very well with frameworks like Next.js, SWR and React Query, while one the backend, we’re able to leverage the power of “Server-Side-Only GraphQL”. Handle authentication, authorization, validation, joins and more right in the Query Layer.
The Query above requires the user to be authenticated, injects the user’s name and email from the JWT token and validates the message against a JSON Schema.
Here’s another example showcasing how we can use Server-Side GraphQL with WunderGraph’s unique join capabilities, composing data from two different APIs into a single GraphQL response.
The full example can be found on GitHub.
SpectaQL generates static HTML documentation from a GraphQL schema.
★1kMIT License
README
SpectaQL is a Node.js library that generates static documentation for a GraphQL schema using a variety of options:
- From a live endpoint using the introspection query.
- From a file containing an introspection query result.
- From a file, files or glob leading to the schema definitions in SDL.
Out of the box, SpectaQL generates a single 3-column HTML page and lets you choose between a couple built-in themes. A main goal of the project is to be easily and extremely customizable—it is themeable and just about everything can be overridden or customized.
One configuration for all your GraphQL tools (supported by most tools, editors & IDEs).
★1kMIT License Last release 3 months ago
Split up your GraphQL resolvers in middleware functions.
★1kMIT License Last release 2 years ago
README
GraphQL Middleware is a schema wrapper which allows you to manage additional functionality across multiple resolvers efficiently.
Features
💡 Easy to use: An intuitive, yet familiar API that you will pick up in a second. 💪 Powerful: Allows complete control over your resolvers (Before, After). 🌈 Compatible: Works with any GraphQL Schema.
Example
Siler is a PHP library powered with high-level abstractions to work with GraphQL.
★1kMIT License Last release 5 years ago
README
To run a Siler hello world script:
It also provides functionality for the construction of a WebSocket Subscriptions Server based on how Apollo works.
A GraphQL query language parser in C++ with C and C++ APIs.
★1kMIT License Last release 8 years ago
The No-GraphQL client for TypeScript.
★1kMIT License Last release 7 months ago
README
GQty is a query builder, a query fetcher and a cache manager solution all-in-one.
You interact with your GraphQL endpoint via Proxy objects. Under the hood, GQty captures what is being read, checks cache validity, fetch missing contents and then updates the cache for you.
Start using GQty by simply running our interactive codegen:
GQty also provides framework specific integrations such as and , which can be installed via our CLI.
A Java library that can expose a JPA annotated data model as a GraphQL service over any relational database.
★1kOther Last release 1 month ago
Caliban is a functional library for building GraphQL servers and clients in Scala. It offers with client code generation and type-safe queries.
★1kApache License 2.0 Last release 3 weeks ago
README
An example of defining a GraphQL query and running it with :
Caliban is a functional library for building GraphQL servers and clients in Scala. It offers minimal boilerplate and excellent interoperability.
★1kApache License 2.0 Last release 3 weeks ago
README
An example of a simple GraphQL schema and query with :
A configurable, high-performance routing runtime for Apollo Federation
★1kOther Last release 1 week ago
README
Apollo Router Core
The Apollo Router Core is a configurable, high-performance graph router written in Rust to run a federated supergraph that uses Apollo Federation 2.
Apollo Router Core is free, source-available, well-tested, regularly benchmarked, includes most major features of Apollo Gateway and is able to serve production-scale workloads.
GraphOS Router
In conjunction with the Apollo GraphOS platform, GraphOS Router is the enterprise-grade runtime plane and a client’s entry point to your federated supergraph. Configure it to secure your supergraph, monitor and optimize performance, extend functionality, and more.
An elegant low-level HTTP client for GraphQL.
★1kApache License 2.0 Last release 8 years ago
A high performance web server with support for GraphQL. Agoo strives for a simple, easy to use API for GraphQL.
★1kMIT License Last release 1 month ago
README
A Python 3.6+ (asyncio) library for building GraphQL APIs.
★1kMIT License Last release 4 years ago
README
To run a tartiflette hello world script:
Then run with this code in :
There is also a nice HTTP wrapper.
GraphQL-ESLint integrates GraphQL AST in the ESLint core (as a parser).
★1kMIT License Last release 1 year ago
A collection of tools for building GraphQL Servers, Gateways, Proxy Servers and Middleware in Go.
★1kMIT License Last release 3 days ago
README
graphql-go-tools implements all basic blocks for building GraphQL Servers, Gateways and Proxy Servers. From lexing, parsing, validation, normalization, all the way up to query planning and execution.
It can also be understood as a GraphQL Compiler, with the ability to add your own backends. Just by implementing a few interfaces, you’re able to teach the compiler how to talk GraphQL to any backend.
The following backends are already implemented: GraphQL, with support for Apollo Federation / Supergraph. Databases: PostgreSQL, MySQL, SQLite, CockroachDB, MongoDB, SQLServer, OpenAPI / REST and Kafka.
To get a sense on how to implement a new backend, check out the Static Data Source, as it’s the simplest one.
It’s used in production by many enterprises for multiple years now, battle tested and actively maintained.
Library and command-line code generator to create type-safe Elm code for a GraphQL endpoint.
★1kBSD 3-Clause "New" or "Revised" License
A GraphQL client that lets you forget about GraphQL.
★1kMIT License Last release 2 years ago
README
SwiftGraphQL is a Swift code generator and a lightweight GraphQL client. It lets you create queries using Swift, and guarantees that every query you create is valid.
The library is centered around three core principles:
🚀 If your project compiles, your queries work. 🦉 Use Swift in favour of GraphQL wherever possible. 🌳 Your application model should be independent of your schema.
Here’s a short preview of the SwiftGraphQL code
GraphQL server library for OCaml and Reason
★1kMIT License Last release 3 years ago
The missing GraphQL security layer for Apollo GraphQL and Yoga / Envelop servers.
★1kMIT License Last release 5 months ago
GraphQLite is a library that offers an annotations-based syntax for GraphQL schema definition.
★1kMIT License Last release 1 month ago
README
It is framework agnostic with bindings available for Symfony and Laravel. This code declares a “product” query and a “Product” Type:
Other GraphQLite features include validation, security, error handling, loading via data-loader pattern…
Swift library for building GraphQL schemas/types fast, safely and easily.
★1kMIT License Last release 4 months ago
A simple Python GraphQL client. Supports generating code generation for types defined in a GraphQL schema.
★1kISC License
A Tool for Writing Declarative, Type-Safe and Data-Driven Applications in SwiftUI using GraphQL and Apollo
★498MIT License Last release 4 years ago
Hive is a fully open-source schema registry, analytics and gateway for GraphQL federation and other GraphQL APIs.
★481MIT License Last release 1 week ago
A GraphQL Go client with Mutation, Query and Subscription support.
★472MIT License Last release 2 months ago
Build and execute GraphQL queries in the terminal.
★467MIT License
README
Run against your GraphQL endpoint. Build your query in an intuitive TUI and execute it. The response from the server is written to standard output.
A GraphQL client implemented in Clojurescript with support for websockets.
★464Unknown Last release 3 years ago
Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.
★456MIT License Last release 7 months ago
Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.
★456MIT License Last release 7 months ago
A GraphQL library for .NET Core. Easily expose you data model as a GraphQL API or bring together multiple data sources into a single GraphQL schema.
★454MIT License Last release 6 days ago
README
A bring your own types GraphQL client for Rust
★452Mozilla Public License 2.0 Last release 3 months ago
README
A client library for rust that generates queries from types you provide, verifying that the types match the shape of your schema.
It provides a generator to bootstrap types from existing GraphQL queries.
Usage example:
Real-Time with GraphQL for any GraphQL schema or transport.
★439MIT License Last release 3 years ago
A Go/Golang library to help construct a graphql-go server supporting react-relay.
★424MIT License
An interface for building GraphQL language services for IDEs (diagnostics, autocomplete etc).
★418Unknown
A strongly-typed GraphQL client implementation in Haksell.
★415MIT License Last release 3 months ago
A Haskell library for building GraphQL APIs.
★415MIT License Last release 3 months ago
README
Generate fully typed Python GraphQL client from any schema and queries.
★399BSD 3-Clause "New" or "Revised" License Last release 3 months ago
README
Install Ariadne Codegen:
Create file:
Add section to your :
Generate client:
And use it in your Python projects:
A Model Context Protocol server enabling LLMs to interact with GraphQL APIs through schema introspection and query execution capabilities.
★393MIT License Last release 1 year ago
Interact with all your data in WordPress
★382GNU General Public License v2.0 Last release 1 month ago
A code-first framework for GraphQL API development, where your schema reflects your functionality. Run npm create pylon@latest to get started.
★371Apache License 2.0 Last release 8 months ago
README
- Create
- Develop
Example service:
- Query
Simple, pluggable, zero-dependency, GraphQL over HTTP spec compliant server, client and audit suite.
★365MIT License Last release 1 year ago
Simple, pluggable, zero-dependency, GraphQL over HTTP spec compliant server, client and audit suite.
★365MIT License Last release 1 year ago
Simple, pluggable, zero-dependency, GraphQL over HTTP spec compliant server, client and audit suite.
★365MIT License Last release 1 year ago
A C++20 GraphQL request client generator and response parser using the schema document. If you want to consume a GraphQL service from a C++ client, you can pre-compile queries and deserialization functions for the expected results.
★349MIT License Last release 1 year ago
README
The utility is based on and shares the same external dependencies. The command line arguments are almost the same, except it takes an extra file for the request document and there is no equivalent to :
This utility should output one header and one source file for each request document. A request document may contain more than one operation, in which case it will output definitions for all of them together. You may limit the output to a single operation from the request document by specifying the (or ) argument with the operation name.
The generated code depends on the library for serialization of built-in types. If you link the generated code, you’ll also need to link , for the pre-parsed, pre-validated request AST, and for the implementation.
A C++20 GraphQL service generator using the schema document. You can use this to implement a GraphQL service with resolvers backed by whatever C++ libraries you need.
★349MIT License Last release 1 year ago
README
A Haskell library for building microservices (gRPC, HTTP) and GraphQL APIs.
★334Apache License 2.0 Last release 5 years ago
README
Example implementation of a GraphQL server with type-level representation of the schema auto-generated:
See our docs for more information about how to build your own GraphQL server and the library example for a more end-to-end example that includes a client written in Elm!
ZeroQL is a open-source GraphQL client for C#
★319MIT License Last release 5 months ago
README
The ZeroQL is a high-performance C#-friendly GraphQL client. It supports Linq-like syntax, and doesn’t require Reflection.Emit or expressions. As a result, at runtime provides performance very close to a raw HTTP call.
You can use ZeroQL to:
- Generate a C# client from GraphQL schema.
- Generate and execute graphql queries from your C# code.
- Don’t require writing GraphQL manually.
- Supports .Net Core, .Net Framework, Xamarin, Unity apps.
A GraphQL JVM Client designed for constructing queries from standard model definitions. By American Express.
★308Apache License 2.0 Last release 6 years ago
A Model Context Protocol server that exposes GraphQL operations as tools for AI models to access and orchestrate APIs running with Apollo.
★292MIT License Last release 1 month ago
A Clojure library that provides a GraphQL implementation.
★286Eclipse Public License 1.0
README
Code that executes a hello world GraphQL query with :
An all purpose GraphQL client with view layer integrations for multiple frameworks in just 1.6kb.
★273MIT License Last release 8 years ago
A library to help construct a graphql-php server supporting react-relay.
★271BSD 3-Clause "New" or "Revised" License Last release 5 years ago
A cloud service that helps you build, validate, monitor and secure your organizations data graph.
★263Unknown
A Fresh new GraphQL server for Rails applications, with a focus on natural and Ruby-like DSL
★190MIT License Last release 9 months ago
README
Less is more! Please check it out the docs.
A set of reusable GraphQL components for Clojure conforming to the data structures given in alumbra.spec.
★150MIT License Last release 9 years ago
README
GraphQL client for TypeScript, automatically infers the type of the returned data according to the strongly typed query request
★150MIT License Last release 2 years ago
Swift library for writing Declarative, Type-Safe GraphQL APIs with Zero Boilerplate.
★146MIT License Last release 5 years ago
The Ballerina Standard Library Package for consume GraphQL services.
★137Apache License 2.0 Last release 6 months ago
README
To run a client:
- Download and install Ballerina Language
- Then run to run the service, with this code in the file:
Features
- Dependently-typed response retrieval with Ballerina type inferring
- Custom client generation support
The Ballerina Standard Library Package for write GraphQL services.
★137Apache License 2.0 Last release 6 months ago
README
To run a hello world server:
- Download and install Ballerina Language
- Then run to run the service, with this code in the file:
Features
- Built with Ballerina and model, which are first-class citizens in Ballerina
- Supports subscriptions over websocket (No additional libraries needed)
- Supports file upload
- Built-in GraphiQL client
Typetta is an open-source ORM written in TypeScript that aims to allow seamless access to data in a typed fashion to all main SQL databases (MySQL, PostgreSQL, Microsoft SQL Server, SQLLite3, CockroachDB, MariaDB, Oracle & Amazon Redshift) and also to the NoSQL database MongoDB.
★115Apache License 2.0 Last release 2 years ago
Hive Gateway can act as a GraphQL federation gateway or a proxy for any GraphQL service.
★113MIT License Last release 5 days ago
README
Hive Gateway is a fully open-source, MIT-licensed GraphQL router that can act as a GraphQL Federation gateway, a subgraph or a proxy gateway for any GraphQL API service.
Hive Gateway provides a flexible, open-source solution tailored to meet the needs of modern GraphQL architectures.
It supports deployment as a standalone binary, a Docker image, or a JavaScript package, making it compatible with environments such as Node.js, Bun, Deno, Google Cloud Functions, Azure Functions, AWS Lambda, or Cloudflare Workers.
A lightweight graphql calculation engine.
★112Apache License 2.0 Last release 4 years ago
README
GraphQL Calculator is a lightweight graphql calculation engine, which is used to alter execution behavior of graphql query.
Here are some examples on how to use GraphQL Calculator on graphql query.
See graphql-calculator README for more information.
MP GraphQL is a code-first specification for building GraphQL applications. It uses annotations and design patterns similar to JAX-RS to enable rapid development.
★102Apache License 2.0 Last release 4 years ago
README
An automatic GraphQL schema generator for GORM
★81Unknown Last release 2 years ago
README
Core Library - The GORM GraphQL library provides functionality to generate a GraphQL schema based on your GORM entities. In addition to mapping domain classes to a GraphQL schema, the core library also provides default implementations of “data fetchers” to query, update, and delete data through executions of the schema.
Grails Plugin - In a addition to the Core Library, the GORM GraphQL Grails Plugin:
-
Provides a controller to receive and respond to GraphQL requests through HTTP, based on their guidelines.
-
Generates the schema at startup with spring bean configuration to make it easy to extend.
-
Includes a GraphiQL browser enabled by default in development. The browser is accessible at /graphql/browser.
-
Overrides the default data binder to use the data binding provided by Grails
-
Provides a trait to make integration testing of your GraphQL endpoints easier
See the documentation for more information.
A Perl port of GraphQL reference implementation
★73Unknown
README
-
-
Mojolicious-Plugin-GraphQL - connect your GraphQL service to a Mojolicious app
-
GraphQL-Plugin-Convert-DBIC - automatically connect your DBIx::Class schema to GraphQL
-
GraphQL-Plugin-Convert-OpenAPI - automatically connect any OpenAPI service (either local Mojolicious one, or remote) to GraphQL
-
Complete GraphQL query string generation for python.
★68MIT License Last release 1 year ago
README
graphql_query is complete GraphQL query string builder for python. With graphql_query you can The documentation for graphql_query can be found at https://denisart.github.io/graphql-query.
Code for the simple query
it is
For generation of the following query
we have
A PowerShell module for querying and mutating GraphQL endpoints.
★60MIT License Last release 7 months ago
README
PSGraphQL is a PowerShell module for working with GraphQL endpoints from scripts, shells, and automation workflows. It provides commands for sending GraphQL queries and mutations, passing variables, setting headers, and returning either PowerShell objects or raw JSON.
Install it from the PowerShell Gallery:
Run a simple GraphQL query:
PSGraphQL can also send mutations, include operation names and variables, use custom headers for authentication, and read GraphQL queries from files.
GraphQL Java Generator is a tool that generates Java code to speed up development for Client and Server of GraphQL APIs
★59MIT License
README
- GraphQL Java client: it generates the Java classes that call the GraphQL endpoint, and the POJO that will contain the data returned by the server. The GraphQL endpoint can then be queried by using a simple call to a Java method (see sample below)
- GraphQL Java server: it is based on graphql-java (listed here above). It generates all the boilerplate code. You’ll only have to implement what’s specific to your server, which are the joins between the GraphQL types. GraphQL Java Generator is available as a Maven Plugin. A Gradle plugin is coming soon. Please note that GraphQL Java Generator is an accelerator: the generated code doesn’t depend on any library specific to GraphQL Java Generator. So, it helps you to start building application based on graphql-java. Once the code is generated, you can decide to manually edit it as any standard java application, and get rid of GraphQL Java Generator. Of course you can, and should, according to us :), continue using GraphQL Java Generator when your project evolves.
A simple JavaScript GraphQL client,Let the *.gql file be used as a module through webpack loader.
★59Unknown
A set of packages for implementing high-performant GraphQL servers in .NET. Faithful implementation of official 2018 Specification. Features batched execution support (aka Data Loader); support for custom scalars; HTTP server based on ASP.NET Core; parsed query cache; modular API construction (equivalent of schema stiching); full introspection support; runtime metrics and quotas.
★47MIT License
A Julia GraphQL client for seamless integration with a GraphQL server
★47Other Last release 3 years ago
README
- Querying, mutating and subscribing without manual writing of query strings (unless you want to!)
- Deserializing responses directly into Julia types
- Construction of Julia types from GraphQL objects
- Using introspection to help with querying
Quickstart
Install with Julia’s package manager
Connect to a server
Build a Julia type from a GraphQL object
And query the server, deserializing the response into this new type
Alternatively write the query string manually
A GraphQL implementation for modern PHP. Includes features from latest draft, middleware directives and modules with extra functionality.
★45MIT License Last release 5 months ago
README
GraPHPinator is feature complete PHP implementation of GraphQL server. Its job is transformation of query string into resolved Json result for a given Schema.
- Aims to be compliant with the latest draft of GraphQL specification.
- Fully typesafe, and therefore minimum required PHP version is 8.0. Sacrafices a tiny bit of convenience for huge amount of clarity and safety - no random configuration s, no mixed types, no variable function arguments - this library doesnt try to save you from verbosity, but makes sure you always know what you’ve got.
- Code first.
- Flexible. Easy to extend with extra functionality using Modules or middleware Directives.
- Includes some opt-in extensions which are out of scope of official specs:
- Printer - Schema printing for GraPHPinator typesystem.
- Extra types - Some useful and commonly used types, both scalar or composite.
- Constraint directives - Typesystem directives to declare additional validation on top of GraphQL typesystem.
- Where directives - Executable directives to filter values in lists.
- File upload using multipart-formdata specs (currently bundled).
- Query cost limit module - Modules to limit query cost by restricting maximum depth or number of nodes.
- Project is composed from multiple smaller packages, which may be used standalone:
GraphQL client which supports generating queries from C# classes
★44MIT License Last release 6 years ago
A fast and modern graphql client designed with simplicity in mind.
★44MIT License Last release 3 years ago
README
Here’s an example of a qlient hello world.
first install the library:
Create a file with this content:
Close the file and run it using python:
Easy to use, complete Go implementation of GraphQL. Simple and schema-less.
★42MIT License
README
The purpose of Eggql is to make it as simple as possible to create a GraphQL server. You don’t need to create GraphQL schema (though you can view the schema that is created if interested). It is currently in beta release but is a complete implementation of a GraphQL server apart from subscriptions.
Just to be clear it supports all of these GraphQL features: arguments (including defaults), objects/lists/enums/input/interface/union types, aliases, fragments, variables, directives, mutations, inline fragments, descriptions, introspection and custom scalars.
Tests (jMeter) show that it is as fast or faster than other Go implementations for simple queries. We’re working on enhancements for performance including caching, data-loader, complexity-limits, etc.
To run an hello world server just build and run this Go program:
This creates a root Query object with a single field. To test it send a query with curl:
and you will get this response:
A library to query and manipulate GraphQL Introspection Query results.
★37MIT License
README
Microfiber is a JavaScript library that allows:
- Digging through your Introspection Query Results for a specific Query, Mutation, Type, Field, Argument or Subscription.
- Removing a specific Query, Mutation, Type, Field/InputField, Argument or Subscription from your Introspection Query Results.
- Removing Queries, Mutations, Fields/InputFields or Arguments that refer to Type that does not exist in - or has been removed from - your Introspection Query Results.
Then in JS:
A GraphQL implementation for the D Programming Language.
★35GNU Lesser General Public License v3.0 Last release 3 months ago
GraphQL Protect is a GraphQL Protect is dead-simple yet highly customizable security proxy compatible with any HTTP GraphQL Server or Gateway.
★35MIT License Last release 6 days ago
README
GraphQL Protect helps you protect your GraphQL API against abuse by providing a large number of plug-and-play protection mechanism with sane defaults, while still allowing you complete customizability.
Getting started with GraphQL Protect is as simple as pulling the provided container, or running the binary directly, and supplying it with your configuration.
GraphQL Protect offers the following protection mechanism, and more:
- Trusted Documents (Persisted Operations)
- Max Aliases
- Max Tokens
- Max Depth
- Max Batch
- Block Field Suggestions
- Obfuscate upstream errors
- Enforce POST
- Access Logging
- … and more!
Protecting your GraphQL API against abuse has never been easier, start protecting your API today.
The full example can be found on GitHub.
KGraphQL is a pure Kotlin implementation of a code-first GraphQL server with focus on a rich and easy-to-use DSL that leverages existing code to set up the schema.
★27MIT License Last release 1 week ago
README
Here’s an example of how to create a simple schema based on a Kotlin data class plus a property resolver that gets applied onto your class:
KGraphQL is using coroutines behind the scenes to provide great asynchronous performance.
See KGraphQL docs for more in depth usage.
Ktor Plugin
KGraphQL has a Ktor plugin which gives you a fully functional GraphQL server with a single install function call. The example below shows how to set up a GraphQL server within Ktor and it will give you a GraphQL IDE out of the box by entering .
You can follow the Ktor tutorial to set up a KGraphQL server with Ktor.
An extensible GraphQL client with modules for react, caching, request parsing, web workers, websockets and more...
★27MIT License
README
The example below installs and initializes the GraphQLBox client with a persisted cache and debugging enabled.
An extensible GraphQL server with modules for caching, request parsing, debugging, subscriptions and more...
★27MIT License
README
The example below installs and initializes the GraphQLBox server with a persisted cache and debugging enabled.
Turn your Django-models into a complete GraphQL API with all CRUD operations
★17Apache License 2.0
README
You can install the package with pip
To use it, simply create a new class that inherits “” Suppose we have the following models.
Then we can create a complete CRUD+DALS for the models with the following code
Now you can use the that was generated for you,
or use in your existing schema root and
That’s it! You can test in graphiql or any other client that you use to test your GraphQL APIs..
Find more information in the official documentation.
Easily build your GraphQL schema for webonyx/graphql-php using PHP attributes instead of large configuration arrays.
★16MIT License Last release 1 week ago
README
Easily build your GraphQL schema for using PHP attributes instead of large configuration arrays.
A simple example:
This will result in the following GraphQL schema:
Available attributes: , , , , , , , , , , ,
Package for easy building a GraphQL API with basic CRUD operations for Django models.
★15MIT License Last release 2 years ago
README
A Quickstart for Django Graphbox:
- Install the package:
- Create a new Django project:
- Create a new Django app:
- Define your Django models in :
- Create and run migrations:
- Configure and Build your GraphQL Schema in :
- Create a main Schema in (In this main schema you can add your own queries and mutations):
- Add the GraphQL view to your :
- Run the server:
- Open the GraphiQL interface at and start querying your API!
You can find advanced examples with authentication, filters, validations and more on GitHub or pypi.
Complete set of library tools to abstract relational database schemas with SQL, query with GraphQL, and return GraphQL results
★10Unknown
README
One time setup: build schema, deploy as microservice or within server, query SQL database with GraphQL!
A straightforward Linq to GraphQL Client
★9MIT License Last release 2 months ago
README
Linq2GraphQL generates C# classes from the GraphQL schema and and togheter with the nuget package Linq2GraphQL.Client it makes it possible to query the server using Linq expressions.
A simple query that will get the first 10 orders with the primitive properties of orders and the connected customer
An example mutation where we add a new customer and return the Customer Id.
Non intrusive python GraphQL client wrapped around pydantic.
★9Unknown Last release 1 year ago
README
GraphQL client library, wrapped around pydantic classes for type validation, provides a safe and simple way to query data from a GraphQL API.
Features:
- python objects to valid GraphQL string
- scalar query responses
- type-safety
Install
Browse Any Graph - A user-friendly viewer for any GraphQL service
★6Mozilla Public License 2.0 Last release 3 years ago
README
Brangr - Browse Any Graph
-
Brangr is a simple, unique tool that any web server can host to provide a user-friendly browser/viewer for any GraphQL service (or many).
-
Brangr formats GraphQL results attractively, via a selection of user-configurable layouts. It lets users extract the generated HTML, and its source JSON. It provides a clever schema browser. It has built-in docs.
-
Brangr enables sites hosting it to present users with a collection of pre-fab GraphQL requests, which they can edit if desired, and let them create their own requests. And it allows sites to define custom CSS styling for all aspects of the formatted results.
-
Try it at the public Brangr site.
Example
Brangr renders the above query as follows (though not in a quote block):
heroes...
Use GraphQL to define your Domain Model for CQRS/ES and let serge generate code to handle GraphQL requests.
★6GNU General Public License v3.0
graphapi® is a secure low-code GraphQL-as-a-service platform. Based on the input data model, it auto-generates the GraphQL schema, all resolvers, and the database stack. Additionally, it provides a user interface allowing teams to manage their data. For more information, go to graphapi.com.
★4MIT License
A GraphQL API to query and mutate data across APIs like Salesforce, HubSpot, Microsoft Dynamics, Pipedrive, and many more.
Fully managed GraphQL service with realtime subscriptions, offline programming & synchronization, and enterprise security features as well as fine grained authorization controls.
Fully managed GraphQL backend based on open source Parse Platform. Store and query relational data, run cloud functions and more over GraphQL API. Free to get started.
Live GraphQL Security & Compliance. Ensure your GraphQL endpoints are production-ready. During development. Without needed configuration. Supports every language and framework. Free to get started.
Create an instant GraphQL backend by importing a gql schema. The database will create relations and indexes for you, so you'll be ready to query in seconds, without writing any database code. Serverless pricing, free to get started.
Headless CMS that pairs a modern content editing experience with robust content personalisation and scheduling capabilities. It delivers your content through a blazing-fast, API-first delivery using GraphQL and REST endpoints.
Grafbase provides secure self-hosted deployment options for GraphQL Federation, unmatched query speed, advanced governance, and unified data access for reliable, enterprise-grade API management. Learn more about scaling GraphQL Federation with Grafbase.
Fast and free security scan to run a dozen of tests on a GraphQL endpoint. No login is required.
Hygraph is the federated content platform that allows true composability of your stack. Integrate all your services with a unique content federation approach and distribute content from anywhere - to anywhere using a single, powerful GraphQL API.
A headless CMS (Content Management System) that combines powerful content personalisation and scheduling capabilities with a modern content editing experience and a blazing fast GraphQL/REST content delivery API.