{ "info": { "author": "Ethan McCreadie", "author_email": "ethanmcc@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "# django-makeconf\n\nMake config files from Django settings variables and templates.\n\n## Installation\n\nFrom your Django app, install the module from pip:\n\n\tpip install django-makeconf\n\t\nThen make sure it's included in your `INSTALLED_APPS` section:\n\n\tINSTALLED_APPS = (\n\t\t...\n\t 'makeconf',\n\t)\n\n## Templates\n\nCreate templates in the `templates/` directory of your app. For example, if you create `myapp/templates/makeconf/Dockerfile.tmpl`, you can generate `Dockerfile` in the root of your app by configuring `MAKECONF_MAP` in your settings file:\n\n\tMAKECONF_MAP = {\n\t\t'Dockerfile': 'makeconf/Dockerfile.tmpl',\n\t}\n\t\nThis relies on Django's template finder, which is pretty flexible. It will scan all your apps for a template with the same path name. The `Dockerfile` will be generated using the `Dockerfile.tmpl`, and it will have access to the `settings` variable. \n\n## Elastic Beanstalk Modules\n\nElastic Beanstalk configuration files can be declared using `MAKECONF_EB_MODULES`. Templates named `.tmpl` can be referenced in a list by the module name. If you had a `newrelic` module and a `postgres` module that each configure your server with packages, files, etc., you can automatically turn the following format:\n\n MAKECONF_EB_MODULES = ['postgres', 'newrelic']\n\nInto additional `MAKECONF_MAP` entries like so:\n\n MAKECONF_MAP = {\n ...\n '.ebextensions/01_postgres.config': 'postgres.tmpl',\n '.ebextensions/02_newrelic.config': 'newrelic.tmpl',\n }\n\nIf `MAKECONF_EB_MODULES` is set, `.ebextensions` will be erased with each build.\n\n## Options\n\nCurrently, there is one option which can be set using `MAKECONF_OPTIONS`:\n\n* `executable_extensions` - Files with extensions in this list will be created executable. Defaults to `['.sh']`.\n\n## Usage\n\nAssuming you have a `TIER` variable defined as `'qa'` in your settings file and the following template,\n\n\tFROM amazon/aws-eb-python:3.4.2-onbuild-3.5.1\n\t\n\tADD uwsgi-start.sh /\n\t\n\tENV DJANGO_SETTINGS_MODULE config.settings.{{ settings.TIER }}\n\t\n\tEXPOSE 8080\n\nyou could run\n\n\tpython manage.py makeconf\n\t\nand `{{ settings.TIER }}` would be replaced with `qa` in the output file.\n\n## Template Tags\n\n* `environ` - The `environ` tag is used to get required variables from the shell environment:\n \t* To use it, first, load the `makeconf` template tags in your template:\n\n\t \t{% load makeconf %}\n\n\t* Then, use the tag in that template:\n\n\t\t\t{{'MY_ENVIRONMENT_VARIABLE'|environ}}\n\n## Shared Templates\n\nIf people use this, I could see shareable formats published for different services and needs. I'm currently using it to build Elastic Beanstalk and Docker configurations based on my Django settings, so I may end up publishing Django apps with names like `django-makeconf-elasticbeanstalk-configure-proxy`, or `django-makeconf-eb-docker-settings-module`, which would simply contain templates in their `templates/` directories (plus a `setup.py` and a `MANIFEST.in` that included the template files). You'd be able to pip install those templates and use them directly in your `MAKECONF_MAP`.\n\nAlso, I'm totally open to contributions in that vein or pull requests / issues on this project.", "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/ethanmcc/django-makeconf", "keywords": null, "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "django-makeconf", "package_url": "https://pypi.org/project/django-makeconf/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-makeconf/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ethanmcc/django-makeconf" }, "release_url": "https://pypi.org/project/django-makeconf/1.1.1/", "requires_dist": null, "requires_python": null, "summary": "A Django app that provides commands to build deployment and other configuration files based on Django settings.", "version": "1.1.1" }, "last_serial": 2827249, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f521c3bfb2afbebe825413639dd4b94c", "sha256": "b3828dec9fbe88a5ceb33773bde67062de41fbb7986e0c29cbcb38c137c0701b" }, "downloads": -1, "filename": "django-makeconf-0.1.tar.gz", "has_sig": false, "md5_digest": "f521c3bfb2afbebe825413639dd4b94c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2428, "upload_time": "2015-05-18T20:28:42", "url": "https://files.pythonhosted.org/packages/92/65/1863d0aadac55e8a511f725272049ab639b7fce79dceb90f3077fa128d57/django-makeconf-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "afd849c92675038baf68025e366045de", "sha256": "d5f1d1a9b2d945b38a24f35903d73b9e7ba17f08c8e966fe3fa346bbe0c4bf67" }, "downloads": -1, "filename": "django-makeconf-0.2.tar.gz", "has_sig": false, "md5_digest": "afd849c92675038baf68025e366045de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2996, "upload_time": "2015-05-19T19:19:48", "url": "https://files.pythonhosted.org/packages/b9/68/64a78f712e7ec74e7bce75e3e42ebf5107ce3fe2882af6f5eea97362642e/django-makeconf-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "f5309d6ff75dfb2d5c55d0e127ff071e", "sha256": "a3542d4ba7374a5b2db7694c2f762692d3930a8d19851d2fcce3eeb2ee803206" }, "downloads": -1, "filename": "django-makeconf-0.3.tar.gz", "has_sig": false, "md5_digest": "f5309d6ff75dfb2d5c55d0e127ff071e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2987, "upload_time": "2015-05-19T20:28:13", "url": "https://files.pythonhosted.org/packages/a0/54/32fe0498382918bf5441235999f5b804667fa875bdd9ac96d2a1176dd1de/django-makeconf-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "71784ba79bd8344cdd369d4bb85437cd", "sha256": "d3ee88de1b7464e258ec6b5a4c1bc14463ec4cfc5147da3472dc2443a87a32fd" }, "downloads": -1, "filename": "django-makeconf-0.4.tar.gz", "has_sig": false, "md5_digest": "71784ba79bd8344cdd369d4bb85437cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3242, "upload_time": "2015-05-20T19:11:36", "url": "https://files.pythonhosted.org/packages/91/6f/5668808f8310b8d5bd2eb3af0965aebe9326b21f1788adc1df95ea16ca36/django-makeconf-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "390ce9316888ae43a61d4999e3de9459", "sha256": "daffad9edf6d656ab562d05b98ec126f163f40fa07e516a20d8bfeba6933c4cf" }, "downloads": -1, "filename": "django-makeconf-0.5.tar.gz", "has_sig": false, "md5_digest": "390ce9316888ae43a61d4999e3de9459", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3253, "upload_time": "2015-05-27T19:22:00", "url": "https://files.pythonhosted.org/packages/da/a7/2f868c6304fb4ceb6524b2ad768c18d62bcaeed6e430ccebc7ca27b9139e/django-makeconf-0.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "5362f5c8cc91e05813eb97810da7a9ea", "sha256": "ad648671cdd3006b092df8ee37454e09424e4b36331d2071e417c76fe1a527dc" }, "downloads": -1, "filename": "django-makeconf-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5362f5c8cc91e05813eb97810da7a9ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3882, "upload_time": "2015-11-12T21:06:56", "url": "https://files.pythonhosted.org/packages/1c/88/f9eee02b453fecd4ecdad8b6635c4870205460c90c8ef187e0838f5b322d/django-makeconf-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "2e863f08769d596ca9155ea09ca32bb3", "sha256": "07cc7a00a0e196428143f4abf97602c1c7c1b291002a4344cd6fab5523456aad" }, "downloads": -1, "filename": "django-makeconf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2e863f08769d596ca9155ea09ca32bb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4281, "upload_time": "2016-02-11T21:59:30", "url": "https://files.pythonhosted.org/packages/ea/b9/427fa1ba6d54181ee9dda0c836732e3c503520b7aae9f6e60d21435fcad9/django-makeconf-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "7e46599cf76ccd115e6718d7872348e4", "sha256": "8514a6bf54f105f7b3e404b84526c6798b78faf5a3fa7c16d414376873e99c95" }, "downloads": -1, "filename": "django-makeconf-1.1.1.tar.gz", "has_sig": false, "md5_digest": "7e46599cf76ccd115e6718d7872348e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4272, "upload_time": "2017-04-24T21:02:41", "url": "https://files.pythonhosted.org/packages/39/05/02b86124cb338f848f47eb3cc00c2bee5b30fdde86849afdd56a2c05f935/django-makeconf-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7e46599cf76ccd115e6718d7872348e4", "sha256": "8514a6bf54f105f7b3e404b84526c6798b78faf5a3fa7c16d414376873e99c95" }, "downloads": -1, "filename": "django-makeconf-1.1.1.tar.gz", "has_sig": false, "md5_digest": "7e46599cf76ccd115e6718d7872348e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4272, "upload_time": "2017-04-24T21:02:41", "url": "https://files.pythonhosted.org/packages/39/05/02b86124cb338f848f47eb3cc00c2bee5b30fdde86849afdd56a2c05f935/django-makeconf-1.1.1.tar.gz" } ] }