Skip to main content

Provides a key/value store in Google App Engine for sensitive data.

Project description

# Google AppEngine App Settings

This package provies a straightforward way to store and access environment-specific and secret/private variables in the Google App Engine Datastore.


## Quick start

Install `gae_app_settings`:

```bash
$ pip install gae_app_settings
```

In your settings module or some other module that loads at startup:

```python
from gae_app_settings import AppSetting
value = AppSetting.get('MY_SETTING_KEY', DEFAULT_VALUE)
```



## Full documentation

AppSetting is a class that is used to persist/store sensitive values in your environment. It is designed to work just like a dictionary, but it is limited to just string values.

Settings cannot be set programmatically, they are only retrievable:

```python
value = AppSetting.get('MY_SETTING_KEY', DEFAULT_VALUE)
```

**NOTE:** regardless of the type of `DEFAULT_VALUE `, `value` will always be a string. This is to ensure that the return value is of the same type whether the setting is set or unset, as a set value will be a string.

You can also retrieve values without passing a default:

```python
value = AppSetting.get('MY_SETTING_KEY')
```

**Note:** If no default value is provided and the key has not been given a value in the datastore, the `get()` call will raise a `KeyError` and a placeholder entry will be created in the datastore. Once the placeholder has been replaced with a value future calls to `get()` will succeed.


## Best practices

The following best practices are recommended:

1. Settings should be loaded at program start and stored locally in a `settings.py` or similar module
1. Default values should be provided for every setting:
1. these should be the values that make sense when running/testing locally
1. placeholders will be inserted into the Datastore, and these only need to be overwritten if there are environment-specific settings that need to be set (in production, all values should be set)
1. Do not change the type of the `value` property in the datastore; coersion should happen on the result of the call to `get()`


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gae-app-settings-1.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

gae_app_settings-1.1.1-py2-none-any.whl (5.1 kB view details)

Uploaded Python 2

File details

Details for the file gae-app-settings-1.1.1.tar.gz.

File metadata

  • Download URL: gae-app-settings-1.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for gae-app-settings-1.1.1.tar.gz
Algorithm Hash digest
SHA256 f78b6c7d485ab55dccb5df4ac749079e3887614ab0e14677e129e1f0d8b68e27
MD5 b996c93f45ce5f75cbbbefd0269b1194
BLAKE2b-256 7eff549088bd19f0932e73ede808db63bd9c71052968f0fc589bb0a497b08d92

See more details on using hashes here.

File details

Details for the file gae_app_settings-1.1.1-py2-none-any.whl.

File metadata

  • Download URL: gae_app_settings-1.1.1-py2-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15

File hashes

Hashes for gae_app_settings-1.1.1-py2-none-any.whl
Algorithm Hash digest
SHA256 4c98c2d1eefc685193c61b016aa123e4516d24dd4d7ea39c4161bdf7ce953863
MD5 56b5acf68d41c3d2bfc34e5031863663
BLAKE2b-256 9cf109c2ee55400670f5a04cb14739582502aa3d6dd569c09cc9ae9b6b5e9b8a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page