{ "info": { "author": "Caravan Coop", "author_email": "hi@caravan.coop", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "~~~~~~~~~~~~~\n configstore\n~~~~~~~~~~~~~\n\nconfigstore is a small pluggable library that lets you retrieve settings\nor secrets from a variety of storage systems to configure your app.\n\nThe main pain point this tries to solve is:\n\nAssume you have your config in environment variables but you want to store your secrets in something else.\nHow do you mix having a secret backend for your secrets but still keep everything else in environment variables?\nWith this module you can use both. Let's say you use ``DATABASE_PASSWORD`` as your database password env variable.\nThis will first try to find this in your first backend (let's say docker secrets) and if it fails will fall back on the env variable.\n\nSee ``example.py`` for some example code.\n\n\nAvailable backends\n------------------\n\nconfigstore.EnvVarBackend finds settings in environment variables. This is the classic\n12-factor approach, which main drawback is that it's easy for outside tools or sub-processes\nto inspect the environment and access sensitive data. This backend is still useful for\nsettings that are not secrets.\n\nconfigstore.DotenvBackend lets you put settings in a key-value format file, using the\n`dotenv module`_, which is useful for local development.\nThis backend requires an optional dependency, so use a requirement like ``configstore[dotenv]``\nto get everything installed.\n\nconfigstore.DockerSecretBackend can read `Docker secrets`_.\nThis is a secure storage with first-class support in the Docker runtime and related\ntooling.\n\nconfigstore.AwsSsmBackend connects to the Parameter Store service that\nis part of `AWS Systems Manager`_. This backend requires optional\ndependencies (boto3), so use a requirement like ``configstore[awsssm]``\nto get everything installed.\n\n.. _docker secrets: https://docs.docker.com/engine/swarm/secrets/\n.. _dotenv module: https://github.com/jpadilla/django-dotenv\n.. _aws systems manager: https://docs.aws.amazon.com/systems-manager/latest/APIReference/Welcome.html\n\n\nContributors\n------------\n\nOriginal author: Antoine Reversat @crevetor\n\nCurrent maintainer: \u00c9ric Araujo @merwok\n\nProject sponsored by Caravan Coop @caravancoop\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/caravancoop/configstore", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "configstore", "package_url": "https://pypi.org/project/configstore/", "platform": "", "project_url": "https://pypi.org/project/configstore/", "project_urls": { "Homepage": "https://github.com/caravancoop/configstore" }, "release_url": "https://pypi.org/project/configstore/0.5/", "requires_dist": [ "django-dotenv; extra == \"dotenv\"", "boto3; extra == \"awsssm\"" ], "requires_python": "", "summary": "Retrieve settings and secrets from different storages.", "version": "0.5" }, "last_serial": 4361699, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "6196f66c7d1353206c0d0f021a1c4175", "sha256": "e03e68d2f8ae287c0b27b441ef137e71f3ac9baae707e0eb67077d7eb7a2119e" }, "downloads": -1, "filename": "configstore-0.1.tar.gz", "has_sig": false, "md5_digest": "6196f66c7d1353206c0d0f021a1c4175", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1560, "upload_time": "2017-10-19T20:01:25", "url": "https://files.pythonhosted.org/packages/e8/bc/cd38f058734a58ed73338789a2b4d9d277b84c7e2920e77d8ef195b9bd85/configstore-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "6ae37d7f7bc0fe9013af7acdca90e354", "sha256": "7b838ad29b7c678c7ad2db4f648bae9305dd0479a7ee112e9012cf79a70bf2a4" }, "downloads": -1, "filename": "configstore-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ae37d7f7bc0fe9013af7acdca90e354", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4500, "upload_time": "2017-10-23T19:14:47", "url": "https://files.pythonhosted.org/packages/b2/ee/0a496570119f98ce79c54848bcfae775d9f23c7d07a0520aee74e2f0570e/configstore-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d07eefe5914b5a0605da929702a5c92a", "sha256": "dbccf5abd241540a8036205bdeaf74c573f5d6a3cc8a0592e5021a014374f61c" }, "downloads": -1, "filename": "configstore-0.2.tar.gz", "has_sig": false, "md5_digest": "d07eefe5914b5a0605da929702a5c92a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5152, "upload_time": "2017-10-23T19:14:47", "url": "https://files.pythonhosted.org/packages/3f/d7/20939dd95dd837e1e4009a4c7250c379c442f4ead44b86bdbfbed0fb6c71/configstore-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7ca01f6aadf79fc98a58fe50c2a527dc", "sha256": "fdb5aae03fdd12c33b665f9f0844122ee9ba6aba087bcad3a9bd52f1cbd7827e" }, "downloads": -1, "filename": "configstore-0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ca01f6aadf79fc98a58fe50c2a527dc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4519, "upload_time": "2018-02-12T01:30:02", "url": "https://files.pythonhosted.org/packages/be/0a/4453253a308f69c90d98a1341adc8f9c9a2a39f5e6298a3c33e50fd50a66/configstore-0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "570614fe8dc1d9079abdc6776258119a", "sha256": "9630fda7a878ade32ee17699f7a9c17ca7770f737fd29465d6b0e7eb906b1bc6" }, "downloads": -1, "filename": "configstore-0.3.tar.gz", "has_sig": false, "md5_digest": "570614fe8dc1d9079abdc6776258119a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5371, "upload_time": "2018-02-12T01:29:59", "url": "https://files.pythonhosted.org/packages/a8/e7/e67e281e19e1e748d0b97943e9e12c1a596ddcf528078c3af8ad0a3bc8f5/configstore-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "1b90b258c924ad6d89ccbcf8c72b2463", "sha256": "7784b036654203683d38039361f21549ebd09f260cc74ef0f2ab2a1e8ed50358" }, "downloads": -1, "filename": "configstore-0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1b90b258c924ad6d89ccbcf8c72b2463", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4324, "upload_time": "2018-10-04T21:26:50", "url": "https://files.pythonhosted.org/packages/1e/66/99cb563dfb2f5f8e7a3520a20650868c027d1511da28e5b53620ffbb34a1/configstore-0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7384506a0b163a5776ba3c5f7c8be9f9", "sha256": "536a723b0b4a9021918312cab53cf84da4e76f81f85cf356d995b330f73b4579" }, "downloads": -1, "filename": "configstore-0.4.tar.gz", "has_sig": false, "md5_digest": "7384506a0b163a5776ba3c5f7c8be9f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6266, "upload_time": "2018-10-04T21:26:51", "url": "https://files.pythonhosted.org/packages/3c/4d/53a6a817104cffa8f8fa9493a46335ee8a212ff01b6c36c504f6dd802b68/configstore-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "e8453ad289fbdcee75f9956eb5076533", "sha256": "646e39f8b07f68a41ed2105813b254792f1e88e7b831c8d012007ee3dd1cc03e" }, "downloads": -1, "filename": "configstore-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8453ad289fbdcee75f9956eb5076533", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8102, "upload_time": "2018-10-10T21:35:12", "url": "https://files.pythonhosted.org/packages/f5/dc/766224574ad3152ee3e80e4b20e6d85e636ba9e1e21e785c066dc56dd97d/configstore-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb19349af8e6c22fef1e827626419db9", "sha256": "58dc7479ab3c4ee4e2e899fdb83a7b6a60212bdead7bf10051a840cd867e37e2" }, "downloads": -1, "filename": "configstore-0.5.tar.gz", "has_sig": false, "md5_digest": "eb19349af8e6c22fef1e827626419db9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6986, "upload_time": "2018-10-10T21:35:14", "url": "https://files.pythonhosted.org/packages/ae/d2/63af919dd89557f00d8390f50a74cb109a6aa06c1c2bdb778b28eb2f7e80/configstore-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e8453ad289fbdcee75f9956eb5076533", "sha256": "646e39f8b07f68a41ed2105813b254792f1e88e7b831c8d012007ee3dd1cc03e" }, "downloads": -1, "filename": "configstore-0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8453ad289fbdcee75f9956eb5076533", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8102, "upload_time": "2018-10-10T21:35:12", "url": "https://files.pythonhosted.org/packages/f5/dc/766224574ad3152ee3e80e4b20e6d85e636ba9e1e21e785c066dc56dd97d/configstore-0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb19349af8e6c22fef1e827626419db9", "sha256": "58dc7479ab3c4ee4e2e899fdb83a7b6a60212bdead7bf10051a840cd867e37e2" }, "downloads": -1, "filename": "configstore-0.5.tar.gz", "has_sig": false, "md5_digest": "eb19349af8e6c22fef1e827626419db9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6986, "upload_time": "2018-10-10T21:35:14", "url": "https://files.pythonhosted.org/packages/ae/d2/63af919dd89557f00d8390f50a74cb109a6aa06c1c2bdb778b28eb2f7e80/configstore-0.5.tar.gz" } ] }