django-graphql-countries

GraphQL implementation for countries


Keywords
countries, django-orm, geodjango, geojson, gis, graphene, graphql, maps
License
MIT
Install
pip install django-graphql-countries==0.0.5

Documentation

Django GraphQL Countries

Pypi Wheel Build Status Codecov Code Climate

Countries support for Django GraphQL

Dependencies

  • Python ≥ 3.4
  • Django ≥ 1.11
  • PostGIS database (PostgreSQL ≥ 9.4)

Installation

Install last stable version from Pypi.

pip install django-graphql-countries

Add countries to your INSTALLED_APPS settings:

INSTALLED_APPS = [
    ...
    'countries.apps.CountriesAppConfig',
]

Apply migrations:

python manage.py migrate

Load data

The loadcountries management command read all fixtures and re-loaded into the database:

python manage.py loadcountries

Schema

Add queries to your GraphQL schema

import graphene
import graphql_countries


class Query(graphene.ObjectType, graphql_countries.Query):
    """GraphQL Queries"""


schema = graphene.Schema(query=Query)

Query

Countries GeoJSON outlines:

query {
  countries {
    capital
    outlines {
      type
      coordinates
    }
  }
}

Relay

Complete support for Relay.

import graphene
import graphql_countries


class Query(graphene.ObjectType, graphql_countries.relay.Query):
    """Relay Queries"""


schema = graphene.Schema(query=Query)

Query

GeoJSON outlines for 🇻🇳 Vietnam:

query {
  countries(cca2: "VN") {
    edges {
      node {
        capital
        outlines {
          type
          coordinates
        }
      }
    }
  }
}