{ "info": { "author": "Kristian Glass", "author_email": "django12factor@doismellburning.co.uk", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "django-12factor\n===============\n\n.. image:: https://travis-ci.org/doismellburning/django12factor.svg?branch=master\n :target: https://travis-ci.org/doismellburning/django12factor\n\n.. image:: https://landscape.io/github/doismellburning/django12factor/master/landscape.png\n :target: https://landscape.io/github/doismellburning/django12factor/master\n :alt: Code Health\n\n.. image:: https://requires.io/github/doismellburning/django12factor/requirements.svg?branch=master\n :target: https://requires.io/github/doismellburning/django12factor/requirements/?branch=master\n :alt: Requirements Status\n\n.. image:: https://coveralls.io/repos/doismellburning/django12factor/badge.svg\n :target: https://coveralls.io/r/doismellburning/django12factor\n :alt: Coverage Status\n\nWhat is it?\n-----------\n\n`Django `__ is an awesome Python web\nframework.\n\n\"`The Twelve-Factor App `__\\ \" is an awesome\nmethodology for building SaaS apps.\n\n``django-12factor`` makes Django more 12factor-y. Right now, this\nfocuses on the `Config `__ - \"Store config\nin the environment\"; `Heroku `__ users with\naddons will be particularly familiar with this.\n\nStill not sure of the benefits? Check out\n\"`Twelve-Factor Config: Misunderstandings and Advice `__\".\n\nUsage\n-----\n\nAdd the following to the bottom of your ``settings.py``:\n\n.. code-block:: python\n\n import django12factor\n d12f = django12factor.factorise()\n\n``factorise()`` returns a ``dict`` of settings, so you can now use and\nassign them as you wish, e.g.\n\n.. code-block:: python\n\n DEBUG = d12f['DEBUG']\n LOGGING = d12f['LOGGING']\n\nIf you don't like that repetition, you can (ab)use ``globals()`` like\nso:\n\n.. code-block:: python\n\n import django12factor\n d12f = django12factor.factorise()\n\n def f(setting):\n globals()[setting] = d12f[setting]\n\n f('DEBUG')\n f('LOGGING')\n\nYou can also add non-Django settings this way, e.g. keys to APIs:\n\n.. code-block:: python\n\n custom_settings = (\n \"GOOGLE_ANALYTICS_KEY\",\n \"MAILCHIMP_API_KEY\",\n )\n d12f = django12factor.factorise(custom_settings=custom_settings)\n\n MAILCHIMP_API_KEY = d12f['MAILCHIMP_API_KEY']\n GOOGLE_ANALYTICS_KEY = d12f['GOOGLE_ANALYTICS_KEY']\n\nIn the event of a ``custom_setting`` not being set in the environment, it will\ndefault to ``None``.\n\nGive me everything!\n~~~~~~~~~~~~~~~~~~~\n\nIf you say so...\n\n.. code-block:: python\n\n import django12factor\n globals().update(django12factor.factorise())\n\nUtilities\n---------\n\n``django12factor.getenv_bool`` is a utility function that takes the name of an\nenvironment variable, and returns ``True`` _unless_ it is set to either a\n\"falsey\" string (e.g. ``\"no\"``) or not set.\n\nSettings\n--------\n\nThe following settings are currently supported:\n\n``DEBUG``\n~~~~~~~~~\n\nDefaults to ``False`` for safety reasons, otherwise ``True`` unless\n``os.environ(\"DEBUG\")`` is a \"falsy\" string.\n\n``TEMPLATE_DEBUG``\n~~~~~~~~~~~~~~~~~~\n\nAs for ``DEBUG``, but defaults to the value of ``DEBUG``.\n\n``CACHES``\n~~~~~~~~~~\n\nUses\n`django-cache-url `__ to parse ``os.environ(\"CACHE_URL\")``.\n\n``LOGGING``\n~~~~~~~~~~~\n\nA static ``LOGGING`` dict that configures `12factor-style logging `__.\n\n``DATABASES``\n~~~~~~~~~~~~~\n\nUses\n`dj-database-url `__ -\nparses ``DATABASE_URL`` if it exists, otherwise falls back to in-memory sqlite.\n\nAnything of the form ``FOO_DATABASE_URL`` will be parsed as\n``DATABASES['foo']``, allowing you to configure multiple databases via the\nenvironment.\n\n``ALLOWED_HOSTS``\n~~~~~~~~~~~~~~~~~\n\nTreats ``os.environ(\"ALLOWED_HOSTS\")`` as a comma-separated list.\n\n``SECRET_KEY``\n~~~~~~~~~~~~~~\n\nUses ``os.environ(\"SECRET_KEY\")`` - required if ``DEBUG==False``.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/doismellburning/django12factor", "keywords": "django 12factor configuration", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django12factor", "package_url": "https://pypi.org/project/django12factor/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django12factor/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/doismellburning/django12factor" }, "release_url": "https://pypi.org/project/django12factor/1.3/", "requires_dist": null, "requires_python": null, "summary": "django12factor: Bringing 12factor to Django", "version": "1.3" }, "last_serial": 4039148, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "0649d7ed9104ee3bececd31ec69be31c", "sha256": "542c0bcf2f361c304e46791d7a6fae71b9ee437581f99995230a1382d5442037" }, "downloads": -1, "filename": "django12factor-0.1.tar.gz", "has_sig": false, "md5_digest": "0649d7ed9104ee3bececd31ec69be31c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2655, "upload_time": "2014-04-02T14:56:04", "url": "https://files.pythonhosted.org/packages/02/79/0ec38bd233fdcb45628238e8fb672ad48bfa93117319de159c18c58b2548/django12factor-0.1.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "58e608544c59cb54fc4818a113a9a4d0", "sha256": "a02d5812b620ab315b8c7e738ae1c019648c11852051c1b598c442b19cd92dc7" }, "downloads": -1, "filename": "django12factor-1.0.tar.gz", "has_sig": false, "md5_digest": "58e608544c59cb54fc4818a113a9a4d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2689, "upload_time": "2014-04-02T16:31:47", "url": "https://files.pythonhosted.org/packages/b3/c9/5e22ac329fa49423070cebc3fde01040a1b7574fcf82070a62838d9ea356/django12factor-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "19ac4147474e9fef88fa81e6f6b70490", "sha256": "5359b694f720d36b052f572575d9f011f9cccac3fda12e7092636769f0320939" }, "downloads": -1, "filename": "django12factor-1.1.tar.gz", "has_sig": false, "md5_digest": "19ac4147474e9fef88fa81e6f6b70490", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3162, "upload_time": "2014-08-26T17:55:57", "url": "https://files.pythonhosted.org/packages/2c/8b/620647fc46c569e978cbb4dc6746c8f4801ee2c5b64f7b742c359f87fe30/django12factor-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "70a224a5516dd6a811a4fadc3155d467", "sha256": "fea88173f1a5343e827595fca0e052d91680d5c91da6d8ad4bee8bac1bc3c452" }, "downloads": -1, "filename": "django12factor-1.2.tar.gz", "has_sig": false, "md5_digest": "70a224a5516dd6a811a4fadc3155d467", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3179, "upload_time": "2014-11-10T10:44:26", "url": "https://files.pythonhosted.org/packages/ae/ad/9f4938f1a928e0114c1f2232ef98092bca0e3b2d473cf3aaacee73af9bdf/django12factor-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "abc4a0f137a43af759d8baabee823219", "sha256": "3e20e4b0174a34af6f22106f1da29fab98cc0c9852e18437a3eda56883622164" }, "downloads": -1, "filename": "django12factor-1.3.tar.gz", "has_sig": false, "md5_digest": "abc4a0f137a43af759d8baabee823219", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4620, "upload_time": "2015-04-22T18:52:12", "url": "https://files.pythonhosted.org/packages/0f/df/8ed56ceb9885c37390034cdfefabb595f2cc17e832d55f0926753fa11150/django12factor-1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "abc4a0f137a43af759d8baabee823219", "sha256": "3e20e4b0174a34af6f22106f1da29fab98cc0c9852e18437a3eda56883622164" }, "downloads": -1, "filename": "django12factor-1.3.tar.gz", "has_sig": false, "md5_digest": "abc4a0f137a43af759d8baabee823219", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4620, "upload_time": "2015-04-22T18:52:12", "url": "https://files.pythonhosted.org/packages/0f/df/8ed56ceb9885c37390034cdfefabb595f2cc17e832d55f0926753fa11150/django12factor-1.3.tar.gz" } ] }