{ "info": { "author": "Thomas Khyn", "author_email": "thomas@ksytek.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Buildout :: Recipe", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools" ], "description": "djangorecipebook\n================\n\n|copyright| 2014-2015 Thomas Khyn\n\nBuildout recipes for django development\n\n\nAbout\n-----\n\nThe recipes available in djangorecipebook are mostly derived from\ndjangorecipe_'s functionalities. However, while djangorecipe aims at generating\nall scripts in one part, djangorecipebook enables you to define one part per\nscript (create, manage, wsgi, test, makemigrations), hence allowing the use of\ndifferent settings and/or eggs for each part.\n\nThrough its automatic minimal settings generation, djangorecipebook is\nparticularly adapted to reusable apps development, e.g. for testing or\nmaintenance (migrations generation).\n\ndjangorecipebook works with django 1.4 to 1.8 and relevant python versions\n(2.6 to 3.4, depending on django version).\n\nIf you like djangorecipebook and find it useful, you may want to thank me and\nencourage future development by sending a few mBTC at this Bitcoin address:\n``1EwENyR8RV6tMc1hsLTkPURtn5wJgaBfG9``.\n\n\nAvailable recipes\n-----------------\n\ndjangorecipebook:manage\n Creates a management script for the project\n\ndjangorecipebook:wsgi\n Creates a wsgi script for the project\n\ndjangorecipebook:gunicorn\n Creates a gunicorn service launcher for the project\n\ndjangorecipebook:test\n Creates a script that invokes ``manage.py test [apps]``, or pytest_\n\ndjangorecipebook:makemigrations (new in v1.2)\n Generates Django migrations\n If you need to generate south_ migrations for Django < 1.7, you need to\n use djangorecipe 1.2.x or 1.3.x\n\ndjangorecipebook:migrate (new in v1.2)\n Invokes ``manage.py migrate [apps]``. For the lazy ones.\n\ndjangorecipebook:create\n Creates a django project from a user-defined template or using django's\n ``startproject`` management command. This recipe will not generate any\n script. The name of the created project is the name of the section.\n\n\nOptions\n-------\n\nCommon options\n..............\n\nproject-dir\n The directory where the project files lie, relative to the buildout.cfg\n directory.\n\n Defaults to ``'.'`` (buildout directory).\n\nsettings\n The settings module to load, imported from the project directory.\n\n Defaults to ``'settings'`` or a set of minimal settings, depending on the\n recipe.\n\nextra-paths\n Paths to add to sys.path in the generated script.\n\n Defaults to ``[]``.\n\nenvvars\n Any environment variable that need to be set for the test run, one per line,\n under the form ``VARIABLE = value`` (spaces are tolerated).\n\n Defaults to no environment variable set.\n\ninitialization\n Some (basic) python initialization code to insert in the generated script.\n Don't forget that leading whitespaces are stripped.\n\n Defaults to ``''``.\n\n\nManage options\n..............\n\nsettings\n If a settings module is not provided, the settings will be a set of minimal\n parameters, with the added installed apps below.\n\n Defaults to minimal settings.\n\ninst_apps\n The apps to add to the ``INSTALLED_APPS`` setting if no settings module is\n provided. This option should not be used when a settings module is provided.\n\n Defaults to ``''``.\n\ncommand\n The management command to run, if any.\n\n Defaults to no command (and in that case the ``args`` option is disabled).\n\nargs\n Any command-line argument you wish to have added to the generated script,\n separated by spaces or line-breaks.\n\n Defaults to no arguments.\n\n\nWSGI and gunicorn options\n.........................\n\nsettings\n Must be a settings module, no default minimal settings are available for\n these recipes.\n\nlog-file\n The path to a log file where all stdout and/or stderr data should be\n redirected to.\n\n Defaults to ``''``, which disables logging\n\nlog-level\n The level to log errors for. Can be one of INFO (stdout + stderr) or\n ERROR (stderr only).\n\n Defaults to ``INFO``.\n\nvirtualenv\n The virtualenv that should be used to run the wsgi script. This\n requires virtualenv **and** virtualenvwrapper, as it relies upon the\n ``WORKON_HOME`` environment variable.\n\n Defaults to ``''``, which disables any virtual environment setup.\n\nscript_path\n The desired output path of the script, as a path to a filename relative to\n the buildout directory (= where the ``buildout.cfg`` file lies).\n\n Defaults to buildout's bin directory with the recipe's name.\n\napplication (wsgi and gunicorn only)\n Used with the ``wsgi`` recipe, it is the dotted path to a user-defined wsgi\n application, and defaults to the result of django's\n ``get_wsgi_application()``.\n\n Used with the ``gunicorn`` recipe, it can be:\n - unspecified (default), which means that the ``gunicorn`` script must be\n called with an parameter defining the WSGI application\n - a ``path/to/a/wsgi:application``. The ``gunicorn`` script will set the\n current working directory to ``path/to/a`` and use ``wsgi:application``\n as the application parameter\n - ``auto``. The recipe will automatically generate a ``wsgi`` module\n using the provided ``settings``, ``log-file`` and ``log-level``, and\n the ``gunicorn`` script will refer to that module\n\nTest options\n............\n\n.. warning::\n\n When using ``runner = pytest``, the ``settings``, ``inst_apps``, ``apps``\n options have no effect. You should instead provide a\n `pytest configuration file`_ in the tests working directory.\n\nrunner\n *Replaces `nose` option from version 1.3*\n\n Use this option if you are using nose_ (and therefore django_nose_) to test\n your Django app or project. This will simply include ``django_nose`` and\n ``nose`` in your buildout.\n\n Defaults to unset.\n\nworkingdir\n The working directory to launch the tests from.\n\n Defaults to the current\n\nargs\n See `Manage options`_.\n\nsettings, inst_apps\n See `Manage options`_. Note that the ``command`` option is disabled. Not\n available when using pytest.\n\napps\n The names of the apps that should be tested, separated by spaces or\n line-breaks. If using minimal settings, these apps will be added to the\n ``INSTALLED_APPS`` (in addition to those in the ``inst_apps`` option).\n\n Defaults to ``''``, all the apps in ``INSTALLED_APPS``. Not available when\n using ``runner = pytest``\n\n\nMakemigrations options\n......................\n\nsettings, inst_apps, args\n See `Manage options`_. Note that the ``command`` option is disabled.\n\napps\n The names of the apps for which migrations should be generated, separated\n by spaces or line-breaks. If using minimal settings, these apps will be\n added to the ``INSTALLED_APPS`` (in addition to those in the ``inst_apps``\n option).\n\n Defaults to ``''``, all the apps in ``INSTALLED_APPS``\n\n\nMigrate options\n...............\n\nSame options as in `Test options`_. The only difference is that you cannot use\nminimal settings (the default is ``'settings'``) nor the ``inst_apps`` option.\nIndeed, migrations generally need a database to migrate!\n\n\nCreate options\n..............\n\nIn create mode, the following common options are unused:\n\n- extra-paths\n- initialization\n\nThe settings import path must be set as it is used to determine whether the\nproject has already been created or not.\n\nThe following options are added:\n\ntemplate-dirs\n The directories in which to search for user-defined project templates. This\n option may also be added in a ``[djangorecipebook]`` section (for example in\n the default.cfg file). See the `Templates discovery`_ section below.\n\n Defaults to the built-in templates directory, containing default django\n project templates.\n\ntemplate\n The template that should be used.\n\n Defaults to the standard django project for the major version of django you\n are using.\n\nsecret\n The ``SECRET_KEY`` to be used in the created settings file(s).\n\n Defaults to a randomly generated alphanumeric key.\n\nFor more details on templating, see the `Templates`_ section below.\n\n\nTemplates\n---------\n\nIn create mode, a templating engine is available for greater personalisation\nof your django project initialization.\n\nTemplates discovery\n...................\n\nIf a `template-dirs` option is found either in the recipe section or in a\nspecific `djangorecipebook` section, the recipe searches in these directories\n- from the last defined to the first - for a subdirectory name matching the\n`template` name provided.\n\nIf the search is unsuccessful or if none of `template-dirs` or `template` are\ndefined, the recipe uses the default template for the major version of django\nbeing used.\n\nFor example, if in ~/.buildout/default.cfg you have the following lines::\n\n [djangorecipebook]\n template-dirs =\n /my/project/template/directory\n /my/project/template/directory2\n\nAnd your buildout.cfg contains this section::\n\n [mynewproject]\n recipe = djangorecipebook:create\n template-dirs = /my/other/template/dir\n template = mytemplate\n\nThe recipe will search for a ``mytemplate`` directory in that order:\n\n1. /my/other/template/dir\n2. /my/project/template/directory2\n3. /my/project/template/directory\n\nTemplate engine\n...............\n\nThe template engine is as simple as it can be and relies upon pythons's\n``string.Template``. A variable can be inserted in any file or directory name or\nfile content in template directory using the syntax ``${variable}``.\n\nThe following variables are available:\n\n- any user-defined recipe option from the configuration file\n- ``secret``: the secret key for django settings\n- ``project_name``: the project name (= the section name)\n- ``year``: the current year\n- ``month``: the current month\n- ``day``: the current day of the month\n\nFor example, if you have in buildout.cfg::\n\n [mynewproject]\n recipe = djangorecipebook:create\n template = mytemplate\n author = Thomas Khyn\n\nfor a copyright notice in a module docstring, you may use::\n\n (c) ${year} ${author}\n\nwhich will produce to the following output in the final file (if we are in\n2014)::\n\n (c) 2014 Thomas Khyn\n\nor, if you have a directory named ``${project_name}_parameters``, the final name\nwill be ``mynewproject_parameters``.\n\n\n.. |copyright| unicode:: 0xA9\n.. _djangorecipe: https://github.com/rvanlaar/djangorecipe\n.. _nose: http://nose.readthedocs.org/en/latest/\n.. _django_nose: https://pypi.python.org/pypi/django-nose\n.. _south: http://south.readthedocs.org\n.. _`Django 1.7+`: https://docs.djangoproject.com/en/dev/topics/migrations/\n.. _pytest: http://pytest.org/\n.. _`pytest configuration file`: http://pytest-django.readthedocs.io/en/latest/tutorial.html\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/tkhyn/djangorecipebook/", "keywords": "django", "license": "", "maintainer": "", "maintainer_email": "", "name": "djangorecipebook", "package_url": "https://pypi.org/project/djangorecipebook/", "platform": "", "project_url": "https://pypi.org/project/djangorecipebook/", "project_urls": { "Homepage": "https://bitbucket.org/tkhyn/djangorecipebook/" }, "release_url": "https://pypi.org/project/djangorecipebook/1.4/", "requires_dist": null, "requires_python": "", "summary": "Buildout recipes for django development", "version": "1.4" }, "last_serial": 2908608, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "cdc0a52ceb3e9c3fd92ff78342687699", "sha256": "d7507e3bc206b7817f978d40742e565187fa328b8dfd71121d8fdda737e6f5e1" }, "downloads": -1, "filename": "djangorecipebook-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "cdc0a52ceb3e9c3fd92ff78342687699", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 26122, "upload_time": "2014-07-20T10:00:29", "url": "https://files.pythonhosted.org/packages/19/6b/efcee79b0d38ac4d507d1da82c65e810100f06d78ec8cb039d5d2e066972/djangorecipebook-0.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "701d9b64f020f6b002ac1946d4e7ca6f", "sha256": "950c84924a9843bb24229bd6eabe3f1ce36dde7b91909f4535d085d5cb5b7e40" }, "downloads": -1, "filename": "djangorecipebook-0.2.1.zip", "has_sig": false, "md5_digest": "701d9b64f020f6b002ac1946d4e7ca6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20508, "upload_time": "2014-07-20T10:00:17", "url": "https://files.pythonhosted.org/packages/2c/56/ac40fe52984e7ec3f881a2338d6a5cfac29f173223a22b0e2d021a9c9a42/djangorecipebook-0.2.1.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "a0baf7358cfc659678c642fae535f3ae", "sha256": "465668a539cedaed23fd2207a70d8471d2752b502eaa4a6a7f424c644da06429" }, "downloads": -1, "filename": "djangorecipebook-1.0-py2.7.egg", "has_sig": false, "md5_digest": "a0baf7358cfc659678c642fae535f3ae", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 26214, "upload_time": "2014-08-01T23:03:21", "url": "https://files.pythonhosted.org/packages/07/d4/91c179f7a269c82675fbf9c8407c624aa7fdf83b6f40489eb2e2f86322b2/djangorecipebook-1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a3be27bf19991cb72d6f6ee8a977c0d8", "sha256": "06d7b78c044f06b4e26d9590cf214272f1b9a3081069020e91f3061ee0d3ac17" }, "downloads": -1, "filename": "djangorecipebook-1.0.zip", "has_sig": false, "md5_digest": "a3be27bf19991cb72d6f6ee8a977c0d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20608, "upload_time": "2014-08-01T23:02:38", "url": "https://files.pythonhosted.org/packages/2e/4f/fd995b1ced861b659c2d5280ed4203ae1f07b73c560de7955142117b944e/djangorecipebook-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "a2e90921319a5f352ee972f835c99346", "sha256": "a6e3d4698283497b98028a863427011dff8c167e2b397dad7954ca64610781dd" }, "downloads": -1, "filename": "djangorecipebook-1.1-py2.7.egg", "has_sig": false, "md5_digest": "a2e90921319a5f352ee972f835c99346", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 29760, "upload_time": "2014-08-03T10:34:54", "url": "https://files.pythonhosted.org/packages/5a/84/d43ca11458e1e1182179ad35772d9becec43f72e50789f9a78708337b244/djangorecipebook-1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "04babdeaa4d689241ada557fee29181b", "sha256": "3e2e447af737b7de709133dd6a3fae780acb1ac2a37198c7b37971a9ecdaf93a" }, "downloads": -1, "filename": "djangorecipebook-1.1.zip", "has_sig": false, "md5_digest": "04babdeaa4d689241ada557fee29181b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21379, "upload_time": "2014-08-03T10:34:18", "url": "https://files.pythonhosted.org/packages/ba/9e/f8d954044827d83b9f7dad42a07a92f0db1bc1bc3308686ba63195da65e7/djangorecipebook-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "2cac2a88dc0cce8f5222e1adfe8e6a1b", "sha256": "a20bf1c8fd05cc66d97760bf59147ba0a776df67a43c7af57ba3d2f9996ef1de" }, "downloads": -1, "filename": "djangorecipebook-1.1.1.zip", "has_sig": false, "md5_digest": "2cac2a88dc0cce8f5222e1adfe8e6a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21582, "upload_time": "2014-10-07T11:52:31", "url": "https://files.pythonhosted.org/packages/59/7f/e91554f093cbb59661971eff0befcb37c74408fe71871ff2aa0f276cd2c5/djangorecipebook-1.1.1.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "388a69ac0f70855f655116184bfd0966", "sha256": "e3b41b389a645b281b62f81766a59087a8fb4b8a6d9c114cc5383e9dbc74e1fc" }, "downloads": -1, "filename": "djangorecipebook-1.2.1.zip", "has_sig": false, "md5_digest": "388a69ac0f70855f655116184bfd0966", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32435, "upload_time": "2014-11-25T01:08:33", "url": "https://files.pythonhosted.org/packages/18/1d/7f39c27e62c32d9f4c0f54cd9ad96799f17b7fcaec7ac94e1bae28130ae7/djangorecipebook-1.2.1.zip" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "68d774a0d6a88fe46da2cc0b04ebfc15", "sha256": "26df48209ef323149273a241b33ed15c53f74280c55c608158f126716e38783d" }, "downloads": -1, "filename": "djangorecipebook-1.2.2.zip", "has_sig": false, "md5_digest": "68d774a0d6a88fe46da2cc0b04ebfc15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33292, "upload_time": "2014-11-30T07:28:43", "url": "https://files.pythonhosted.org/packages/9e/71/e9960e1f0963d2d635588a90872a221b29067fe0f7ab2f8d139b3a19aedb/djangorecipebook-1.2.2.zip" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "cd52ee2f50606778e0f9a9da50e7b377", "sha256": "3a1ee38738789ee1a8b6e098a4f72c6deecd66aab4d77a707e858bb9f9748503" }, "downloads": -1, "filename": "djangorecipebook-1.2.3.zip", "has_sig": false, "md5_digest": "cd52ee2f50606778e0f9a9da50e7b377", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33390, "upload_time": "2014-11-30T08:07:24", "url": "https://files.pythonhosted.org/packages/43/cb/cc570003da2862c2236783afd9acf4192540dfe300aa66b880206bd5f896/djangorecipebook-1.2.3.zip" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "5b8a6a7ca728fbe65d181d074c4663c7", "sha256": "7f8f5b0976aad6dd8bd74ccccc6b6017a068f79b307070665ed5a20e4f444ffa" }, "downloads": -1, "filename": "djangorecipebook-1.2.4.zip", "has_sig": false, "md5_digest": "5b8a6a7ca728fbe65d181d074c4663c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33455, "upload_time": "2014-12-11T21:31:20", "url": "https://files.pythonhosted.org/packages/ab/89/8c398b58853e80681cc24be32d4a36e464bde6389521b4049d72db55f9f4/djangorecipebook-1.2.4.zip" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "2e82638eb4f9bbc33d06e66907b7d3bd", "sha256": "c818e4b0385d24bc6023dfe0d9ca0f0b1ccfabbfb0399a702cfd3590d356553e" }, "downloads": -1, "filename": "djangorecipebook-1.2.5.zip", "has_sig": false, "md5_digest": "2e82638eb4f9bbc33d06e66907b7d3bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33477, "upload_time": "2015-04-14T09:58:35", "url": "https://files.pythonhosted.org/packages/63/cb/fe5caf2393b137d773352309703974307977d68c9d123f6abac1f3faf42b/djangorecipebook-1.2.5.zip" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "d0968586cf428cb0307832f00ab76d6e", "sha256": "6271c75d2814b6c4960c0b859c9272c27228cfc4079c30ddb9f652627634ee0e" }, "downloads": -1, "filename": "djangorecipebook-1.2.6.zip", "has_sig": false, "md5_digest": "d0968586cf428cb0307832f00ab76d6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33184, "upload_time": "2015-05-04T03:00:27", "url": "https://files.pythonhosted.org/packages/fd/d6/45e4fc62e32ddb89986e1eb648a8bfa1337f957578800e4a913c20134c14/djangorecipebook-1.2.6.zip" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "d6035ec53015c143cbe2afcf1c42f177", "sha256": "297213fd8bdacc286050759cf9d11b7e13d03764768b049acbad383ac4fb8c06" }, "downloads": -1, "filename": "djangorecipebook-1.2.7.zip", "has_sig": false, "md5_digest": "d6035ec53015c143cbe2afcf1c42f177", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33604, "upload_time": "2015-07-28T02:21:38", "url": "https://files.pythonhosted.org/packages/3b/8a/93b115bd03089b52d02350cdabc8e148d33725f6f0a9537451c97a8a3bc6/djangorecipebook-1.2.7.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "734fb05fdf02872f12ddf8d7a9c7e4f0", "sha256": "ea54356b34969941a3d9b01066452bf28544f0fdf65402d09939a83b6cd007c9" }, "downloads": -1, "filename": "djangorecipebook-1.3.zip", "has_sig": false, "md5_digest": "734fb05fdf02872f12ddf8d7a9c7e4f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34668, "upload_time": "2016-07-13T00:47:52", "url": "https://files.pythonhosted.org/packages/75/a0/60962268d97e68f73607ef4ca6991fd4e8d6b609a32df007c7ebe34c594c/djangorecipebook-1.3.zip" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "865c8133ac47d05db183535a4ec3c6aa", "sha256": "364d067d23d9991a990467b75d7e257e2ad7ed233356297384ab28e2e14ef48b" }, "downloads": -1, "filename": "djangorecipebook-1.3.1.zip", "has_sig": false, "md5_digest": "865c8133ac47d05db183535a4ec3c6aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36928, "upload_time": "2016-09-18T13:30:30", "url": "https://files.pythonhosted.org/packages/ec/16/e04f5f454b3338826b0965de4e4b250d69e4ad1cfbcb244ffd28ee7d47c4/djangorecipebook-1.3.1.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "20117d4489e0d188d25fed4666c8380b", "sha256": "1a371b3ea526e26918e7bde54918e8162f4d9439c5b4fcd7b357faf651e46199" }, "downloads": -1, "filename": "djangorecipebook-1.4.tar.gz", "has_sig": false, "md5_digest": "20117d4489e0d188d25fed4666c8380b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16407, "upload_time": "2017-05-30T08:18:48", "url": "https://files.pythonhosted.org/packages/51/82/1fd544f33a4be90fd81892d0091dc15f92354681c019936fefd8c2db1b41/djangorecipebook-1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "20117d4489e0d188d25fed4666c8380b", "sha256": "1a371b3ea526e26918e7bde54918e8162f4d9439c5b4fcd7b357faf651e46199" }, "downloads": -1, "filename": "djangorecipebook-1.4.tar.gz", "has_sig": false, "md5_digest": "20117d4489e0d188d25fed4666c8380b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16407, "upload_time": "2017-05-30T08:18:48", "url": "https://files.pythonhosted.org/packages/51/82/1fd544f33a4be90fd81892d0091dc15f92354681c019936fefd8c2db1b41/djangorecipebook-1.4.tar.gz" } ] }