Graphile

Tools for building performant
pluggable GraphQL APIs.

PostGraphile

Instant GraphQL API for PostgreSQL database

Auto-discovers tables, columns, relations, procedures and more; runs a high-performance secure GraphQL API server that adheres to best practices.

Just concentrate on your database
CREATE TABLE app_public.superheroes (
  id serial not null primary key,
  name text not null
);
ALTER TABLE superheroes ENABLE ROW LEVEL SECURITY;
Run a fully-fledged GraphQL API in one command
postgraphile
  -c postgres://localhost/superheroes
  --schema app_public
  --watch
  --jwt-secret "$JWT_SECRET"

Graphile Build

High-performance pluggable GraphQL schema tools

Prefer building your GraphQL APIs by hand? By using our look-ahead feature your code can know what's coming and make sure it requests the correct fields ahead of time, leading to fewer round-trips and higher performance. Our plugin architecture allows you to extend or enhance your GraphQL API as your needs evolve over time, and use community-built plugins to increase developer productivity.

graphql
const MyType =
  new GraphQLObjectType({
    name: 'MyType',
    fields: {
      // ...
graphile-build
const MyType =
  newWithHooks(GraphQLObjectType, {
    name: 'MyType',
    fields: {
      // ...

Fully GraphQL compatible

Graphile uses the reference GraphQL implementation under the hood, so you know it's spec compliant. This also means you can mix it into existing GraphQL APIs, or mix existing GraphQL object types into it (so long as they use the reference GraphQL implementation too).

PostGraphile supports GraphQL best practices, including: cursor-based connection pagination, global object identification, and the Relay Input Object Mutations Specification; plus it's built on Graphile Build technology so it can be expanded using Graphile Build plugins.

Questions, comments or feedback?
Email [email protected]

Keep up to date on Graphile and PostGraphile features/changes. Subscribe to our occasional announcements newsletter: