[Python-modules-commits] [python-aiohttp] 01/04: Import python-aiohttp_1.1.1.orig.tar.gz

Piotr Ożarowski piotr at moszumanska.debian.org
Sun Nov 6 21:56:12 UTC 2016


This is an automated email from the git hooks/post-receive script.

piotr pushed a commit to branch master
in repository python-aiohttp.

commit 0486d44d14003e2136a27f785a26524a435d7445
Author: Piotr Ożarowski <piotr at debian.org>
Date:   Sun Nov 6 15:12:12 2016 +0100

    Import python-aiohttp_1.1.1.orig.tar.gz
---
 CHANGES.rst                                     |  172 +--
 CONTRIBUTORS.txt                                |   28 +-
 Makefile                                        |    3 +-
 PKG-INFO                                        |  191 +--
 README.rst                                      |   13 +-
 aiohttp.egg-info/PKG-INFO                       |  191 +--
 aiohttp.egg-info/SOURCES.txt                    |    5 +-
 aiohttp.egg-info/requires.txt                   |    3 +-
 aiohttp/__init__.py                             |    2 +-
 aiohttp/_websocket.c                            |  196 ++-
 aiohttp/abc.py                                  |   34 +
 aiohttp/client.py                               |   37 +-
 aiohttp/client_reqrep.py                        |  199 +--
 aiohttp/client_ws.py                            |    2 +-
 aiohttp/connector.py                            |   12 +-
 aiohttp/cookiejar.py                            |   71 +-
 aiohttp/errors.py                               |   12 +-
 aiohttp/file_sender.py                          |   33 +-
 aiohttp/helpers.py                              |  257 +++-
 aiohttp/parsers.py                              |    2 +-
 aiohttp/protocol.py                             |   19 +-
 aiohttp/pytest_plugin.py                        |    6 +-
 aiohttp/resolver.py                             |    5 +-
 aiohttp/server.py                               |    6 +-
 aiohttp/signals.py                              |   21 +-
 aiohttp/streams.py                              |  101 +-
 aiohttp/test_utils.py                           |   89 +-
 aiohttp/web.py                                  |  143 +-
 aiohttp/web_exceptions.py                       |    2 +-
 aiohttp/web_reqrep.py                           |  259 ++--
 aiohttp/web_urldispatcher.py                    |  469 +++---
 aiohttp/web_ws.py                               |    4 +-
 aiohttp/worker.py                               |    7 -
 aiohttp/wsgi.py                                 |    1 +
 docs/client.rst                                 |    6 +-
 docs/client_reference.rst                       |  176 ++-
 docs/deployment.rst                             |  312 ++++
 docs/essays.rst                                 |    8 +
 docs/glossary.rst                               |   22 +
 docs/gunicorn.rst                               |  118 --
 docs/index.rst                                  |   30 +-
 docs/logging.rst                                |    2 +-
 docs/new_router.rst                             |    2 +-
 docs/spelling_wordlist.txt                      |   18 +-
 docs/streams.rst                                |    1 +
 docs/testing.rst                                |  114 +-
 docs/tutorial.rst                               |  129 +-
 docs/web.rst                                    |  154 +-
 docs/web_reference.rst                          |  305 ++--
 docs/whats_new_1_1.rst                          |  139 ++
 examples/client_auth.py                         |    6 +-
 examples/curl.py                                |   14 +-
 examples/static_files.py                        |    1 +
 examples/web_classview1.py                      |    2 +-
 examples/web_cookies.py                         |    7 +-
 examples/web_srv.py                             |    7 +-
 examples/web_ws.py                              |    2 +-
 setup.py                                        |    9 +-
 tests/conftest.py                               |  101 --
 tests/test_client_functional.py                 |  559 ++++---
 tests/test_client_request.py                    | 1215 ++++++++-------
 tests/test_client_response.py                   |  587 ++++---
 tests/test_client_session.py                    |   33 +-
 tests/test_client_ws.py                         |  855 ++++++-----
 tests/test_client_ws_functional.py              |   80 +-
 tests/test_connector.py                         |   14 +-
 tests/test_cookiejar.py                         |   53 +-
 tests/test_flowcontrol_streams.py               |   78 +-
 tests/test_helpers.py                           |  158 +-
 tests/test_http_parser.py                       |   11 +-
 tests/test_proxy.py                             |  137 +-
 tests/test_py35/test_client.py                  |   62 +
 tests/test_py35/test_client_websocket_35.py     |   79 +-
 tests/test_py35/test_resp.py                    |   54 +-
 tests/test_py35/test_test_utils_35.py           |   12 +-
 tests/test_py35/test_web_websocket_35.py        |   44 +-
 tests/test_pytest_plugin.py                     |    4 +-
 tests/test_resolver.py                          |    9 +-
 tests/test_run_app.py                           |   16 +
 tests/test_signals.py                           |  135 +-
 tests/test_streams.py                           |   49 +-
 tests/test_urldispatch.py                       | 1872 ++++++++++++-----------
 tests/test_web_application.py                   |   22 +-
 tests/test_web_cli.py                           |    5 +-
 tests/test_web_exceptions.py                    |   13 +-
 tests/test_web_functional.py                    |  353 ++++-
 tests/test_web_middleware.py                    |   15 +-
 tests/test_web_request.py                       |  105 +-
 tests/test_web_request_handler.py               |    6 +-
 tests/test_web_response.py                      |  129 +-
 tests/test_web_sendfile_functional.py           |  250 ++-
 tests/test_web_urldispatcher.py                 |   99 +-
 tests/test_web_websocket_functional.py          |  335 +++-
 tests/test_web_websocket_functional_oldstyle.py |  362 -----
 tests/test_worker.py                            |   57 -
 tests/test_wsgi.py                              |    7 +-
 96 files changed, 7269 insertions(+), 4885 deletions(-)

diff --git a/CHANGES.rst b/CHANGES.rst
index bf37d4c..70f9f0b 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,159 +1,107 @@
 CHANGES
 =======
 
-1.0.1 (2016-09-16)
+1.1.1 (2016-11-04)
 ------------------
 
-- Restore `aiohttp.web.MsgType` alias for `aiohttp.WSMsgType` for sake
-  of backward compatibility #1178
+- Fix documentation generation #1120
 
-- Tune alabaster schema.
-
-- Use `text/html` content type for displaying index pages by static
-  file handler.
-
-- Fix `AssertionError` in static file handling #1177
-
-- Fix access log formats `%O` and `%b` for static file handling
-
-
-1.0.0 (2016-09-16)
--------------------
-
-- Change default size for client session's connection pool from
-  unlimited to 20 #977
-
-- Add IE support for cookie deletion. #994
-
-- Remove deprecated `WebSocketResponse.wait_closed` method (BACKWARD
-  INCOMPATIBLE)
-
-- Remove deprecated `force` parameter for `ClientResponse.close`
-  method (BACKWARD INCOMPATIBLE)
-
-- Avoid using of mutable CIMultiDict kw param in make_mocked_request
-  #997
-
-- Make WebSocketResponse.close a little bit faster by avoiding new
-  task creating just for timeout measurement
-
-- Add `proxy` and `proxy_auth` params to `client.get()` and family,
-  deprecate `ProxyConnector` #998
-
-- Add support for websocket send_json and receive_json, synchronize
-  server and client API for websockets #984
-
-- Implement router shourtcuts for most useful HTTP methods, use
-  `app.router.add_get()`, `app.router.add_post()` etc. instead of
-  `app.router.add_route()` #986
-
-- Support SSL connections for gunicorn worker #1003
-
-- Move obsolete examples to legacy folder
-
-- Switch to multidict 2.0 and title-cased strings #1015
-
-- `{FOO}e` logger format is case-sensitive now
-
-- Fix logger report for unix socket 8e8469b
-
-- Rename aiohttp.websocket to aiohttp._ws_impl
-
-- Rename aiohttp.MsgType tp aiohttp.WSMsgType
-
-- Introduce aiohttp.WSMessage officially
-
-- Rename Message -> WSMessage
+1.1.0 (2016-11-03)
+------------------
 
-- Remove deprecated decode param from resp.read(decode=True)
+- Drop deprecated `WSClientDisconnectedError` (BACKWARD INCOMPATIBLE)
 
-- Use 5min default client timeout #1028
+- Use `yarl.URL` in client API. The change is 99% backward compatible
+  but `ClientResponse.url` is an `yarl.URL` instance now. #1217
 
-- Relax HTTP method validation in UrlDispatcher #1037
+- Close idle keep-alive connections on shutdown #1222
 
-- Pin minimal supported asyncio version to 3.4.2+ (`loop.is_close()`
-  should be present)
+- Modify regex in AccessLogger to accept underscore and numbers #1225
 
-- Remove aiohttp.websocket module (BACKWARD IMCOMPATIBLE)
-  Please use high-level client and server approaches
+- Use `yarl.URL` in web server API. `web.Request.rel_url` and
+  `web.Request.url` are added. URLs and templates are percent-encoded
+  now. #1224
 
-- Link header for 451 status code is mandatory
+- Accept `yarl.URL` by server redirections #1278
 
-- Fix test_client fixture to allow multiple clients per test #1072
+- Return `yarl.URL` by `.make_url()` testing utility #1279
 
-- make_mocked_request now accepts dict as headers #1073
+- Properly format IPv6 addresses by `aiohttp.web.run_app` #1139
 
-- Add Python 3.5.2/3.6+ compatibility patch for async generator
-  protocol change #1082
+- Use `yarl.URL` by server API #1288
 
-- Improvement test_client can accept instance object #1083
+  * Introduce `resource.url_for()`, deprecate `resource.url()`.
 
-- Simplify ServerHttpProtocol implementation #1060
+  * Implement `StaticResource`.
 
-- Add a flag for optional showing directory index for static file
-  handling #921
+  * Inherit `SystemRoute` from `AbstractRoute`
 
-- Define `web.Application.on_startup()` signal handler #1103
+  * Drop old-style routes: `Route`, `PlainRoute`, `DynamicRoute`,
+    `StaticRoute`, `ResourceAdapter`.
 
-- Drop ChunkedParser and LinesParser #1111
+- Revert `resp.url` back to `str`, introduce `resp.url_obj` #1292
 
-- Call `Application.startup` in GunicornWebWorker #1105
+- Raise ValueError if BasicAuth login has a ":" character #1307
 
-- Fix client handling hostnames with 63 bytes when a port is given in
-  the url #1044
+- Fix bug when ClientRequest send payload file with opened as
+  open('filename', 'r+b') #1306
 
-- Implement proxy support for ClientSession.ws_connect #1025
+- Enhancement to AccessLogger (pass *extra* dict) #1303
 
-- Return named tuple from WebSocketResponse.can_prepare #1016
+- Show more verbose message on import errors #1319
 
-- Fix access_log_format in `GunicornWebWorker` #1117
+- Added save and load functionality for `CookieJar` #1219
 
-- Setup Content-Type to application/octet-stream by default #1124
+- Added option on `StaticRoute` to follow symlinks #1299
 
-- Deprecate debug parameter from app.make_handler(), use
-  `Application(debug=True)` instead #1121
+- Force encoding of `application/json` content type to utf-8 #1339
 
-- Remove fragment string in request path #846
+- Fix invalid invocations of `errors.LineTooLong` #1335
 
-- Use aiodns.DNSResolver.gethostbyname() if available #1136
+- Websockets: Stop `async for` iteration when connection is closed #1144
 
-- Fix static file sending on uvloop when sendfile is available #1093
+- Ensure TestClient HTTP methods return a context manager #1318
 
-- Make prettier urls if query is empty dict #1143
+- Raise `ClientDisconnectedError` to `FlowControlStreamReader` read function
+  if `ClientSession` object is closed by client when reading data. #1323
 
-- Fix redirects for HEAD requests #1147
+- Document deployment without `Gunicorn` #1120
 
-- Default value for `StreamReader.read_nowait` is -1 from now #1150
+- Add deprecation warning for MD5 and SHA1 digests when used for fingerprint
+  of site certs in TCPConnector. #1186
 
-- `aiohttp.StreamReader` is not inherited from `asyncio.StreamReader` from now
-  (BACKWARD INCOMPATIBLE) #1150
+- Implement sub-applications #1301
 
-- Streams documentation added #1150
+- Don't inherit `web.Request` from `dict` but implement
+  `MutableMapping` protocol.
 
-- Add `multipart` coroutine method for web Request object #1067
+- Implement frozen signals
 
-- Publish ClientSession.loop property #1149
+- Don't inherit `web.Application` from `dict` but implement
+  `MutableMapping` protocol.
 
-- Fix static file with spaces #1140
+- Support freezing for web applications
 
-- Fix piling up asyncio loop by cookie expiration callbacks #1061
+- Accept access_log parameter in `web.run_app`, use `None` to disable logging
 
-- Drop `Timeout` class for sake of `async_timeout` external library.
-  `aiohttp.Timeout` is an alias for `async_timeout.timeout`
+- Don't flap `tcp_cork` and `tcp_nodelay` in regular request handling.
+  `tcp_nodelay` is still enabled by default.
 
-- `use_dns_cache` parameter of `aiohttp.TCPConnector` is `True` by
-  default (BACKWARD INCOMPATIBLE) #1152
+- Improve performance of web server by removing premature computing of
+  Content-Type if the value was set by `web.Response` constructor.
 
-- `aiohttp.TCPConnector` uses asynchronous DNS resolver if available by
-  default (BACKWARD INCOMPATIBLE) #1152
+  While the patch boosts speed of trivial `web.Response(text='OK',
+  content_type='text/plain)` very well please don't expect significant
+  boost of your application -- a couple DB requests and business logic
+  is still the main bottleneck.
 
-- Conform to RFC3986 - do not include url fragments in client requests #1174
+- Boost performance by adding a custom time service #1350
 
-- Drop `ClientSession.cookies` (BACKWARD INCOMPATIBLE) #1173
+- Extend `ClientResponse` with `content_type` and `charset`
+  properties like in `web.Request`. #1349
 
-- Refactor `AbstractCookieJar` public API (BACKWARD INCOMPATIBLE) #1173
+- Disable aiodns by default #559
 
-- Fix clashing cookies with have the same name but belong to different
-  domains (BACKWARD INCOMPATIBLE) #1125
+- Don't flap `tcp_cork` in client code, use TCP_NODELAY mode by default.
 
-- Support binary Content-Transfer-Encoding #1169
+- Implement `web.Request.clone()` #1361
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index ab7a0f7..4e92783 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -3,10 +3,9 @@ Contributors
 
 A. Jesse Jiryu Davis
 Alejandro Gómez
+Aleksandr Danshyn
 Aleksey Kutepov
-Alex Khomchenko
-Alex Lisovoy
-Alex Key
+Alex Hayes
 Alexander Bayandin
 Alexander Karpinsky
 Alexander Koshevoy
@@ -14,7 +13,11 @@ Alexander Malev
 Alexander Shorin
 Alexander Travov
 Alexandru Mihai
+Alexey Firsov
 Alexey Popravka
+Alex Key
+Alex Khomchenko
+Alex Lisovoy
 Amy Boyle
 Andrei Ursulenko
 Andrej Antonov
@@ -24,10 +27,10 @@ Anton Kasyanov
 Arthur Darcet
 Ben Bader
 Benedikt Reinartz
+Boris Feld
 Brett Cannon
 Brian C. Lane
 Brian Muller
-Boris Feld
 Carl George
 Chien-Wei Huang
 Chih-Yuan Chen
@@ -38,8 +41,10 @@ Daniel García
 Daniel Nelson
 Danny Song
 David Michael Brown
+Denis Matiychuk
 Dima Veselov
 Dimitar Dimitrov
+Dmitry Shamov
 Dmitry Trofimov
 Dmytro Kuznetsov
 Dustin J. Mitchell
@@ -49,16 +54,19 @@ Erich Healy
 Eugene Chernyshov
 Eugene Naydenov
 Frederik Gladhorn
+Frederik Peter Aalund
 Gabriel Tremblay
 Gennady Andreyev
 Georges Dubus
 Greg Holt
 Gregory Haynes
+Günther Jena
 Hugo Herter
 Igor Pavlov
 Ingmar Steen
 Jacob Champion
 Jaesung Lee
+Jake Davis
 Jakub Wilk
 Jashandeep Sohi
 Jeroen van der Heijden
@@ -70,6 +78,7 @@ Julien Duponchelle
 Junjie Tao
 Justas Trimailovas
 Kay Zheng
+Kimmo Parviainen-Jalanko
 Kirill Klenov
 Kirill Malovitsa
 Kyrylo Perevozchikov
@@ -95,6 +104,7 @@ Nicolas Braem
 Nikolay Novik
 Olaf Conradi
 Pankaj Pandey
+Pau Freixes
 Paul Colomiets
 Philipp A.
 Raúl Cumplido
@@ -113,25 +123,27 @@ Stanislav Prokop
 Stephen Granade
 Steven Seguin
 Sviatoslav Bulbakha
+Taha Jahangir
 Taras Voinarovskyi
-Tolga Tezel
 Thomas Grainger
+Tolga Tezel
 Vaibhav Sagar
 Vamsi Krishna Avula
 Vasyl Baran
+Vikas Kawadia
 Vitalik Verhovodov
 Vitaly Haritonsky
 Vitaly Magerya
+Vladimir Kozlovski
 Vladimir Rutsky
 Vladimir Shulyak
 Vladimir Zakharov
-W. Trevor King
 Willem de Groot
+Wilson Ong
+W. Trevor King
 Yannick Koechlin
 Young-Ho Cha
 Yury Selivanov
 Yusuke Tsutsumi
 Марк Коренберг
 Семён Марьясин
-Pau Freixes
-Alexey Firsov
diff --git a/Makefile b/Makefile
index 335d150..21eb37e 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,6 @@
 isort:
 	isort -rc aiohttp
 	isort -rc tests
-	isort -rc benchmark
 	isort -rc examples
 	isort -rc demos
 
@@ -23,7 +22,7 @@ flake: .flake
 	    flake8 examples tests demos benchmark && \
             python setup.py check -rms; \
 	fi
-	@if ! isort -c -rc aiohttp tests benchmark examples; then \
+	@if ! isort -c -rc aiohttp tests examples; then \
             echo "Import sort errors, run 'make isort' to fix them!!!"; \
             isort --diff -rc aiohttp tests benchmark examples; \
             false; \
diff --git a/PKG-INFO b/PKG-INFO
index dd7efcd..a2e71f9 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: aiohttp
-Version: 1.0.1
+Version: 1.1.1
 Summary: http client/server for asyncio
 Home-page: https://github.com/KeepSafe/aiohttp/
 Author: Andrew Svetlov
@@ -45,14 +45,14 @@ Description: http client/server for asyncio
           import aiohttp
           import asyncio
         
-          async def fetch(session, url, *, loop):
-              with aiohttp.Timeout(10, loop=loop):
+          async def fetch(session, url):
+              with aiohttp.Timeout(10, loop=session.loop):
                   async with session.get(url) as response:
                       return await response.text()
         
           async def main(loop):
               async with aiohttp.ClientSession(loop=loop) as session:
-                  html = await fetch(session, 'http://python.org', loop=loop)
+                  html = await fetch(session, 'http://python.org')
                   print(html)
         
           if __name__ == '__main__':
@@ -72,7 +72,7 @@ Description: http client/server for asyncio
             async def handle(request):
                 name = request.match_info.get('name', "Anonymous")
                 text = "Hello, " + name
-                return web.Response(body=text.encode('utf-8'))
+                return web.Response(text=text)
         
             async def wshandler(request):
                 ws = web.WebSocketResponse()
@@ -91,6 +91,7 @@ Description: http client/server for asyncio
         
             app = web.Application()
             app.router.add_get('/echo', wshandler)
+            app.router.add_get('/', handle)
             app.router.add_get('/{name}', handle)
         
             web.run_app(app)
@@ -123,8 +124,10 @@ Description: http client/server for asyncio
         ------------
         
         - Python >= 3.4.2
+        - async-timeout_
         - chardet_
         - multidict_
+        - yarl_
         
         Optionally you may install the cChardet_ and aiodns_ libraries (highly
         recommended for sake of speed).
@@ -132,6 +135,8 @@ Description: http client/server for asyncio
         .. _chardet: https://pypi.python.org/pypi/chardet
         .. _aiodns: https://pypi.python.org/pypi/aiodns
         .. _multidict: https://pypi.python.org/pypi/multidict
+        .. _yarl: https://pypi.python.org/pypi/yarl
+        .. _async-timeout: https://pypi.python.org/pypi/async_timeout
         .. _cChardet: https://pypi.python.org/pypi/cchardet
         
         License
@@ -156,162 +161,110 @@ Description: http client/server for asyncio
         CHANGES
         =======
         
-        1.0.1 (2016-09-16)
+        1.1.1 (2016-11-04)
         ------------------
         
-        - Restore `aiohttp.web.MsgType` alias for `aiohttp.WSMsgType` for sake
-          of backward compatibility #1178
+        - Fix documentation generation #1120
         
-        - Tune alabaster schema.
-        
-        - Use `text/html` content type for displaying index pages by static
-          file handler.
-        
-        - Fix `AssertionError` in static file handling #1177
-        
-        - Fix access log formats `%O` and `%b` for static file handling
-        
-        
-        1.0.0 (2016-09-16)
-        -------------------
-        
-        - Change default size for client session's connection pool from
-          unlimited to 20 #977
-        
-        - Add IE support for cookie deletion. #994
-        
-        - Remove deprecated `WebSocketResponse.wait_closed` method (BACKWARD
-          INCOMPATIBLE)
-        
-        - Remove deprecated `force` parameter for `ClientResponse.close`
-          method (BACKWARD INCOMPATIBLE)
-        
-        - Avoid using of mutable CIMultiDict kw param in make_mocked_request
-          #997
-        
-        - Make WebSocketResponse.close a little bit faster by avoiding new
-          task creating just for timeout measurement
-        
-        - Add `proxy` and `proxy_auth` params to `client.get()` and family,
-          deprecate `ProxyConnector` #998
-        
-        - Add support for websocket send_json and receive_json, synchronize
-          server and client API for websockets #984
-        
-        - Implement router shourtcuts for most useful HTTP methods, use
-          `app.router.add_get()`, `app.router.add_post()` etc. instead of
-          `app.router.add_route()` #986
-        
-        - Support SSL connections for gunicorn worker #1003
-        
-        - Move obsolete examples to legacy folder
-        
-        - Switch to multidict 2.0 and title-cased strings #1015
-        
-        - `{FOO}e` logger format is case-sensitive now
-        
-        - Fix logger report for unix socket 8e8469b
-        
-        - Rename aiohttp.websocket to aiohttp._ws_impl
-        
-        - Rename aiohttp.MsgType tp aiohttp.WSMsgType
-        
-        - Introduce aiohttp.WSMessage officially
-        
-        - Rename Message -> WSMessage
+        1.1.0 (2016-11-03)
+        ------------------
         
-        - Remove deprecated decode param from resp.read(decode=True)
+        - Drop deprecated `WSClientDisconnectedError` (BACKWARD INCOMPATIBLE)
         
-        - Use 5min default client timeout #1028
+        - Use `yarl.URL` in client API. The change is 99% backward compatible
+          but `ClientResponse.url` is an `yarl.URL` instance now. #1217
         
-        - Relax HTTP method validation in UrlDispatcher #1037
+        - Close idle keep-alive connections on shutdown #1222
         
-        - Pin minimal supported asyncio version to 3.4.2+ (`loop.is_close()`
-          should be present)
+        - Modify regex in AccessLogger to accept underscore and numbers #1225
         
-        - Remove aiohttp.websocket module (BACKWARD IMCOMPATIBLE)
-          Please use high-level client and server approaches
+        - Use `yarl.URL` in web server API. `web.Request.rel_url` and
+          `web.Request.url` are added. URLs and templates are percent-encoded
+          now. #1224
         
-        - Link header for 451 status code is mandatory
+        - Accept `yarl.URL` by server redirections #1278
         
-        - Fix test_client fixture to allow multiple clients per test #1072
+        - Return `yarl.URL` by `.make_url()` testing utility #1279
         
-        - make_mocked_request now accepts dict as headers #1073
+        - Properly format IPv6 addresses by `aiohttp.web.run_app` #1139
         
-        - Add Python 3.5.2/3.6+ compatibility patch for async generator
-          protocol change #1082
+        - Use `yarl.URL` by server API #1288
         
-        - Improvement test_client can accept instance object #1083
+          * Introduce `resource.url_for()`, deprecate `resource.url()`.
         
-        - Simplify ServerHttpProtocol implementation #1060
+          * Implement `StaticResource`.
         
-        - Add a flag for optional showing directory index for static file
-          handling #921
+          * Inherit `SystemRoute` from `AbstractRoute`
         
-        - Define `web.Application.on_startup()` signal handler #1103
+          * Drop old-style routes: `Route`, `PlainRoute`, `DynamicRoute`,
+            `StaticRoute`, `ResourceAdapter`.
         
-        - Drop ChunkedParser and LinesParser #1111
+        - Revert `resp.url` back to `str`, introduce `resp.url_obj` #1292
         
-        - Call `Application.startup` in GunicornWebWorker #1105
+        - Raise ValueError if BasicAuth login has a ":" character #1307
         
-        - Fix client handling hostnames with 63 bytes when a port is given in
-          the url #1044
+        - Fix bug when ClientRequest send payload file with opened as
+          open('filename', 'r+b') #1306
         
-        - Implement proxy support for ClientSession.ws_connect #1025
+        - Enhancement to AccessLogger (pass *extra* dict) #1303
         
-        - Return named tuple from WebSocketResponse.can_prepare #1016
+        - Show more verbose message on import errors #1319
         
-        - Fix access_log_format in `GunicornWebWorker` #1117
+        - Added save and load functionality for `CookieJar` #1219
         
-        - Setup Content-Type to application/octet-stream by default #1124
+        - Added option on `StaticRoute` to follow symlinks #1299
         
-        - Deprecate debug parameter from app.make_handler(), use
-          `Application(debug=True)` instead #1121
+        - Force encoding of `application/json` content type to utf-8 #1339
         
-        - Remove fragment string in request path #846
+        - Fix invalid invocations of `errors.LineTooLong` #1335
         
-        - Use aiodns.DNSResolver.gethostbyname() if available #1136
+        - Websockets: Stop `async for` iteration when connection is closed #1144
         
-        - Fix static file sending on uvloop when sendfile is available #1093
+        - Ensure TestClient HTTP methods return a context manager #1318
         
-        - Make prettier urls if query is empty dict #1143
+        - Raise `ClientDisconnectedError` to `FlowControlStreamReader` read function
+          if `ClientSession` object is closed by client when reading data. #1323
         
-        - Fix redirects for HEAD requests #1147
+        - Document deployment without `Gunicorn` #1120
         
-        - Default value for `StreamReader.read_nowait` is -1 from now #1150
+        - Add deprecation warning for MD5 and SHA1 digests when used for fingerprint
+          of site certs in TCPConnector. #1186
         
-        - `aiohttp.StreamReader` is not inherited from `asyncio.StreamReader` from now
-          (BACKWARD INCOMPATIBLE) #1150
+        - Implement sub-applications #1301
         
-        - Streams documentation added #1150
+        - Don't inherit `web.Request` from `dict` but implement
+          `MutableMapping` protocol.
         
-        - Add `multipart` coroutine method for web Request object #1067
+        - Implement frozen signals
         
-        - Publish ClientSession.loop property #1149
+        - Don't inherit `web.Application` from `dict` but implement
+          `MutableMapping` protocol.
         
-        - Fix static file with spaces #1140
+        - Support freezing for web applications
         
-        - Fix piling up asyncio loop by cookie expiration callbacks #1061
+        - Accept access_log parameter in `web.run_app`, use `None` to disable logging
         
-        - Drop `Timeout` class for sake of `async_timeout` external library.
-          `aiohttp.Timeout` is an alias for `async_timeout.timeout`
+        - Don't flap `tcp_cork` and `tcp_nodelay` in regular request handling.
+          `tcp_nodelay` is still enabled by default.
         
-        - `use_dns_cache` parameter of `aiohttp.TCPConnector` is `True` by
-          default (BACKWARD INCOMPATIBLE) #1152
+        - Improve performance of web server by removing premature computing of
+          Content-Type if the value was set by `web.Response` constructor.
         
-        - `aiohttp.TCPConnector` uses asynchronous DNS resolver if available by
-          default (BACKWARD INCOMPATIBLE) #1152
+          While the patch boosts speed of trivial `web.Response(text='OK',
+          content_type='text/plain)` very well please don't expect significant
+          boost of your application -- a couple DB requests and business logic
+          is still the main bottleneck.
         
-        - Conform to RFC3986 - do not include url fragments in client requests #1174
+        - Boost performance by adding a custom time service #1350
         
-        - Drop `ClientSession.cookies` (BACKWARD INCOMPATIBLE) #1173
+        - Extend `ClientResponse` with `content_type` and `charset`
+          properties like in `web.Request`. #1349
         
-        - Refactor `AbstractCookieJar` public API (BACKWARD INCOMPATIBLE) #1173
+        - Disable aiodns by default #559
         
-        - Fix clashing cookies with have the same name but belong to different
-          domains (BACKWARD INCOMPATIBLE) #1125
+        - Don't flap `tcp_cork` in client code, use TCP_NODELAY mode by default.
         
-        - Support binary Content-Transfer-Encoding #1169
+        - Implement `web.Request.clone()` #1361
 Platform: UNKNOWN
 Classifier: License :: OSI Approved :: Apache Software License
 Classifier: Intended Audience :: Developers
@@ -319,4 +272,8 @@ Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Operating System :: POSIX
+Classifier: Operating System :: MacOS :: MacOS X
+Classifier: Operating System :: Microsoft :: Windows
 Classifier: Topic :: Internet :: WWW/HTTP
diff --git a/README.rst b/README.rst
index bece31e..86c28b1 100644
--- a/README.rst
+++ b/README.rst
@@ -37,14 +37,14 @@ To retrieve something from the web:
   import aiohttp
   import asyncio
 
-  async def fetch(session, url, *, loop):
-      with aiohttp.Timeout(10, loop=loop):
+  async def fetch(session, url):
+      with aiohttp.Timeout(10, loop=session.loop):
           async with session.get(url) as response:
               return await response.text()
 
   async def main(loop):
       async with aiohttp.ClientSession(loop=loop) as session:
-          html = await fetch(session, 'http://python.org', loop=loop)
+          html = await fetch(session, 'http://python.org')
           print(html)
 
   if __name__ == '__main__':
@@ -64,7 +64,7 @@ This is simple usage example:
     async def handle(request):
         name = request.match_info.get('name', "Anonymous")
         text = "Hello, " + name
-        return web.Response(body=text.encode('utf-8'))
+        return web.Response(text=text)
 
     async def wshandler(request):
         ws = web.WebSocketResponse()
@@ -83,6 +83,7 @@ This is simple usage example:
 
     app = web.Application()
     app.router.add_get('/echo', wshandler)
+    app.router.add_get('/', handle)
     app.router.add_get('/{name}', handle)
 
     web.run_app(app)
@@ -115,8 +116,10 @@ Requirements
 ------------
 
 - Python >= 3.4.2
+- async-timeout_
 - chardet_
 - multidict_
+- yarl_
 
 Optionally you may install the cChardet_ and aiodns_ libraries (highly
 recommended for sake of speed).
@@ -124,6 +127,8 @@ recommended for sake of speed).
 .. _chardet: https://pypi.python.org/pypi/chardet
 .. _aiodns: https://pypi.python.org/pypi/aiodns
 .. _multidict: https://pypi.python.org/pypi/multidict
+.. _yarl: https://pypi.python.org/pypi/yarl
+.. _async-timeout: https://pypi.python.org/pypi/async_timeout
 .. _cChardet: https://pypi.python.org/pypi/cchardet
 
 License
diff --git a/aiohttp.egg-info/PKG-INFO b/aiohttp.egg-info/PKG-INFO
index dd7efcd..a2e71f9 100644
--- a/aiohttp.egg-info/PKG-INFO
+++ b/aiohttp.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: aiohttp
-Version: 1.0.1
+Version: 1.1.1
 Summary: http client/server for asyncio
 Home-page: https://github.com/KeepSafe/aiohttp/
 Author: Andrew Svetlov
@@ -45,14 +45,14 @@ Description: http client/server for asyncio
           import aiohttp
           import asyncio
         
-          async def fetch(session, url, *, loop):
-              with aiohttp.Timeout(10, loop=loop):
+          async def fetch(session, url):
+              with aiohttp.Timeout(10, loop=session.loop):
                   async with session.get(url) as response:
                       return await response.text()
         
           async def main(loop):
               async with aiohttp.ClientSession(loop=loop) as session:
-                  html = await fetch(session, 'http://python.org', loop=loop)
+                  html = await fetch(session, 'http://python.org')
                   print(html)
         
           if __name__ == '__main__':
@@ -72,7 +72,7 @@ Description: http client/server for asyncio
             async def handle(request):
                 name = request.match_info.get('name', "Anonymous")
                 text = "Hello, " + name
-                return web.Response(body=text.encode('utf-8'))
+                return web.Response(text=text)
         
             async def wshandler(request):
                 ws = web.WebSocketResponse()
@@ -91,6 +91,7 @@ Description: http client/server for asyncio
         
             app = web.Application()
             app.router.add_get('/echo', wshandler)
+            app.router.add_get('/', handle)
             app.router.add_get('/{name}', handle)
         
             web.run_app(app)
@@ -123,8 +124,10 @@ Description: http client/server for asyncio
         ------------
         
         - Python >= 3.4.2
+        - async-timeout_
         - chardet_
         - multidict_
+        - yarl_
         
         Optionally you may install the cChardet_ and aiodns_ libraries (highly
         recommended for sake of speed).
@@ -132,6 +135,8 @@ Description: http client/server for asyncio
         .. _chardet: https://pypi.python.org/pypi/chardet
         .. _aiodns: https://pypi.python.org/pypi/aiodns
         .. _multidict: https://pypi.python.org/pypi/multidict
+        .. _yarl: https://pypi.python.org/pypi/yarl
+        .. _async-timeout: https://pypi.python.org/pypi/async_timeout
         .. _cChardet: https://pypi.python.org/pypi/cchardet
         
         License
@@ -156,162 +161,110 @@ Description: http client/server for asyncio
         CHANGES
         =======
         
-        1.0.1 (2016-09-16)
+        1.1.1 (2016-11-04)
         ------------------
         
-        - Restore `aiohttp.web.MsgType` alias for `aiohttp.WSMsgType` for sake
-          of backward compatibility #1178
+        - Fix documentation generation #1120
         
-        - Tune alabaster schema.
-        
-        - Use `text/html` content type for displaying index pages by static
-          file handler.
-        
-        - Fix `AssertionError` in static file handling #1177
-        
-        - Fix access log formats `%O` and `%b` for static file handling
-        
-        
-        1.0.0 (2016-09-16)
-        -------------------
-        
-        - Change default size for client session's connection pool from
-          unlimited to 20 #977
-        
-        - Add IE support for cookie deletion. #994
-        
-        - Remove deprecated `WebSocketResponse.wait_closed` method (BACKWARD
-          INCOMPATIBLE)
-        
-        - Remove deprecated `force` parameter for `ClientResponse.close`
-          method (BACKWARD INCOMPATIBLE)
-        
-        - Avoid using of mutable CIMultiDict kw param in make_mocked_request
-          #997
-        
-        - Make WebSocketResponse.close a little bit faster by avoiding new
-          task creating just for timeout measurement
-        
-        - Add `proxy` and `proxy_auth` params to `client.get()` and family,
-          deprecate `ProxyConnector` #998
-        
-        - Add support for websocket send_json and receive_json, synchronize
-          server and client API for websockets #984
-        
-        - Implement router shourtcuts for most useful HTTP methods, use
-          `app.router.add_get()`, `app.router.add_post()` etc. instead of
-          `app.router.add_route()` #986
-        
-        - Support SSL connections for gunicorn worker #1003
-        
-        - Move obsolete examples to legacy folder
-        
-        - Switch to multidict 2.0 and title-cased strings #1015
-        
-        - `{FOO}e` logger format is case-sensitive now
-        
-        - Fix logger report for unix socket 8e8469b
-        
-        - Rename aiohttp.websocket to aiohttp._ws_impl
-        
-        - Rename aiohttp.MsgType tp aiohttp.WSMsgType
-        
-        - Introduce aiohttp.WSMessage officially
-        
-        - Rename Message -> WSMessage
+        1.1.0 (2016-11-03)
+        ------------------
         
-        - Remove deprecated decode param from resp.read(decode=True)
+        - Drop deprecated `WSClientDisconnectedError` (BACKWARD INCOMPATIBLE)
         
-        - Use 5min default client timeout #1028
+        - Use `yarl.URL` in client API. The change is 99% backward compatible
+          but `ClientResponse.url` is an `yarl.URL` instance now. #1217
         
-        - Relax HTTP method validation in UrlDispatcher #1037
+        - Close idle keep-alive connections on shutdown #1222
         
-        - Pin minimal supported asyncio version to 3.4.2+ (`loop.is_close()`
-          should be present)
+        - Modify regex in AccessLogger to accept underscore and numbers #1225
         
-        - Remove aiohttp.websocket module (BACKWARD IMCOMPATIBLE)
-          Please use high-level client and server approaches
+        - Use `yarl.URL` in web server API. `web.Request.rel_url` and
+          `web.Request.url` are added. URLs and templates are percent-encoded
+          now. #1224
         
-        - Link header for 451 status code is mandatory
+        - Accept `yarl.URL` by server redirections #1278
         
-        - Fix test_client fixture to allow multiple clients per test #1072
+        - Return `yarl.URL` by `.make_url()` testing utility #1279
         
-        - make_mocked_request now accepts dict as headers #1073
+        - Properly format IPv6 addresses by `aiohttp.web.run_app` #1139
         
-        - Add Python 3.5.2/3.6+ compatibility patch for async generator
-          protocol change #1082
+        - Use `yarl.URL` by server API #1288
         
-        - Improvement test_client can accept instance object #1083
... 17684 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-aiohttp.git



More information about the Python-modules-commits mailing list