{ "info": { "author": "jeffrey k eliasen", "author_email": "jeff+gae-app-settings@jke.net", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: Site Management" ], "description": "# Google AppEngine App Settings\n\nThis package provies a straightforward way to store and access environment-specific and secret/private variables in the Google App Engine Datastore.\n\n\n## Quick start\n\nInstall `gae_app_settings`:\n\n```bash\n$ pip install gae_app_settings\n```\n\nIn your settings module or some other module that loads at startup:\n\n```python\nfrom gae_app_settings import AppSetting\nvalue = AppSetting.get('MY_SETTING_KEY', DEFAULT_VALUE)\n```\n\n\n\n## Full documentation\n\nAppSetting 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.\n\nSettings cannot be set programmatically, they are only retrievable:\n\n```python\nvalue = AppSetting.get('MY_SETTING_KEY', DEFAULT_VALUE)\n```\n\n**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.\n\nYou can also retrieve values without passing a default:\n\n```python\nvalue = AppSetting.get('MY_SETTING_KEY')\n```\n\n**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.\n\n\n## Best practices\n\nThe following best practices are recommended:\n\n1. Settings should be loaded at program start and stored locally in a `settings.py` or similar module\n1. Default values should be provided for every setting:\n 1. these should be the values that make sense when running/testing locally\n 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)\n1. Do not change the type of the `value` property in the datastore; coersion should happen on the result of the call to `get()`\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/seawolf42/gae-app-settings", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "gae-app-settings", "package_url": "https://pypi.org/project/gae-app-settings/", "platform": "", "project_url": "https://pypi.org/project/gae-app-settings/", "project_urls": { "Homepage": "https://github.com/seawolf42/gae-app-settings" }, "release_url": "https://pypi.org/project/gae-app-settings/1.1.1/", "requires_dist": null, "requires_python": "", "summary": "Provides a key/value store in Google App Engine for sensitive data.", "version": "1.1.1" }, "last_serial": 4626337, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d6fdfdcb626a44caa926ee2104db4eaa", "sha256": "10159638fd46e11380a8add1d73a5afbb2b189a7f208546d0452cf6d9476cdbb" }, "downloads": -1, "filename": "gae-app-settings-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d6fdfdcb626a44caa926ee2104db4eaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4246, "upload_time": "2018-02-04T20:02:19", "url": "https://files.pythonhosted.org/packages/e9/7b/b563b7397bb9a601236b64dcfd43595468ab3055873fa6c8635ca9862d39/gae-app-settings-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0e410f7d93a678fbbd8b0024a32d71f4", "sha256": "6666e31d925e2ec192e6f83787bf639a426698d5096387a6f55374b4a6267a98" }, "downloads": -1, "filename": "gae-app-settings-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0e410f7d93a678fbbd8b0024a32d71f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4348, "upload_time": "2018-02-04T20:05:57", "url": "https://files.pythonhosted.org/packages/2d/3a/971acf6ad8ccca97a5c47ff5844679ca88963890eaaf521974a59f75e155/gae-app-settings-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b887d598a3e6e8909b3e33bd0cfe8c74", "sha256": "17f6b8b09b279166904dad1c04c3b9b06d3d2c39c642d5e8a6e2e2bc8c940bc5" }, "downloads": -1, "filename": "gae-app-settings-1.0.0.tar.gz", "has_sig": false, "md5_digest": "b887d598a3e6e8909b3e33bd0cfe8c74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4371, "upload_time": "2018-02-04T22:15:29", "url": "https://files.pythonhosted.org/packages/53/b5/7a2177ccc76205ce1d25e191c2b60862f3f604cea0aae7662788c445fd5d/gae-app-settings-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "241badbd938457f342a8613a52750abe", "sha256": "ec136cb9933ead389f161d8ea9a78e3362dee9fb8e31e486d9c6dbc2d48f339e" }, "downloads": -1, "filename": "gae-app-settings-1.0.1.tar.gz", "has_sig": false, "md5_digest": "241badbd938457f342a8613a52750abe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4388, "upload_time": "2018-02-17T16:56:12", "url": "https://files.pythonhosted.org/packages/fc/58/fe220c7897eaeff8904c374dfd3eca2840151b5b0f10dd4f6f53e8492743/gae-app-settings-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "889d8caef8a690c903b0c8899eca4a54", "sha256": "230edb988dbc3506eec716bdf17fa2cba1b8676c11c6fc59da2e50a89a67d9d0" }, "downloads": -1, "filename": "gae-app-settings-1.1.0.tar.gz", "has_sig": false, "md5_digest": "889d8caef8a690c903b0c8899eca4a54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4450, "upload_time": "2018-10-07T00:26:54", "url": "https://files.pythonhosted.org/packages/bc/4d/779b522ba42d1992960c8596f7c6880f07fad174c96c912c2277203d4cb4/gae-app-settings-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "56b5acf68d41c3d2bfc34e5031863663", "sha256": "4c98c2d1eefc685193c61b016aa123e4516d24dd4d7ea39c4161bdf7ce953863" }, "downloads": -1, "filename": "gae_app_settings-1.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "56b5acf68d41c3d2bfc34e5031863663", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5054, "upload_time": "2018-12-21T19:39:47", "url": "https://files.pythonhosted.org/packages/9c/f1/09c2ee55400670f5a04cb14739582502aa3d6dd569c09cc9ae9b6b5e9b8a/gae_app_settings-1.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b996c93f45ce5f75cbbbefd0269b1194", "sha256": "f78b6c7d485ab55dccb5df4ac749079e3887614ab0e14677e129e1f0d8b68e27" }, "downloads": -1, "filename": "gae-app-settings-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b996c93f45ce5f75cbbbefd0269b1194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4230, "upload_time": "2018-12-21T19:39:49", "url": "https://files.pythonhosted.org/packages/7e/ff/549088bd19f0932e73ede808db63bd9c71052968f0fc589bb0a497b08d92/gae-app-settings-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56b5acf68d41c3d2bfc34e5031863663", "sha256": "4c98c2d1eefc685193c61b016aa123e4516d24dd4d7ea39c4161bdf7ce953863" }, "downloads": -1, "filename": "gae_app_settings-1.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "56b5acf68d41c3d2bfc34e5031863663", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5054, "upload_time": "2018-12-21T19:39:47", "url": "https://files.pythonhosted.org/packages/9c/f1/09c2ee55400670f5a04cb14739582502aa3d6dd569c09cc9ae9b6b5e9b8a/gae_app_settings-1.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b996c93f45ce5f75cbbbefd0269b1194", "sha256": "f78b6c7d485ab55dccb5df4ac749079e3887614ab0e14677e129e1f0d8b68e27" }, "downloads": -1, "filename": "gae-app-settings-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b996c93f45ce5f75cbbbefd0269b1194", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4230, "upload_time": "2018-12-21T19:39:49", "url": "https://files.pythonhosted.org/packages/7e/ff/549088bd19f0932e73ede808db63bd9c71052968f0fc589bb0a497b08d92/gae-app-settings-1.1.1.tar.gz" } ] }