{ "info": { "author": "Wichert Akkerman", "author_email": "wichert@wiggy.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Buildout :: Recipe", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "Introduction\n============\n\n''collective.recipe.modwsgi'' is a `zc.buildout`_ recipe which creates\na `paste.deploy`_ entry point for mod_wsgi_.\n\nIt is very simple to use. This is a minimal ''buildout.cfg'' file\nwhich creates a WSGI script mod_python can use::\n\n [buildout]\n parts = mywsgiapp\n\n [mywsgiapp]\n recipe = collective.recipe.modwsgi\n eggs = mywsgiapp\n config-file = ${buildout:directory}/production.ini\n\nThis will create a small python script in parts/mywsgiapp called\n''wsgi'' which mod_wsgi can load. You can also use the optional\n''extra-paths'' option to specify extra paths that are added to\nthe python system path.\n\nThe apache configuration for this buildout looks like this::\n\n WSGIScriptAlias /mysite /home/me/buildout/parts/mywsgiapp/wsgi\n\n \n Order deny,allow\n Allow from all\n \n\nIf the python script must be accessed from somewhere else than the buildout\nparts folder, you can use the optional ''target'' option to tell the recipe\nwhere the script should be created.\n\nFor instance, the configuration for the mywsgiapp part could look like this::\n\n [mywsgiapp]\n recipe = collective.recipe.modwsgi\n eggs = mywsgiapp\n target = /var/www/myapp.wsgi\n config-file = ${buildout:directory}/production.ini\n\nThe recipe would then create the script at /var/www/myapp.wsgi.\n\nNote that the directory containing the target script must already exist on\nthe filesystem prior to running the recipe and be writeable.\n\nThe apache configuration for this buildout would then look like this::\n\n WSGIScriptAlias /mysite /var/www/myapp.wsgi\n\n \n Order deny,allow\n Allow from all\n \n\nThis recipe does not fully install packages, which means that console scripts\nwill not be created. If you need console scripts you can add a second\nbuildout part which uses `z3c.recipe.scripts`_ to do a full install.\n\nConfiguration files with multiple applications\n----------------------------------------------\n\nIt is possible to specify multiple applications or pipelines in a single\nconfiguration file. If you do this you can specify which application to\nrun by using the ``app_name`` option. For example if your ini files looks\nlike this::\n\n [app:my_app]\n use = egg:my_application\n\n [pipeline:production]\n pipeline = my_app\n \n [pipeline:devel]\n pipeline =\n egg:WebError#evalerror\n my_app\n\nThis specifies two way to run the your application: a *production*\nconfiguration which runs the application directly, and a *devel*\nconfiguration which also runs the WebError interactive debugger to\ncatch errors. To use the production pipeline in mod_wsgi supply\nthe app_name parameter::\n\n [mywsgiapp]\n recipe = collective.recipe.modwsgi\n eggs = mywsgiapp\n app_name = production\n config-file = ${buildout:directory}/production.ini\n\n.. _zc.buildout: http://pypi.python.org/pypi/zc.buildout\n.. _paste.deploy: http://pythonpaste.org/deploy/\n.. _mod_wsgi: http://code.google.com/p/modwsgi/\n.. _z3c.recipe.scripts: http://pypi.python.org/pypi/z3c.recipe.scripts\n\nChangelog\n=========\n\n2.1 - August 28, 2014\n---------------------\n\n- Handle broken symlinks when using the target option. Patch submitted by\n Jaap Roes.\n\n\n2.0 - March 12, 2013\n--------------------\n\n- Add Python 3 support. Patch submitted by Richard Mitchell. \n\n\n1.7 - June 19, 2012\n-------------------\n\n- Add option to configure where target script will be created.\n Patch submitted by David Convent.\n\n\n1.6 - January 31, 2012\n----------------------\n\n- Fix packaging error.\n\n\n1.5 - January 31, 2012\n----------------------\n\n- Add option to configure which application to load from a .ini file.\n Patch submitted by Stephan Hof.\n\n\n1.4 - January 15, 2012\n----------------------\n\n- Fix typo in the .ini handling logic for configuration files that do not\n contain logging settings.\n [aclark]\n\n\n1.3 - January 13, 2012\n----------------------\n\n- Gracefully handle .ini files that do not contain logging configuration.\n [wichert]\n\n- don't overwrite existing file permissions when setting execute permission.\n This fixes `issue 1\n `_\n [fredj]\n\n1.2 - August 7, 2009\n--------------------\n\n- Initialise the python logging module. Based on a patch from Philip Kershaw,\n which was based on a discussion on pylons-discuss:\n http://groups.google.com/group/pylons-discuss/browse_thread/thread/9b9add4529b3779c?pli=1\n [wichert]\n\n\n1.1 - April 20, 2009\n--------------------\n\n* Add an 'extra-paths' option, similar the the zc.recipe.egg one.\n [chrism]\n\n\n1.0 - October 16, 2008\n----------------------\n\n* No changes.\n [wichert]\n\n\n\n1.0rc1 - June 30, 2008\n----------------------\n\n* Update the generated wrapper to test if a path is already in sys.path\n before adding it. This prevents paths being duplicated in sys.path\n when mod_wsgi reloads the module.\n [wichert]\n\n\n\n1.0b3 - June 23, 2008\n---------------------\n\n* Do not make the recipe a subclass of zc.recipe.egg.Eggs but\n use a local instance to determine the working set.\n [wichert]\n\n* Format the sys.path changes in the wrapper to make it more\n human readable. This is purely cosmetic to help with debugging.\n [wichert]\n\n* Also recreate the wsgi wrapper file when updating a buildout part.\n This is needed to get get changes to versions in the working set\n (such as different version pins) reflected in the wrapper.\n [wichert]\n\n\n\n1.0b2 - June 13, 2008\n---------------------\n\n* Call the Eggs constructor as well: working_set() needs too many of the\n internal variables it sets for us to set them ourselves. This fixes\n the recipe breaking when using find-links in buildout.\n [wichert]\n\n\n\n1.0b1 - June 13, 2008\n---------------------\n\n* Initial release\n [wichert]", "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/wichert/collective.recipe.modwsgi", "keywords": "wsgi buildout", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "collective.recipe.modwsgi", "package_url": "https://pypi.org/project/collective.recipe.modwsgi/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.recipe.modwsgi/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/wichert/collective.recipe.modwsgi" }, "release_url": "https://pypi.org/project/collective.recipe.modwsgi/2.1/", "requires_dist": null, "requires_python": null, "summary": "WSGI from buildout", "version": "2.1" }, "last_serial": 1204897, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "eba32c54815eb218f296cf1d7108b9cf", "sha256": "ee3e6c8b1b806c1f19e9cc908c8e83e38bdf8cfe54106c480027ba342eb997cf" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.0.zip", "has_sig": false, "md5_digest": "eba32c54815eb218f296cf1d7108b9cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8898, "upload_time": "2008-10-16T08:06:08", "url": "https://files.pythonhosted.org/packages/01/41/45c4ca80b725f3d89c36d9fd0eef0f917691c9ee0d3becf9d55e8fff500a/collective.recipe.modwsgi-1.0.zip" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "093feef7ab692da4e2247df8ded286c6", "sha256": "32f43f65dcf4e1cd259b5da21d8ae2d9376ead603be95ed9c994af6993a7c6c1" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.0b1.tar.gz", "has_sig": false, "md5_digest": "093feef7ab692da4e2247df8ded286c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2806, "upload_time": "2008-06-13T11:27:47", "url": "https://files.pythonhosted.org/packages/48/3c/9e39648de0d31ac1946fb5c1360c6946a65b1e3cd94d3a9e7022fd3f9dd6/collective.recipe.modwsgi-1.0b1.tar.gz" } ], "1.0b2": [ { "comment_text": "", "digests": { "md5": "504e1c95700afeed14783f227170da1b", "sha256": "ee5a28adbb77a5118532b18b03fda32d23dffbe8b1187d16ec870b2f43c03a9d" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.0b2.tar.gz", "has_sig": false, "md5_digest": "504e1c95700afeed14783f227170da1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2953, "upload_time": "2008-06-13T13:41:15", "url": "https://files.pythonhosted.org/packages/8c/e7/cb0b9776f412ac1b3b2e904f67f43f07cec8213b56e532a4b7d9442f3c92/collective.recipe.modwsgi-1.0b2.tar.gz" } ], "1.0b3": [ { "comment_text": "", "digests": { "md5": "edbb0388a16f3d39b684e08ca4ad214e", "sha256": "8a7d97365a6e6a7c3a1616baf2b1cb359b4476c9b54fe67402e73c3b8d32be58" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.0b3.tar.gz", "has_sig": false, "md5_digest": "edbb0388a16f3d39b684e08ca4ad214e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3237, "upload_time": "2008-06-23T14:19:53", "url": "https://files.pythonhosted.org/packages/c2/8f/dc82076968b969ce01be4a46f5e212d0df59a7a5fe2c87387f62eb0c6f8c/collective.recipe.modwsgi-1.0b3.tar.gz" } ], "1.0rc1": [ { "comment_text": "", "digests": { "md5": "6aac5eac305fe6bb4ef804949dd571de", "sha256": "59a933bf1104b8e9b313a81722db86ad297e92dde832617947def2cf07dc7956" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.0rc1.tar.gz", "has_sig": false, "md5_digest": "6aac5eac305fe6bb4ef804949dd571de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3446, "upload_time": "2008-06-30T14:55:43", "url": "https://files.pythonhosted.org/packages/8c/ad/d745c7d67b4166d836ad17c16513b6c50598eb1c0f925ec6d7ed99158c6d/collective.recipe.modwsgi-1.0rc1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "52aa10b5544176994a3d64aa3f803ead", "sha256": "da1de03d8e483badc50fd5be00c36f504dd4b0325f2f127fd687ed93503e688b" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.1.tar.gz", "has_sig": false, "md5_digest": "52aa10b5544176994a3d64aa3f803ead", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3596, "upload_time": "2009-04-20T20:30:02", "url": "https://files.pythonhosted.org/packages/c9/eb/2c6f3d25bc379911f6d30c8c71cce17f600f73733223cc958c0cf7f190b7/collective.recipe.modwsgi-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e8ed78414603f7bea780c45bcae698e9", "sha256": "dfe2b1250ca8445f21667d5310e1a1b5da4ca07ba3391e884cc97f6811274eb9" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.2.tar.gz", "has_sig": false, "md5_digest": "e8ed78414603f7bea780c45bcae698e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3775, "upload_time": "2009-08-07T12:37:11", "url": "https://files.pythonhosted.org/packages/b7/9e/c88549f5f1daea45594dd3249a61997d48627a9ec708dae12dd503de1031/collective.recipe.modwsgi-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "a8cca9110d525365c58d4207e382b784", "sha256": "c1c2f7959e85e784fea5f99541a355a3f4cbc4fca326b85c9d85ecbca32a52e0" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.3.tar.gz", "has_sig": false, "md5_digest": "a8cca9110d525365c58d4207e382b784", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4215, "upload_time": "2012-01-13T21:27:03", "url": "https://files.pythonhosted.org/packages/56/4a/4ae58248abde07065830b07072adc1ef7a90fd63b6e52bca9871937aefdd/collective.recipe.modwsgi-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "6c3b9597f6dce2db836598c510b51800", "sha256": "e0fe784ad573b1e50bf2ce5597cd07a1d358fe2cf57285dcc1812ef8dcfb2740" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.4.tar.gz", "has_sig": false, "md5_digest": "6c3b9597f6dce2db836598c510b51800", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4301, "upload_time": "2012-01-15T23:47:19", "url": "https://files.pythonhosted.org/packages/ad/f2/8ef2c0ce80aab958a97151cb6180b838cf3c6ad1b7c2148b0742b7e2af0e/collective.recipe.modwsgi-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "75131c0a4876c789e27d9f23679145d5", "sha256": "cfc1926a810eb2d0b0f4e845234ddc378baba202016f779c8a6d3b853c33477a" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.5.tar.gz", "has_sig": false, "md5_digest": "75131c0a4876c789e27d9f23679145d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4635, "upload_time": "2012-01-31T11:13:57", "url": "https://files.pythonhosted.org/packages/0a/5b/5f137d32364d3b33dec4680daf27cdfc066231991cc27662380ea19d1232/collective.recipe.modwsgi-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "0e0da6ba6a8770a83290458f2298a1c8", "sha256": "44b3ba580cca83cfb44e15eb553a22174843c63cede3f6aaccbc74ad2318c8a0" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.6.tar.gz", "has_sig": false, "md5_digest": "0e0da6ba6a8770a83290458f2298a1c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4970, "upload_time": "2012-01-31T11:43:06", "url": "https://files.pythonhosted.org/packages/58/80/325588779ce5b6fb75e01efa524ff404367883e4f8367b1465b7b6684fc4/collective.recipe.modwsgi-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "94efd75ae23ea969a952c030fe7b75b6", "sha256": "a50c0064183b8b15dd47045b104b34f735686c67b1911c3149ff027303941f30" }, "downloads": -1, "filename": "collective.recipe.modwsgi-1.7.tar.gz", "has_sig": false, "md5_digest": "94efd75ae23ea969a952c030fe7b75b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5415, "upload_time": "2012-06-19T21:59:42", "url": "https://files.pythonhosted.org/packages/94/18/f51154e5e7d607b4e28d96b5d2661c24c099d541032fb83dbfe520b9d986/collective.recipe.modwsgi-1.7.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "bd28fd9471edc95cb6c58628b92b93cf", "sha256": "4f0192cd3a66dd3e9afa6396c373a5c646cf830c41296436aa618cb45ba0e512" }, "downloads": -1, "filename": "collective.recipe.modwsgi-2.0.tar.gz", "has_sig": false, "md5_digest": "bd28fd9471edc95cb6c58628b92b93cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5507, "upload_time": "2013-03-12T13:28:47", "url": "https://files.pythonhosted.org/packages/dc/11/3b9974922fe437a10e906da873be244d63554ff696a4dcccf294a051c1e3/collective.recipe.modwsgi-2.0.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "3c529d23c17e67009340657a0efaa9c4", "sha256": "7c56032e3f949a34a276a91d281672d7f3311b0e225a95abb8592d7ffd5fad9e" }, "downloads": -1, "filename": "collective.recipe.modwsgi-2.1.tar.gz", "has_sig": false, "md5_digest": "3c529d23c17e67009340657a0efaa9c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5552, "upload_time": "2014-08-28T07:54:02", "url": "https://files.pythonhosted.org/packages/82/af/3c7af4baf9853fe97be661e53fb6d16bc05d3044075b4a77b2b1ca84daeb/collective.recipe.modwsgi-2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3c529d23c17e67009340657a0efaa9c4", "sha256": "7c56032e3f949a34a276a91d281672d7f3311b0e225a95abb8592d7ffd5fad9e" }, "downloads": -1, "filename": "collective.recipe.modwsgi-2.1.tar.gz", "has_sig": false, "md5_digest": "3c529d23c17e67009340657a0efaa9c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5552, "upload_time": "2014-08-28T07:54:02", "url": "https://files.pythonhosted.org/packages/82/af/3c7af4baf9853fe97be661e53fb6d16bc05d3044075b4a77b2b1ca84daeb/collective.recipe.modwsgi-2.1.tar.gz" } ] }