--- /tmp/aiohttp-wsgi-0.8.2-2a1ogk9h6/debian/python3-aiohttp-wsgi_0.8.2-2_all.deb +++ python3-aiohttp-wsgi_0.8.2-2_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2019-09-02 18:17:36.000000 debian-binary │ --rw-r--r-- 0 0 0 2300 2019-09-02 18:17:36.000000 control.tar.xz │ --rw-r--r-- 0 0 0 33132 2019-09-02 18:17:36.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 2304 2019-09-02 18:17:36.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 33136 2019-09-02 18:17:36.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -42,24 +42,24 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 286 2019-03-09 14:07:37.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/file.png │ │ │ -rw-r--r-- 0 root (0) root (0) 10847 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/language_data.js │ │ │ -rw-r--r-- 0 root (0) root (0) 90 2019-03-09 14:07:37.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/minus.png │ │ │ -rw-r--r-- 0 root (0) root (0) 90 2019-03-09 14:07:37.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/plus.png │ │ │ -rw-r--r-- 0 root (0) root (0) 4395 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/pygments.css │ │ │ -rw-r--r-- 0 root (0) root (0) 214 2019-03-10 07:47:02.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/up-pressed.png │ │ │ -rw-r--r-- 0 root (0) root (0) 203 2019-03-10 07:47:02.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/up.png │ │ │ --rw-r--r-- 0 root (0) root (0) 17569 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/changelog.html │ │ │ --rw-r--r-- 0 root (0) root (0) 5588 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/contributing.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 17570 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/changelog.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 5589 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/contributing.html │ │ │ -rw-r--r-- 0 root (0) root (0) 4346 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/genindex.html │ │ │ --rw-r--r-- 0 root (0) root (0) 6020 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/index.html │ │ │ --rw-r--r-- 0 root (0) root (0) 6169 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/installation.html │ │ │ --rw-r--r-- 0 root (0) root (0) 9816 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/main.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 6021 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/index.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 6170 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/installation.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 9817 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/main.html │ │ │ -rw-r--r-- 0 root (0) root (0) 411 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/objects.inv │ │ │ -rw-r--r-- 0 root (0) root (0) 4190 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/py-modindex.html │ │ │ -rw-r--r-- 0 root (0) root (0) 3695 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/search.html │ │ │ -rw-r--r-- 0 root (0) root (0) 5062 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/searchindex.js │ │ │ --rw-r--r-- 0 root (0) root (0) 20303 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/wsgi.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 20327 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/wsgi.html │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2019-09-02 18:17:36.000000 ./usr/share/doc-base/ │ │ │ -rw-r--r-- 0 root (0) root (0) 307 2019-09-02 18:17:36.000000 ./usr/share/doc-base/python3-aiohttp-wsgi-doc │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/doctools.js -> ../../../../javascript/sphinxdoc/1.0/doctools.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/jquery.js -> ../../../../javascript/sphinxdoc/1.0/jquery.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/searchtools.js -> ../../../../javascript/sphinxdoc/1.0/searchtools.js │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2019-09-02 18:17:36.000000 ./usr/share/doc/python3-aiohttp-wsgi/html/_static/underscore.js -> ../../../../javascript/sphinxdoc/1.0/underscore.js │ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/changelog.html │ │ │ @@ -163,15 +163,15 @@ │ │ │ │ │ │ │ │ │
│ │ │

0.2.4

│ │ │ │ │ │
│ │ │
│ │ │

0.2.3

│ │ │ │ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/contributing.html │ │ │ @@ -32,15 +32,15 @@ │ │ │
│ │ │ │ │ │
│ │ │

Contributing

│ │ │

Bug reports, bug fixes, and new features are always welcome. Please raise issues on GitHub, and submit pull requests for any new code.

│ │ │
│ │ │

Testing

│ │ │ -

It’s recommended to test aiohttp_wsgi in a virtual environment using venv.

│ │ │ +

It’s recommended to test aiohttp_wsgi in a virtual environment using venv.

│ │ │

Run the test suite using unittest:

│ │ │
python -m unittest discover tests
│ │ │  
│ │ │
│ │ │
│ │ │
│ │ │

Contributors

│ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/index.html │ │ │ @@ -33,15 +33,15 @@ │ │ │
│ │ │

aiohttp-wsgi

│ │ │

WSGI adapter for aiohttp.

│ │ │
│ │ │

Features

│ │ │
    │ │ │
  • Run WSGI applications (e.g. Django, Flask) on aiohttp.
  • │ │ │ -
  • Handle thousands of client connections, using asyncio.
  • │ │ │ +
  • Handle thousands of client connections, using asyncio.
  • │ │ │
  • Add websockets to your existing Python web app!
  • │ │ │
│ │ │
│ │ │
│ │ │

Resources

│ │ │
    │ │ │
  • Documentation is on Read the Docs.
  • │ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/installation.html │ │ │ @@ -35,15 +35,15 @@ │ │ │

    Installation

    │ │ │
    │ │ │

    Requirements

    │ │ │

    aiohttp_wsgi supports Python 3.5 and above.

    │ │ │
    │ │ │
    │ │ │

    Installing

    │ │ │ -

    It’s recommended to install aiohttp_wsgi in a virtual environment using venv.

    │ │ │ +

    It’s recommended to install aiohttp_wsgi in a virtual environment using venv.

    │ │ │

    Install aiohttp_wsgi using pip.

    │ │ │
    pip install aiohttp_wsgi
    │ │ │  
    │ │ │
    │ │ │
    │ │ │
    │ │ │

    Upgrading

    │ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/main.html │ │ │ @@ -31,15 +31,15 @@ │ │ │
    │ │ │
    │ │ │ │ │ │
    │ │ │

    Command line interface (CLI)

    │ │ │

    If you don’t need to add websockets or │ │ │ async request handlers to your app, but still want to run your WSGI app on the │ │ │ -asyncio event loop, aiohttp_wsgi provides a simple command line interface.

    │ │ │ +asyncio event loop, aiohttp_wsgi provides a simple command line interface.

    │ │ │
    │ │ │

    Example usage

    │ │ │

    Serve a WSGI application called application, located in the your_project.wsgi module:

    │ │ │
    aiohttp-wsgi-serve your_project.wsgi:application
    │ │ │  
    │ │ │
    │ │ │

    Serve a WSGI application and include a static file directory.

    │ │ ├── ./usr/share/doc/python3-aiohttp-wsgi/html/wsgi.html │ │ │ @@ -35,15 +35,15 @@ │ │ │

    Running a WSGI app

    │ │ │

    aiohttp_wsgi allows you to run WSGI applications (e.g. Django, Flask) on aiohttp. │ │ │ This allows you to add async features like websockets and long-polling to an existing Python web app.

    │ │ │
    │ │ │

    Hint

    │ │ │

    If you don’t need to add websockets or │ │ │ async request handlers to your app, but still want to run your WSGI app on the │ │ │ -asyncio event loop, aiohttp_wsgi provides a simpler command line interface.

    │ │ │ +asyncio event loop, aiohttp_wsgi provides a simpler command line interface.

    │ │ │
    │ │ │
    │ │ │

    Run a web server

    │ │ │

    In order to implement a WSGI server, first import your WSGI application and wrap it in a WSGIHandler.

    │ │ │
    from aiohttp import web
    │ │ │  from aiohttp_wsgi import WSGIHandler
    │ │ │  from your_project.wsgi import application
    │ │ │ @@ -64,29 +64,29 @@
    │ │ │  

    See the aiohttp.web documentation for information on adding │ │ │ websockets and async request handlers to your app.

    │ │ │
    │ │ │
    │ │ │

    Serving simple WSGI apps

    │ │ │

    If you don’t need to add websockets or │ │ │ async request handlers to your app, but still want to run your WSGI app on the │ │ │ -asyncio event loop, aiohttp_wsgi provides a simple serve() helper.

    │ │ │ +asyncio event loop, aiohttp_wsgi provides a simple serve() helper.

    │ │ │
    from aiohttp_wsgi import serve
    │ │ │  
    │ │ │  serve(application)
    │ │ │  
    │ │ │
    │ │ │
    │ │ │
    │ │ │

    Extra environ keys

    │ │ │

    aiohttp_wsgi adds the following additional keys to the WSGI environ:

    │ │ │
    │ │ │
    asyncio.loop
    │ │ │
    The asyncio.EventLoop running the server.
    │ │ │
    asyncio.executor
    │ │ │ -
    The Executor running the WSGI request.
    │ │ │ +
    The Executor running the WSGI request.
    │ │ │
    aiohttp.request
    │ │ │
    The raw aiohttp.web.Request that initiated the WSGI request. Use this to access additional │ │ │ request metadata.
    │ │ │
    │ │ │
    │ │ │
    │ │ │

    API reference

    │ │ │ @@ -96,20 +96,20 @@ │ │ │

    An adapter for WSGI applications, allowing them to run on aiohttp.

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
    Parameters:
      │ │ │
    • application – A WSGI application callable.
    • │ │ │ -
    • url_scheme (str) – A hint about the URL scheme used to access the application. Corresponds to environ['wsgi.url_scheme']. Default is auto-detected to 'http' or 'https'.
    • │ │ │ -
    • stderr (io.BytesIO) – A file-like value for WSGI error logging. Corresponds to environ['wsgi.errors']. Defaults to sys.stderr.
    • │ │ │ -
    • inbuf_overflow (int) – A tempfile will be created if the request body is larger than this value, which is measured in bytes. Defaults to 524288.
    • │ │ │ -
    • max_request_body_size (int) – Maximum number of bytes in request body. Defaults to 1073741824. Larger requests will receive a HTTP 413 (Request Entity Too Large) response.
    • │ │ │ -
    • executor (concurrent.futures.Executor) – An Executor instance used to run WSGI requests. Defaults to the asyncio base executor.
    • │ │ │ -
    • loop – The asyncio loop. Defaults to asyncio.get_event_loop().
    • │ │ │ +
    • url_scheme (str) – A hint about the URL scheme used to access the application. Corresponds to environ['wsgi.url_scheme']. Default is auto-detected to 'http' or 'https'.
    • │ │ │ +
    • stderr (io.BytesIO) – A file-like value for WSGI error logging. Corresponds to environ['wsgi.errors']. Defaults to sys.stderr.
    • │ │ │ +
    • inbuf_overflow (int) – A tempfile will be created if the request body is larger than this value, which is measured in bytes. Defaults to 524288.
    • │ │ │ +
    • max_request_body_size (int) – Maximum number of bytes in request body. Defaults to 1073741824. Larger requests will receive a HTTP 413 (Request Entity Too Large) response.
    • │ │ │ +
    • executor (concurrent.futures.Executor) – An Executor instance used to run WSGI requests. Defaults to the asyncio base executor.
    • │ │ │ +
    • loop – The asyncio loop. Defaults to asyncio.get_event_loop().
    • │ │ │
    │ │ │
    │ │ │
    │ │ │ │ │ │ @@ -119,28 +119,28 @@ │ │ │

    Runs the WSGI application on aiohttp, serving it until keyboard interrupt.

    │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
    Parameters:
      │ │ │
    • application – A WSGI application callable.
    • │ │ │ -
    • url_scheme (str) – A hint about the URL scheme used to access the application. Corresponds to environ['wsgi.url_scheme']. Default is auto-detected to 'http' or 'https'.
    • │ │ │ -
    • stderr (io.BytesIO) – A file-like value for WSGI error logging. Corresponds to environ['wsgi.errors']. Defaults to sys.stderr.
    • │ │ │ -
    • inbuf_overflow (int) – A tempfile will be created if the request body is larger than this value, which is measured in bytes. Defaults to 524288.
    • │ │ │ -
    • max_request_body_size (int) – Maximum number of bytes in request body. Defaults to 1073741824. Larger requests will receive a HTTP 413 (Request Entity Too Large) response.
    • │ │ │ -
    • threads (int) – Number of threads used to process application logic. Defaults to 4.
    • │ │ │ -
    • host (str) – Host interfaces to bind. Defaults to '0.0.0.0' and '::'.
    • │ │ │ -
    • port (int) – Port to bind. Defaults to 8080.
    • │ │ │ -
    • unix_socket (str) – Path to a unix socket to bind, cannot be used with host.
    • │ │ │ -
    • unix_socket_perms (int) – Filesystem permissions to apply to the unix socket. Defaults to 384.
    • │ │ │ -
    • backlog (int) – Socket connection backlog. Defaults to 1024.
    • │ │ │ -
    • static (list) – Static root mappings in the form (path, directory). Defaults to ()
    • │ │ │ -
    • static_cors (list) – Set to ‘*’ to enable CORS on static files for all origins, or a string to enable CORS for a specific origin. Defaults to None
    • │ │ │ -
    • script_name (str) – URL prefix for the WSGI application, should start with a slash, but not end with a slash. Defaults to ''.
    • │ │ │ -
    • shutdown_timeout (int) – Timeout when closing client connections on server shutdown. Defaults to 60.0.
    • │ │ │ +
    • url_scheme (str) – A hint about the URL scheme used to access the application. Corresponds to environ['wsgi.url_scheme']. Default is auto-detected to 'http' or 'https'.
    • │ │ │ +
    • stderr (io.BytesIO) – A file-like value for WSGI error logging. Corresponds to environ['wsgi.errors']. Defaults to sys.stderr.
    • │ │ │ +
    • inbuf_overflow (int) – A tempfile will be created if the request body is larger than this value, which is measured in bytes. Defaults to 524288.
    • │ │ │ +
    • max_request_body_size (int) – Maximum number of bytes in request body. Defaults to 1073741824. Larger requests will receive a HTTP 413 (Request Entity Too Large) response.
    • │ │ │ +
    • threads (int) – Number of threads used to process application logic. Defaults to 4.
    • │ │ │ +
    • host (str) – Host interfaces to bind. Defaults to '0.0.0.0' and '::'.
    • │ │ │ +
    • port (int) – Port to bind. Defaults to 8080.
    • │ │ │ +
    • unix_socket (str) – Path to a unix socket to bind, cannot be used with host.
    • │ │ │ +
    • unix_socket_perms (int) – Filesystem permissions to apply to the unix socket. Defaults to 384.
    • │ │ │ +
    • backlog (int) – Socket connection backlog. Defaults to 1024.
    • │ │ │ +
    • static (list) – Static root mappings in the form (path, directory). Defaults to ()
    • │ │ │ +
    • static_cors (list) – Set to ‘*’ to enable CORS on static files for all origins, or a string to enable CORS for a specific origin. Defaults to None
    • │ │ │ +
    • script_name (str) – URL prefix for the WSGI application, should start with a slash, but not end with a slash. Defaults to ''.
    • │ │ │ +
    • shutdown_timeout (int) – Timeout when closing client connections on server shutdown. Defaults to 60.0.
    • │ │ │
    │ │ │
    │ │ │