[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