A collection of useful tools for Python apps running on Google App Engine.
Project description
GAEK: Google App Engine Kit
A collection of useful tools for Python apps running on Google App Engine.
- Free software: BSD license
- Documentation: http://erichiggins.github.io/gaek/
NDB JSON module
Usage:
from gaek import ndb_json
# Serialize NDB Model(s) to a JSON string.
json_str = ndb_json.dumps(models)
# Parse a JSON string into a Python dictionary.
ndb_json.loads(json_str)
When the encoder meets a property of the ndb.Key
type,
there are three encoding options available:
ndb_keys_as_entities
- encode Key property as aFuture
whose eventual result is the entity for the key. (default)ndb_keys_as_pairs
- encode Key property as a tuple of (kind, id) pairs.ndb_keys_as_urlsafe
- encode Key property as a websafe-base64-encoded serialized version of the key.
Please refer to NDB Key Class documentation for details.
For example, for the following data models:
class Master(ndb.Model):
name = ndb.StringProperty()
class Details(ndb.Model):
master = ndb.KeyProperty()
description = ndb.StringProperty()
and following records:
master = Master(id=123456L, name='Europe')
details = Details(
master=ndb.Key(Master, 123456L),
description='List of European customers'
)
The calls
json_str = ndb_json.dumps(details)
json_str = ndb_json.dumps(details, ndb_keys_as_entities=True)
will return
{"master": {"name": "Europe"}, "description": "List of European customers"}
The call
json_str = ndb_json.dumps(details, ndb_keys_as_pairs=True)
will return
{"master": [["Master", 123456]], "description": "List of European customers"}
The call
json_str = ndb_json.dumps(details, ndb_keys_as_urlsafe=True)
will return
{"master": "agFfcg4LEgZNYXN0ZXIYwMQHDA", "description": "List of European customers"}
Feature parity with the Python json
module functions.
ndb_json.dumps
ndb_json.dump
ndb_json.loads
Environment module
-
environ.get_dot_target_name(version=None, module=None)
Returns the current version/module in
-dot-
notation which is used bytarget:
parameters. -
environ.get_dot_target_name_safe(version=None, module=None)
Same as
environ.get_dot_target_name
, but this function returnsNone
if there is no version or module found. -
environ.get_environ_dict()
Return a dictionary of all environment keys/values.
-
environ.is_host_google()
True if the app is being hosted from Google App Engine servers.
-
environ.is_development()
True if the dev_appserver is running (localhost or local development server).
-
environ.is_staging(version=None)
True if the app is hosted by Google (appspot.com) but the version is not the default.
-
environ.is_staging_safe(version=None)
Same as
environ.is_staging
, but returnsNone
if there is no version found. -
environ.is_production(version=None)
True if the app is being hosted by Google and the default version.
-
environ.is_production_safe(version=None)
Same as
environ.is_production
, but returnsNone
if there is no version found. -
environ.is_default_version(version=None)
True if the current or specified app version is the default.
-
environ.is_default_version_safe(version=None)
Same as
environ.is_default_version
, but returnsNone
if there is no version found. -
environ.get_current_version_name_safe()
Wrapper around
google.appengine.api.modules.get_current_version_name
. ReturnsNone
if there is any error raised, otherwise it returns the current version name. -
environ.get_current_module_name_safe()
Wrapper around
google.appengine.api.modules.get_current_module_name
. ReturnsNone
if there is any error raised, otherwise it returns the current version name.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gaek-0.4.1.tar.gz
.
File metadata
- Download URL: gaek-0.4.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd4b1adfd4005220edc0931d9f42f5c18587aed262765faee54b98ba0f3e8b0 |
|
MD5 | 3fdd7a3763b5614b7231ee3146faa01b |
|
BLAKE2b-256 | 2cc6e5e79a37abbd5521a53b6911fa2510e9da9740c2ffb9b80127e24fa0858c |
File details
Details for the file gaek-0.4.1-py2-none-any.whl
.
File metadata
- Download URL: gaek-0.4.1-py2-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a9578c33ab9a0997bf1a36be43511d9caa40c3ca6a1e3d50129901b98a860a |
|
MD5 | cc159163dd357a8c743f93869021f9d3 |
|
BLAKE2b-256 | 8e5cdfdb4b7ce7969e2ab0f8a127600b7be9a052c24e2ccd8ebed417d97365f5 |