Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Graphene GAE

https://travis-ci.org/graphql-python/graphene-gae.svg?branch=master https://coveralls.io/repos/github/graphql-python/graphene-gae/badge.svg?branch=master https://img.shields.io/pypi/v/graphene-gae.svg

A Google AppEngine integration library for Graphene

Upgrade Notes

If you’re upgrading from an older version (pre 2.0 version) please check out the Graphene Upgrade Guide.

Installation

To install Graphene-GAE on your AppEngine project, go to your project folder and runthis command in your shell:

pip install graphene-gae -t ./libs

This will install the library and its dependencies to the libs folder under your projects root - so the dependencies get uploaded withyour GAE project when you publish your app.

Make sure the libs folder is in your python path by adding the following to your appengine_config.py:

import sys

for path in ['libs']:
    if path not in sys.path:
        sys.path[0:0] = [path]

Examples

Here’s a simple GAE model:

class Article(ndb.Model):
    headline = ndb.StringProperty()
    summary = ndb.TextProperty()
    text = ndb.TextProperty()

    author_key = ndb.KeyProperty(kind='Author')

    created_at = ndb.DateTimeProperty(auto_now_add=True)
    updated_at = ndb.DateTimeProperty(auto_now=True)

To create a GraphQL schema for it you simply have to write the following:

import graphene
from graphene_gae import NdbObjectType

class ArticleType(NdbObjectType):
    class Meta:
        model = Article

class Query(graphene.ObjectType):
    articles = graphene.List(ArticleType)

    @graphene.resolve_only_args
    def resolve_articles(self):
        return Article.query()

schema = graphene.Schema(query=QueryRoot)

Then you can simply query the schema:

To learn more check out the following examples:

Contributing

After cloning this repo, ensure dependencies are installed by running:

make deps
make install

Make sure tests and lint are running:

make test
make lint

History

1.0.7 (TBD)

1.0.6 (2016-12-06)

  • Fixed DeadlineExceededError import swo connections properly handle timeouts

1.0.5 (2016-11-23)

1.0.3 (2016-11-22)

1.0.2 (2016-10-20)

  • Added _handle_graphql_errors hook to GraphQLHandler

1.0.1 (2016-09-28)

  • Added missing support for StructuredProperty

1.0 (2016-09-26)

  • Upgraded to Graphene 1.0

0.1.9 (2016-08-17)

  • Each NdbObject now exposes an ndbId String field that maps to the entity’s key.id()

  • Added ndb boolean argument to NdbKeyStringField so now when looking at KeyProperty we can fetch either global GraphQL id or the NDB internal id.

0.1.8 (2016-08-16)

  • Made connection_from_ndb_query resilient to random ndb timeouts

0.1.7 (2016-06-14)

0.1.6 (2016-06-10)

0.1.5 (2016-06-08)

0.1.4 (2016-06-02)

  • NdbConnectionField added arguments that can be used in quert:
    • keys_only - to execute a keys only query

    • batch_size - to control the NDB query iteration batch size

    • page_size - control the page sizes when paginating connection results

  • Added support for LocalStructuredProperty.
    • Given a property ndb.LocalStructuredType(Something) it will automatically map to a Field(SomethingType) - SomethingType has to be part of the schema.

    • Support for repeated and required propeties.

0.1.3 (2016-05-27)

  • Added graphene_gae.webapp2.GraphQLHandler - a basic HTTP Handler to process GraphQL requests

0.1.1 (2016-05-25)

  • Updated graphene dependency to latest 0.10.1 version.
    • NdbConnection.from_list now gets context as parameter

0.1.0 (2016-05-11)

  • First release on PyPI.

Metadata

Release files for graphene-gae 2.0.dev2017073101

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for graphene-gae 2.0.dev2017073101
File Size Uploaded
graphene_gae-2.0.dev2017073101.tar.gz 26.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for graphene-gae 2.0.dev2017073101
File Interpreter ABI Platform
graphene_gae-2.0.dev2017073101-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 41.5 kB

Release files / graphene_gae-2.0.dev2017073101.tar.gz

Download URL graphene_gae-2.0.dev2017073101.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
aedadd3768f152d1a2da69ad6866b90035a035e4dba3ec620a292e9ebf13c1bb
BLAKE2b-256 checksum
How to use checksums
10b4920c4dd49511c8898e9bdb8550675e5acaf26f8a8b389d731238df867579
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / graphene_gae-2.0.dev2017073101-py2.py3-none-any.whl

Download URL graphene_gae-2.0.dev2017073101-py2.py3-none-any.whl
Size 15.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2522c729911fd863e6c0ab39bc49717e8385307a1b2f6ab91b31c10e25bbc3b1
BLAKE2b-256 checksum
How to use checksums
3f470e689760ba6991c5dd5d9b5d68ef25f6222149c1d912b036dd920aa0ae50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page