Skip to content
Libraries supporting GraphQL in Dart
Branch: master
Clone or download


This is an effort to advance the Dart GraphQL ecosystem.

It consists of multiple packages and libraries centered around GraphQL AST.


Pub Package Library Description
version package:gql ast.dart GraphQL AST implementation with Visitor pattern and AST transformer
version package:gql language.dart GraphQL source parser and printer. Recognizes both operations and SDL
version package:gql document.dart Document and schema validation
version package:gql execution.dart Implementation of types for GraphQL requests and responses

Code generation

Pub Package Library Description
version package:gql_code_gen gql_code_gen.dart Code generator to print AST into Dart representation of the same AST
version package:gql_code_gen ast_builder.dart Source builder to parse *.graphql documents into AST at build-time


Pub Package Library Description
version package:gql_link link.dart Base for modular GraphQL execution interface
version package:gql_http_link gql_http_link.dart Link to execute GraphQL requests via HTTP
version package:gql_dedupe_link gql_dedupe_link.dart De-duplicating Link to avoid execution of identical requests
version package:gql_transform_link gql_transform_link.dart GQL Link to transform Requests and Responses. May be used to update context, document, variables, data, errors, etc.


Pub Package Library Description
version package:gql_pedantic Lint rules used by all gql-dart/gql packages


Project Description
artemis Build dart types from GraphQL schemas and queries (using Introspection Query).
graphql fork A stand-alone GraphQL client for Dart, bringing all the features from a modern GraphQL client to one easy to use package.
graphql_flutter fork A GraphQL client for Flutter, bringing all the features from a modern GraphQL client to one easy to use package.
Your project? Open a PR to add it to this readme!


The goal of this project is to expand Dart GraphQL ecosystem and building a community around this vendor-neutral implementation.

That said, this project is in it's early days and the best way to contribute currently is to open issues with questions about current and future scope and features of this project.

Features and bugs

Please file feature requests and bugs at the GitHub.

You can’t perform that action at this time.