{ "info": { "author": "Ion Scerbatiuc", "author_email": "delinhabit@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "django-kungfu\n=============\n\n``django-kungfu`` provides the ability to set-up the Django configuration\nmechanism so it's fairly easy to integrate development or deployment-related \nsettings overrides.\n\nThe idea came after I used for a while the beatiful configuration system \nimplemented in `Flask\n`_. In fact, the majority of the code was inspired\nby the Flask implementation located `here\n`_.\n\nUsage by example\n================\n\nThe integration with your Django project is fairly easy and depends on your\npreferences. One possible set-up could look like this::\n\n # At the bottom of your/settings.py file just add the following lines\n from django_kungfu import Configurator\n config = Configurator(locals())\n config.from_pyfile(os.path.join(os.path.dirname(__file__), 'dev_settings.py'))\n config.from_envvar('DJANGO_SETTINGS_OVERRIDE')\n\nIn short, this is what happens when the django settings file is loaded:\n# if the dev_settings.py file is found in the same directory as the settings file,\nall the upper-case constants are loaded into local context overriding the existing\nones\n# if the DJANGO_SETTINGS_OVERRIDE environment variable is set and is pointing to\na valid configuration file, that configuration file is loaded in the same way\n\nBy default, if the specified files or environment variables are not found or\nare not valid, the configurator will fail silently. This is useful for example\nwhen using development settings which are not available in a production system \nand we want to keep a single settings file as a configuration entry point.\n\nIf you want to enforce the presence of a particular configuration file or\nenvironment variable you can use ``silent=False`` with the respective\nmethods.\n\nHaving this configuration, you can easily set-up a production environment\nby setting the appropriate environment variable in you production wsgi file::\n\n # prod.wsgi\n import os\n\n os.environ.setdefault(\"DJANGO_SETTINGS_MODULE\", \"myproject.settings\")\n os.environ.setdefault(\"DJANGO_SETTINGS_OVERRIDE\",\n os.path.expanduser(\"~/etc/myproject/prod_settings.py\"))\n\n from django.core.wsgi import get_wsgi_application\n application = get_wsgi_application()\n\nWhy kungfu?\n===========\n\nThis name was selected because kungfu pronounced in my natal language (a regional \ndialect of Romanian) sounds similar to config (confu). And of course my sympathy for martial \narts, and especially for kung fu, brought a few points.", "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/delinhabit/django-kungfu", "keywords": "django settings overrides flasky", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-kungfu", "package_url": "https://pypi.org/project/django-kungfu/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-kungfu/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/delinhabit/django-kungfu" }, "release_url": "https://pypi.org/project/django-kungfu/0.2/", "requires_dist": null, "requires_python": null, "summary": "A Flasky approach to distributed Django configuration", "version": "0.2" }, "last_serial": 1471459, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "9b7675cbe4e9080e55e7845368d5ff0d", "sha256": "e474bba94b958793270eed1bde4a3375e44c28df3f1a2d5078ba3df3bb87499c" }, "downloads": -1, "filename": "django-kungfu-0.1.tar.gz", "has_sig": false, "md5_digest": "9b7675cbe4e9080e55e7845368d5ff0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3905, "upload_time": "2012-09-27T12:23:24", "url": "https://files.pythonhosted.org/packages/a4/89/cce7282cf28b10db125e67ee53c25a555faf5b362f758059b66be380e9b8/django-kungfu-0.1.tar.gz" } ], "0.1.1": [], "0.2": [ { "comment_text": "", "digests": { "md5": "4547c306137eb76ae5a9a39b3c36a65a", "sha256": "1620f90c35264fabf06bb3b2d3a6200c8ba2f9a855d38f233c4cf1f98b5f19e8" }, "downloads": -1, "filename": "django-kungfu-0.2.tar.gz", "has_sig": false, "md5_digest": "4547c306137eb76ae5a9a39b3c36a65a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4008, "upload_time": "2015-03-21T18:53:34", "url": "https://files.pythonhosted.org/packages/6f/63/6cdb8f87acb6f2ffb09ce05d0e78f16fe965d9c82aeef0367e962d2c6baf/django-kungfu-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4547c306137eb76ae5a9a39b3c36a65a", "sha256": "1620f90c35264fabf06bb3b2d3a6200c8ba2f9a855d38f233c4cf1f98b5f19e8" }, "downloads": -1, "filename": "django-kungfu-0.2.tar.gz", "has_sig": false, "md5_digest": "4547c306137eb76ae5a9a39b3c36a65a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4008, "upload_time": "2015-03-21T18:53:34", "url": "https://files.pythonhosted.org/packages/6f/63/6cdb8f87acb6f2ffb09ce05d0e78f16fe965d9c82aeef0367e962d2c6baf/django-kungfu-0.2.tar.gz" } ] }