{ "info": { "author": "Matt Robenolt", "author_email": "matt@ydekproductions.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development" ], "description": "# mywsgi\n\nSetting up [uWSGI](https://uwsgi-docs.readthedocs.io/) for a new Python project is hard. uWSGI provides a million configuration options\nand a million ways to do everything. I have slimmed this down to a core set of basic options.\n\nThese options are very opinionated and how I've grown to like doing things.\n\n## Installation\n\n```sh\npip install mywsgi\n```\n\n## How do I\n\nThere are two APIs for working with mywsgi. A Python API, and a CLI API.\n\n### CLI\n\nmywsgi comes along with a CLI interface. This is the simplest way to get going.\n\n```sh\n$ mywsgi --help\nusage: mywsgi [-h] module bind\n\npositional arguments:\n module python wsgi module\n bind ip:port to bind to\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\n```sh\nmywsgi foo.wsgi:application 127.0.0.1:8000\n```\n\nIf you want to override or change any uWSGI variables, the only way to do this is through\nuWSGI's native environment variables. So something like:\n\n```sh\nexport UWSGI_MAX_REQUESTS=1000\nexport UWSGI_HARAKIRI=30\nmywsgi foo.wsgi:application 127.0.0.1:8000\n```\n\n\n### Python API\n\nThe Python API is simple, it exposes one function with two required arguments.\n\n```python\nimport mywsgi\nmywsgi.run(\n \"foo.wsgi:application\",\n \"127.0.0.1:8000\",\n)\n```\n\nRunning this ultimately `exec`s out and hands off all control over to `uWSGI`. So beyond this call,\nnothing else will run. Your program is gone.\n\nYou can pass additional uWSGI arguments along to this as additional kwargs:\n\n```python\nimport mywsgi\nmywsgi.run(\n \"foo.wsgi:application\",\n \"127.0.0.1:8000\"\n max_requests=10000,\n harakiri=30,\n)\n```\n\nAnything passed in as kwargs is directly passed along to uWSGI and will override my defaults.\n\n## Bring your own uWSGI\n\nThis package does not directly require uWSGI, but it supports working with both the `uWSGI` package and the great `pyuwsgi` package.\n\nI'd highly recommend using `pyuwsgi` instead of `uWSGI` directly. `pyuwsgi` is just a compiled binary distribution of `uWSGI`.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mattrobenolt/mywsgi", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mywsgi", "package_url": "https://pypi.org/project/mywsgi/", "platform": "", "project_url": "https://pypi.org/project/mywsgi/", "project_urls": { "Homepage": "https://github.com/mattrobenolt/mywsgi" }, "release_url": "https://pypi.org/project/mywsgi/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Opinionated uWSGI setup", "version": "1.0.3" }, "last_serial": 5498873, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1156bae92a0220a614f05038a0d716e0", "sha256": "c6f260414de847585642e6cee7fad605378dc70ef1ccb5a762c020b99af1f316" }, "downloads": -1, "filename": "mywsgi-1.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "1156bae92a0220a614f05038a0d716e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4135, "upload_time": "2019-07-08T03:17:11", "url": "https://files.pythonhosted.org/packages/fd/22/fcf28bc55f68097584282ce7be3e6a56c804eacb319c9b230471537df79d/mywsgi-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "091a6690b9afd3a5b9546c03fabc5319", "sha256": "0ea91f8f1c289c0c7af1c6cb1154bc88aa97e98eb83119d19df0a1c7def8561f" }, "downloads": -1, "filename": "mywsgi-1.0.0.tar.gz", "has_sig": true, "md5_digest": "091a6690b9afd3a5b9546c03fabc5319", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3132, "upload_time": "2019-07-08T03:17:13", "url": "https://files.pythonhosted.org/packages/68/18/c2dfdb18e0cfc2bd35b649dcc05cb438cfd561cb97974b7e69504846df15/mywsgi-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ed4ec7219c10f81230dfc13f3a5fe4a8", "sha256": "d3b7f8cfd9916e01b309a94453fa8a67c0860f72e774d4f3417032e21a459e6c" }, "downloads": -1, "filename": "mywsgi-1.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "ed4ec7219c10f81230dfc13f3a5fe4a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4153, "upload_time": "2019-07-08T03:38:06", "url": "https://files.pythonhosted.org/packages/c3/19/43cab896904e0947709362466b5e87d7e69c252932015df478fcc20fbc8a/mywsgi-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63ea506001425797c23d42daa272a957", "sha256": "41430e68093db2ea7416fbaf27fe7c96ee829c8e7390b194e77cbdbcbd66fb75" }, "downloads": -1, "filename": "mywsgi-1.0.1.tar.gz", "has_sig": true, "md5_digest": "63ea506001425797c23d42daa272a957", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3151, "upload_time": "2019-07-08T03:38:08", "url": "https://files.pythonhosted.org/packages/b9/2a/1897f19936e4bf3a652cf4913929950c6d0d7dbb3fbbd4c2389cbbdb041a/mywsgi-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "f31f537d23ca625109f4f01adedf2349", "sha256": "8be16c38683bd1027faf5f5a89b1435ba9db13d4c29643e9380b32d5c873e85d" }, "downloads": -1, "filename": "mywsgi-1.0.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f31f537d23ca625109f4f01adedf2349", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4160, "upload_time": "2019-07-08T03:41:34", "url": "https://files.pythonhosted.org/packages/d1/65/14308f3bcc64acacf87de8be2b3e1408bc759c977c7b2669fd13a3439678/mywsgi-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4eeae70cd0e957e448697c926416661", "sha256": "b140958454c6b7ed40e5915ee1dbe349a4bb77c8b2e71d070b48d6839b810274" }, "downloads": -1, "filename": "mywsgi-1.0.2.tar.gz", "has_sig": true, "md5_digest": "a4eeae70cd0e957e448697c926416661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3174, "upload_time": "2019-07-08T03:41:36", "url": "https://files.pythonhosted.org/packages/34/22/32db84e0c97bdd6cd7f7da94dce12e6dc93db19e5e520001ec68f5d08af2/mywsgi-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "7542e15184dfb6fec5cc61ae231a7a6a", "sha256": "846158e938f3ca3f6ad59ced34fd9dcf34c4ab059a60ff365bd3900d7878edcf" }, "downloads": -1, "filename": "mywsgi-1.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7542e15184dfb6fec5cc61ae231a7a6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4185, "upload_time": "2019-07-08T03:50:57", "url": "https://files.pythonhosted.org/packages/15/10/22b0b74b3b3021d5a94804eb9155c98c0d41101f7745548dc7af58a1a144/mywsgi-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d12944411a2ed875ef6995e566dc8c83", "sha256": "16720914209c9191e0d1ad34f2ffa6c9959fb9a7ce899d12ad23ac3eab2c2e3b" }, "downloads": -1, "filename": "mywsgi-1.0.3.tar.gz", "has_sig": true, "md5_digest": "d12944411a2ed875ef6995e566dc8c83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3201, "upload_time": "2019-07-08T03:50:59", "url": "https://files.pythonhosted.org/packages/a3/15/6a80b7694311b07163a743bd4aec34444396e56bc4d90e19bfcf9ff91432/mywsgi-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7542e15184dfb6fec5cc61ae231a7a6a", "sha256": "846158e938f3ca3f6ad59ced34fd9dcf34c4ab059a60ff365bd3900d7878edcf" }, "downloads": -1, "filename": "mywsgi-1.0.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7542e15184dfb6fec5cc61ae231a7a6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4185, "upload_time": "2019-07-08T03:50:57", "url": "https://files.pythonhosted.org/packages/15/10/22b0b74b3b3021d5a94804eb9155c98c0d41101f7745548dc7af58a1a144/mywsgi-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d12944411a2ed875ef6995e566dc8c83", "sha256": "16720914209c9191e0d1ad34f2ffa6c9959fb9a7ce899d12ad23ac3eab2c2e3b" }, "downloads": -1, "filename": "mywsgi-1.0.3.tar.gz", "has_sig": true, "md5_digest": "d12944411a2ed875ef6995e566dc8c83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3201, "upload_time": "2019-07-08T03:50:59", "url": "https://files.pythonhosted.org/packages/a3/15/6a80b7694311b07163a743bd4aec34444396e56bc4d90e19bfcf9ff91432/mywsgi-1.0.3.tar.gz" } ] }