{ "info": { "author": "Noortheen Raja", "author_email": "jnoortheen@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# dynamic-config\nEasy to manage Config variables separate from App code. Useful while developing and deploying( CI/CD) django web-apps\n\n# Usage\n\n- You need to subclass the `Config` class.\n- Any configuration would be loaded from `python config` file `(default: env.py)` from the same folder where library is \ninherited. This file should not be committed to version history.\n- You also don't need to include a sample file. Since the `Config` object would be able to generate `env.py` itself.\n- It also loads Configuration variables from environment variables. The preference is `env variables` > `env.py`\n- The config file should define all the variables needed for a project.\n- It can also define a prefix to limit environment variables searched.\n\n```python\n\n# project/conf.py\n\nfrom dynamic_conf import Config\n\nclass CONFIG(Config):\n \"\"\"singleton to be used for configuring from os.environ and env.py\"\"\"\n\n # default settings\n\n ENV = \"prod\" # optional field with a default value\n\n DB_NAME = \"db\"\n DB_HOST = \"127.0.0.1\"\n DB_USER = \"postgres\"\n DB_PASS = None # even None could be given as default value\n\n SECRET_KEY:str # required field. Note: it will not work in Python 2 because\n```\n\n- to create `project/env.py` just run\n```shell script\n# you could pass environment variables or set already with export\nenv DB_PASS='123' dynamic-conf\n\n# or you could pass as list of key-value pair\ndynamic-conf DB_USER='user-1' DB_PASS='123'\n\n# to filter environment variables with a prefix\nenv VARS_PREFIX=\"PROD_\" dynamic-conf PROD_DB_USER=\"user-2\"\n```\n\n- To use the config simply import and use particular attribute\n```python\n# project/settings.py\nfrom conf import CONFIG\nDATABASES = {\n \"default\": {\n \"ENGINE\": \"django.contrib.gis.db.backends.postgis\",\n \"HOST\": CONFIG.DB_HOST,\n \"NAME\": CONFIG.DB_NAME,\n \"USER\": CONFIG.DB_USER,\n \"PASSWORD\": CONFIG.DB_PASSWORD,\n \"PORT\": \"5432\",\n }\n}\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jnoortheen/dynamic-conf", "keywords": "django,configuration,12 factor settings", "license": "MIT", "maintainer": "Noortheen Raja", "maintainer_email": "jnoortheen@gmail.com", "name": "dynamic-conf", "package_url": "https://pypi.org/project/dynamic-conf/", "platform": "", "project_url": "https://pypi.org/project/dynamic-conf/", "project_urls": { "Homepage": "https://github.com/jnoortheen/dynamic-conf", "Repository": "https://github.com/jnoortheen/dynamic-conf" }, "release_url": "https://pypi.org/project/dynamic-conf/0.1.2/", "requires_dist": [ "six (>=1.12,<2.0)" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "summary": "Easy to manage Config variables separate from App code. Useful while developing and deploying( CI/CD) django web-apps", "version": "0.1.2" }, "last_serial": 5959933, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7964e5db84fee47a95f64e80edfe9186", "sha256": "9f6eef7ee48bda706aa84582be68ea715938d37f22dc9e404efdfb5d9d1ce0fe" }, "downloads": -1, "filename": "dynamic_conf-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7964e5db84fee47a95f64e80edfe9186", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 5246, "upload_time": "2019-10-10T21:01:07", "url": "https://files.pythonhosted.org/packages/c2/0c/6f8d44d58b4b943e525c069ac6f26fee6c56def3cf12229b5fbf8deebeb8/dynamic_conf-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e0cc53a7e162d6e1a50700ba023eebe", "sha256": "514fc0aa439b25d7bf9cb727d69da879135ac02433e47c7dcd27255e225ec694" }, "downloads": -1, "filename": "dynamic-conf-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4e0cc53a7e162d6e1a50700ba023eebe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 4847, "upload_time": "2019-10-10T21:01:05", "url": "https://files.pythonhosted.org/packages/70/ca/e7a2e00758e970a3fca92fe5b3d99af9df48f695b3b7d0cbe0ccfbae7ce6/dynamic-conf-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e53f61c5dda9765a58486b883a76768a", "sha256": "e38df941061f8c9195526a2291126262bd51f47ed06708f614aaea088c502dc0" }, "downloads": -1, "filename": "dynamic_conf-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e53f61c5dda9765a58486b883a76768a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 5246, "upload_time": "2019-10-11T09:11:54", "url": "https://files.pythonhosted.org/packages/44/2b/bc11e3edda9f0a1f73b30df9b109ffe9a65c68f0ab0146c294bedf4ab22c/dynamic_conf-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a624f9ca0af8c8dffe0b2bec74adf07", "sha256": "8a7ebab7233fe2357db55cc8889b907b4f17373edbbd3323753a0d87f342059f" }, "downloads": -1, "filename": "dynamic-conf-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8a624f9ca0af8c8dffe0b2bec74adf07", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 4841, "upload_time": "2019-10-11T09:11:52", "url": "https://files.pythonhosted.org/packages/73/bc/f20b86e2d675e891f26f8d9c399c005c77858608a7c70cec272beb4c57b1/dynamic-conf-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a1977df845ca675bd9725e3ca592fbdc", "sha256": "10fc8c0dd4f137311c89d38fe45d3df65bdbc0fcab6dce9a60ad342718829c07" }, "downloads": -1, "filename": "dynamic_conf-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1977df845ca675bd9725e3ca592fbdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 5255, "upload_time": "2019-10-11T12:01:36", "url": "https://files.pythonhosted.org/packages/80/5e/d84abf8da8ebda601dfd1e445b8c58d12e6319512610bf0d39147e8a10c6/dynamic_conf-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58f2534bd9015ca130ce8170d3fe1615", "sha256": "d49f75c809024a24d607ceeedbf286b35a773b461481e362727739a985fa2be8" }, "downloads": -1, "filename": "dynamic-conf-0.1.2.tar.gz", "has_sig": false, "md5_digest": "58f2534bd9015ca130ce8170d3fe1615", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 4862, "upload_time": "2019-10-11T12:01:34", "url": "https://files.pythonhosted.org/packages/8d/da/7d1464164b955f281c11a7bf64fd23fd2cf6a87ca2cf3eb3380bf2e61e98/dynamic-conf-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1977df845ca675bd9725e3ca592fbdc", "sha256": "10fc8c0dd4f137311c89d38fe45d3df65bdbc0fcab6dce9a60ad342718829c07" }, "downloads": -1, "filename": "dynamic_conf-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1977df845ca675bd9725e3ca592fbdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 5255, "upload_time": "2019-10-11T12:01:36", "url": "https://files.pythonhosted.org/packages/80/5e/d84abf8da8ebda601dfd1e445b8c58d12e6319512610bf0d39147e8a10c6/dynamic_conf-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58f2534bd9015ca130ce8170d3fe1615", "sha256": "d49f75c809024a24d607ceeedbf286b35a773b461481e362727739a985fa2be8" }, "downloads": -1, "filename": "dynamic-conf-0.1.2.tar.gz", "has_sig": false, "md5_digest": "58f2534bd9015ca130ce8170d3fe1615", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 4862, "upload_time": "2019-10-11T12:01:34", "url": "https://files.pythonhosted.org/packages/8d/da/7d1464164b955f281c11a7bf64fd23fd2cf6a87ca2cf3eb3380bf2e61e98/dynamic-conf-0.1.2.tar.gz" } ] }