{ "info": { "author": "PeopleDoc", "author_email": "rd@novapost.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python" ], "description": "=================================\nDjango composable settings loader\n=================================\n\n\n.. image:: https://circleci.com/gh/novafloss/django-compose-settings.svg?style=shield\n :target: https://circleci.com/gh/novafloss/django-compose-settings\n :alt: We are under CI!!\n\nAims to compose your settings from python modules and python scripts in /etc.\n\nIn your ``my_app/settings/__init__.py`` call the loader::\n\n from django_compose_settings import modules_loader\n\n locals().update(modules_loader(prefix='my_app', default='base,etc,post'))\n\n\nIn ``my_app/settings/base.py`` define default values as usual, ex::\n\n import os\n\n BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))\n\n # ...\n\n\nIn ``my_app/settings/etc.py`` call the etc loader::\n\n from django_compose_settings import etc_loader\n\n locals().update(etc_loader(prefix='my_app'))\n\n\nYou can validate settings in ``my_app/settings/post.py`` as follow::\n\n import __settings__\n\n assert hasattr(__settings__, 'BASE_DIR'), 'BASE_DIR required'\n\n\nEtc settings\n============\n\nHere is a sample tree of your ``/etc/my_app``::\n\n /etc/my_app/\n \u251c\u2500\u2500 settings.d\n \u2502\u00a0\u00a0 \u251c\u2500\u2500 00_prod1.py\n \u2502\u00a0\u00a0 \u2514\u2500\u2500 99_local.py\n \u2514\u2500\u2500 settings.py\n\nEach ``.py`` file is a regular *composable* settings file as ``post.py`` above.\n\n\nMY_APP_SETTINGS\n===============\n\nYou can override your settings with a specific SETTINGS environment variable\nfor your app as follow::\n\n $ MY_APP_SETTINGS=base,post python\n\n >>> import logging\n >>> logging.basicConfig(\n ... level=logging.INFO,\n ... format='%(asctime)s %(levelname)-8s %(name)s %(message)s'\n ... )\n\n >>> import os\n >>> import sys\n >>> sys.path.append(os.path.join(os.path.abspath('tests'), 'fixtures'))\n\n >>> from my_app import settings\n\n 2015-11-23 10:59:09,964 INFO django_compose_settings Loaded my_app.settings.base\n 2015-11-23 10:59:09,964 INFO django_compose_settings Loaded my_app.settings.post\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/novafloss/django-compose-settings", "keywords": "django", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-compose-settings", "package_url": "https://pypi.org/project/django-compose-settings/", "platform": "", "project_url": "https://pypi.org/project/django-compose-settings/", "project_urls": { "Homepage": "https://github.com/novafloss/django-compose-settings" }, "release_url": "https://pypi.org/project/django-compose-settings/0.3/", "requires_dist": null, "requires_python": "", "summary": "Django composable settings loader.", "version": "0.3" }, "last_serial": 4599308, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f0d03209b828900ae387cec1c2c6b6a4", "sha256": "50630ff81ff6b46122fbb016711202da4dd3f10ad9faf5084449256f3f416c43" }, "downloads": -1, "filename": "django_compose_settings-0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f0d03209b828900ae387cec1c2c6b6a4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6219, "upload_time": "2016-01-15T10:38:46", "url": "https://files.pythonhosted.org/packages/03/ef/3c23ef112b7c0d8acfa84b1022a9461a4c310a408f9f95851437d06c3319/django_compose_settings-0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0964c532a1992f4755e538609ea82400", "sha256": "b6361a388b31fc9560e75f13585054b43f14d2fa42a5ef6f2cd4e02de8c44937" }, "downloads": -1, "filename": "django-compose-settings-0.1.tar.gz", "has_sig": false, "md5_digest": "0964c532a1992f4755e538609ea82400", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4601, "upload_time": "2016-01-15T10:36:25", "url": "https://files.pythonhosted.org/packages/3d/6f/807510b5cd4c60285e7565e3dca60bc331efc4ab2c7b250e55b4ab3d182f/django-compose-settings-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "5d2dd7d95776f0503cadebb088953d86", "sha256": "1654d5a8d0b06af0fc66738cdf10a9035d9753d51b542d9425c49b08a1065195" }, "downloads": -1, "filename": "django_compose_settings-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "5d2dd7d95776f0503cadebb088953d86", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6276, "upload_time": "2017-10-27T09:39:32", "url": "https://files.pythonhosted.org/packages/73/ce/673fe3d0dfcfc38b4166dac24c1a1db75fc005d753f63d323c0258f5b92e/django_compose_settings-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a8aa1835eeece2f4440669017aad9c0", "sha256": "6fde7bb80c0be06b530261a781f58df72b9b660f259bb657952d61000298a59a" }, "downloads": -1, "filename": "django-compose-settings-0.2.tar.gz", "has_sig": false, "md5_digest": "1a8aa1835eeece2f4440669017aad9c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6597, "upload_time": "2017-10-27T09:39:29", "url": "https://files.pythonhosted.org/packages/df/bc/eef9e7eaeee80158fc8ec8121bf4489de4b113c9dd12e65b7c35ca9143e2/django-compose-settings-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "122e14ed8385b6ee176fa937a86099a1", "sha256": "28095075129693af9f5cce0899ae01871098ef9351a222edcad436958f0ea920" }, "downloads": -1, "filename": "django_compose_settings-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "122e14ed8385b6ee176fa937a86099a1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 5629, "upload_time": "2018-12-14T13:17:44", "url": "https://files.pythonhosted.org/packages/16/58/2a953a3a7d1ff43575fac25300dcc0c27ecea867f0c8b914b20328495775/django_compose_settings-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e6bbc542a6df96de85fb3ff46d07a50", "sha256": "488d70737d4aea426383547bd5bce4a563ca3fadb67ab71b4f341a5c55b5a681" }, "downloads": -1, "filename": "django-compose-settings-0.3.tar.gz", "has_sig": false, "md5_digest": "1e6bbc542a6df96de85fb3ff46d07a50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4745, "upload_time": "2018-12-14T13:17:42", "url": "https://files.pythonhosted.org/packages/90/6c/659d561a8fa14db894ffecc04193703695d1f5becff62bc8baeb54fe019f/django-compose-settings-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "122e14ed8385b6ee176fa937a86099a1", "sha256": "28095075129693af9f5cce0899ae01871098ef9351a222edcad436958f0ea920" }, "downloads": -1, "filename": "django_compose_settings-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "122e14ed8385b6ee176fa937a86099a1", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 5629, "upload_time": "2018-12-14T13:17:44", "url": "https://files.pythonhosted.org/packages/16/58/2a953a3a7d1ff43575fac25300dcc0c27ecea867f0c8b914b20328495775/django_compose_settings-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e6bbc542a6df96de85fb3ff46d07a50", "sha256": "488d70737d4aea426383547bd5bce4a563ca3fadb67ab71b4f341a5c55b5a681" }, "downloads": -1, "filename": "django-compose-settings-0.3.tar.gz", "has_sig": false, "md5_digest": "1e6bbc542a6df96de85fb3ff46d07a50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4745, "upload_time": "2018-12-14T13:17:42", "url": "https://files.pythonhosted.org/packages/90/6c/659d561a8fa14db894ffecc04193703695d1f5becff62bc8baeb54fe019f/django-compose-settings-0.3.tar.gz" } ] }