aiohttp 0.21.2
pip install aiohttp==0.21.2
Released:
http client/server for asyncio
Navigation
Verified details
These details have been verified by PyPIOwner
Maintainers
π Avatar for Andrew.Svetlov from gravatar.comAndrew.Svetlov π Avatar for bdraco from gravatar.com
bdraco π Avatar for Dreamsorcerer from gravatar.com
Dreamsorcerer π Avatar for fafhrd from gravatar.com
fafhrd π Avatar for webknjaz from gravatar.com
webknjaz
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: Apache Software License (Apache 2)
- Author: Andrew Svetlov
Classifiers
- Intended Audience
- License
- Programming Language
- Topic
Project description
http client/server for asyncio
π aiohttp logoπ https://travis-ci.org/KeepSafe/aiohttp.svg?branch=master
π https://coveralls.io/repos/KeepSafe/aiohttp/badge.svg?branch=master&service=github
π https://badge.fury.io/py/aiohttp.svg
Features
Supports both client and server side of HTTP protocol.
Supports both client and server Web-Sockets out-of-the-box.
Web-server has middlewares and pluggable routing.
Getting started
Client
To retrieve something from the web:
importaiohttpimportasyncioasync deffetch(session, url): with aiohttp.Timeout(10): async with session.get(url) as response: return await response.text()if __name__ == '__main__': loop = asyncio.get_event_loop() with aiohttp.ClientSession(loop=loop) as session: html = loop.run_until_complete( fetch(session, 'http://python.org')) print(html)
Server
This is simple usage example:
fromaiohttpimport webasync defhandle(request): name = request.match_info.get('name', "Anonymous") text = "Hello, " + name return web.Response(body=text.encode('utf-8'))async defwshandler(request): ws = web.WebSocketResponse() await ws.prepare(request) async for msg in ws: if msg.tp == web.MsgType.text: ws.send_str("Hello, {}".format(msg.data)) elif msg.tp == web.MsgType.binary: ws.send_bytes(msg.data) elif msg.tp == web.MsgType.close: break return wsapp = web.Application()app.router.add_route('GET', '/echo', wshandler)app.router.add_route('GET', '/{name}', handle)web.run_app(app)
Note: examples are written for Python 3.5+ and utilize PEP-492 aka async/await. If you are using Python 3.4 please replace await with yield from and async def with @coroutine e.g.:
async def coro(...): ret = await f()
shoud be replaced by:
@asyncio.coroutine def coro(...): ret = yield from f()
Documentation
Discussion list
aio-libs google group: https://groups.google.com/forum/#!forum/aio-libs
Requirements
Python >= 3.4.1
Optionally you may install cChardet library: https://pypi.python.org/pypi/cchardet/1.0.0
License
aiohttp is offered under the Apache 2 license.
Source code
The latest developer version is available in a github repository: https://github.com/KeepSafe/aiohttp
Benchmarks
If you are interested in by efficiency, AsyncIO community maintains a list of benchmarks on the official wiki: https://github.com/python/asyncio/wiki/Benchmarks
CHANGES
0.21.2 (02-16-2016)
Fix a regression: support for handling ~/path in static file routes was broken #782
0.21.1 (02-10-2016)
Make new resources classes public #767
Add router.resources() view
Fix cmd-line parameter names in doc
0.21.0 (02-04-2016)
Introduce on_shutdown signal #722
Implement raw input headers #726
Implement web.run_app utility function #734
Introduce on_cleanup signal
Deprecate Application.finish() / Application.register_on_finish() in favor of on_cleanup.
Get rid of bare aiohttp.request(), aiohttp.get() and family in docs #729
Deprecate bare aiohttp.request(), aiohttp.get() and family #729
Refactor keep-alive support #737:
Enable keepalive for HTTP 1.0 by default
Disable it for HTTP 0.9 (who cares about 0.9, BTW?)
For keepalived connections
Send Connection: keep-alive for HTTP 1.0 only
donβt send Connection header for HTTP 1.1
For non-keepalived connections
Send Connection: close for HTTP 1.1 only
donβt send Connection header for HTTP 1.0
Add version parameter to ClientSession constructor, deprecate it for session.request() and family #736
Enable access log by default #735
Deprecate app.router.register_route() (the method was not documented intentionally BTW).
Deprecate app.router.named_routes() in favor of app.router.named_resources()
route.add_static accepts pathlib.Path now #743
Add command line support: $ python -m aiohttp.web package.main #740
FAQ section was added to docs. Enjoy and fill free to contribute new topics
Add async context manager support to ClientSession
Document ClientResponseβs host, method, url properties
Use CORK/NODELAY in client API #748
ClientSession.close and Connector.close are coroutines now
Close client connection on exception in ClientResponse.release()
Allow to read multipart parts without content-length specified #750
Add support for unix domain sockets to gunicorn worker #470
Add test for default Expect handler #601
Add the first demo project
Rename loader keyword argument in web.Request.json method. #646
Add local socket binding for TCPConnector #678
Project details
Verified details
These details have been verified by PyPIOwner
Maintainers
π Avatar for Andrew.Svetlov from gravatar.comAndrew.Svetlov π Avatar for bdraco from gravatar.com
bdraco π Avatar for Dreamsorcerer from gravatar.com
Dreamsorcerer π Avatar for fafhrd from gravatar.com
fafhrd π Avatar for webknjaz from gravatar.com
webknjaz
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: Apache Software License (Apache 2)
- Author: Andrew Svetlov
Classifiers
- Intended Audience
- License
- Programming Language
- Topic
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiohttp-0.21.2.tar.gz.
File metadata
- Download URL: aiohttp-0.21.2.tar.gz
- Upload date:
- Size: 528.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
991e574309815036ca36889a8917005bb795522acd2ba9cc870e07c260c092b5
|
|
| MD5 |
b53e5d6b3e5961b7119f2f500a20904e
|
|
| BLAKE2b-256 |
a692fe3c2028709885105f41778d1828199d5d3db8cd7e6a17280f17964a0fc9
|
File details
Details for the file aiohttp-0.21.2-cp35-cp35m-win_amd64.whl.
File metadata
- Download URL: aiohttp-0.21.2-cp35-cp35m-win_amd64.whl
- Upload date:
- Size: 243.6 kB
- Tags: CPython 3.5m, Windows x86-64
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec5b3aafef11d170926a852f8b874c69688e76161684069dc2fc777b2d86c259
|
|
| MD5 |
4dfa05208a8dbe9ff21db10accd2d938
|
|
| BLAKE2b-256 |
4dab0d019f5071e9c3f13d9f208eaa8308ba4e6e4990c7fd4666be066453d003
|
File details
Details for the file aiohttp-0.21.2-cp35-cp35m-win32.whl.
File metadata
- Download URL: aiohttp-0.21.2-cp35-cp35m-win32.whl
- Upload date:
- Size: 235.2 kB
- Tags: CPython 3.5m, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c96c1e980589ccf0a8c139e737ceafca1117ef176df884bc10064d170fb0f7d9
|
|
| MD5 |
34ada0e3e96f49a4ea96fc4d7ce4b67e
|
|
| BLAKE2b-256 |
567949ffdcfd4334c538d2255841f4656d1c12e9108ad0a485e71923c4490933
|
File details
Details for the file aiohttp-0.21.2-cp34-cp34m-win_amd64.whl.
File metadata
- Download URL: aiohttp-0.21.2-cp34-cp34m-win_amd64.whl
- Upload date:
- Size: 241.0 kB
- Tags: CPython 3.4m, Windows x86-64
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3226ae7de905a1a0e0c702d8f29f6d7cff3a6f00b1cf719baf2ac70310747640
|
|
| MD5 |
f6c2c358faabbead51e3383e6c806c83
|
|
| BLAKE2b-256 |
2143114ad2451446ac6e743927812295d6b874a432bea047ebe0ae1dc44d230f
|
File details
Details for the file aiohttp-0.21.2-cp34-cp34m-win32.whl.
File metadata
- Download URL: aiohttp-0.21.2-cp34-cp34m-win32.whl
- Upload date:
- Size: 235.1 kB
- Tags: CPython 3.4m, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
975be3cd7708d4d69b18bf613d255d8d4ae21064798d9742d8472e0061731677
|
|
| MD5 |
c5fca430012d9ede67a2b89bb5d7cad8
|
|
| BLAKE2b-256 |
136702af372d70d3b5fd3edfc4a814ea2b2cb4a281886472382e4823c0642bff
|
