Skip to main content

Async http client/server framework (asyncio)

Project description

Async http client/server framework

aiohttp logo https://travis-ci.org/aio-libs/aiohttp.svg?branch=master https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg https://badge.fury.io/py/aiohttp.svg Latest Read The Docs Chat on Gitter

Key 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:

import aiohttp
import asyncio
import async_timeout

async def fetch(session, url):
    with async_timeout.timeout(10):
        async with session.get(url) as response:
            return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'http://python.org')
        print(html)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Server

This is simple usage example:

from aiohttp import web

async def handle(request):
    name = request.match_info.get('name', "Anonymous")
    text = "Hello, " + name
    return web.Response(text=text)

async def wshandler(request):
    ws = web.WebSocketResponse()
    await ws.prepare(request)

    async for msg in ws:
        if msg.type == web.MsgType.text:
            await ws.send_str("Hello, {}".format(msg.data))
        elif msg.type == web.MsgType.binary:
            await ws.send_bytes(msg.data)
        elif msg.type == web.MsgType.close:
            break

    return ws


app = web.Application()
app.router.add_get('/echo', wshandler)
app.router.add_get('/', handle)
app.router.add_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()

should be replaced by:

@asyncio.coroutine
def coro(...):
    ret = yield from f()

Documentation

https://aiohttp.readthedocs.io/

Communication channels

aio-libs google group: https://groups.google.com/forum/#!forum/aio-libs

Feel free to post your questions and ideas here.

gitter chat https://gitter.im/aio-libs/Lobby

We support Stack Overflow. Please add aiohttp tag to your question there.

Requirements

Optionally you may install the cChardet and aiodns libraries (highly recommended for sake of speed).

License

aiohttp is offered under the Apache 2 license.

Keepsafe

The aiohttp community would like to thank Keepsafe (https://www.getkeepsafe.com) for it’s support in the early days of the project.

Source code

The latest developer version is available in a github repository: https://github.com/aio-libs/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

Changelog

2.3.5 (2017-11-30)

  • Fix compatibility with pytest 3.3+ (#2565)

2.3.4 (2017-11-29)

  • Make request.app point to proper application instance when using nested applications (with middlewares). (#2550)

  • Change base class of ClientConnectorSSLError to ClientSSLError from ClientConnectorError. (#2563)

  • Return client connection back to free pool on error in connector.connect(). (#2567)

2.3.3 (2017-11-17)

  • Having a ; in Response content type does not assume it contains a charset anymore. (#2197)

  • Use getattr(asyncio, ‘async’) for keeping compatibility with Python 3.7. (#2476)

  • Ignore NotImplementedError raised by set_child_watcher from uvloop. (#2491)

  • Fix warning in ClientSession.__del__ by stopping to try to close it. (#2523)

  • Fixed typo’s in Third-party libraries page. And added async-v20 to the list (#2510)

2.3.2 (2017-11-01)

  • Fix passing client max size on cloning request obj. (#2385)

  • Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy connector. (#2408)

  • Drop generated _http_parser shared object from tarball distribution. (#2414)

  • Fix connector convert OSError to ClientConnectorError. (#2423)

  • Fix connection attempts for multiple dns hosts. (#2424)

  • Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the aiohttp.web.run_app function. (#2431)

  • _SessionRequestContextManager closes the session properly now. (#2441)

  • Rename from_env to trust_env in client reference. (#2451)

2.3.1 (2017-10-18)

  • Relax attribute lookup in warning about old-styled middleware (#2340)

2.3.0 (2017-10-18)

Features

  • Add SSL related params to ClientSession.request (#1128)

  • Make enable_compression work on HTTP/1.0 (#1828)

  • Deprecate registering synchronous web handlers (#1993)

  • Switch to multidict 3.0. All HTTP headers preserve casing now but compared in case-insensitive way. (#1994)

  • Improvement for normalize_path_middleware. Added possibility to handle URLs with query string. (#1995)

  • Use towncrier for CHANGES.txt build (#1997)

  • Implement trust_env=True param in ClientSession. (#1998)

  • Added variable to customize proxy headers (#2001)

  • Implement router.add_routes and router decorators. (#2004)

  • Deprecated BaseRequest.has_body in favor of BaseRequest.can_read_body Added BaseRequest.body_exists attribute that stays static for the lifetime of the request (#2005)

  • Provide BaseRequest.loop attribute (#2024)

  • Make _CoroGuard awaitable and fix ClientSession.close warning message (#2026)

  • Responses to redirects without Location header are returned instead of raising a RuntimeError (#2030)

  • Added get_client, get_server, setUpAsync and tearDownAsync methods to AioHTTPTestCase (#2032)

  • Add automatically a SafeChildWatcher to the test loop (#2058)

  • add ability to disable automatic response decompression (#2110)

  • Add support for throttling DNS request, avoiding the requests saturation when there is a miss in the DNS cache and many requests getting into the connector at the same time. (#2111)

  • Use request for getting access log information instead of message/transport pair. Add RequestBase.remote property for accessing to IP of client initiated HTTP request. (#2123)

  • json() raises a ContentTypeError exception if the content-type does not meet the requirements instead of raising a generic ClientResponseError. (#2136)

  • Make the HTTP client able to return HTTP chunks when chunked transfer encoding is used. (#2150)

  • add append_version arg into StaticResource.url and StaticResource.url_for methods for getting an url with hash (version) of the file. (#2157)

  • Fix parsing the Forwarded header. * commas and semicolons are allowed inside quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; * non-standard parameters are allowed (although this alone could be easily done in the previous parser). (#2173)

  • Don’t require ssl module to run. aiohttp does not require SSL to function. The code paths involved with SSL will only be hit upon SSL usage. Raise RuntimeError if HTTPS protocol is required but ssl module is not present. (#2221)

  • Accept coroutine fixtures in pytest plugin (#2223)

  • Call shutdown_asyncgens before event loop closing on Python 3.6. (#2227)

  • Speed up Signals when there are no receivers (#2229)

  • Raise InvalidURL instead of ValueError on fetches with invalid URL. (#2241)

  • Move DummyCookieJar into cookiejar.py (#2242)

  • run_app: Make print=None disable printing (#2260)

  • Support brotli encoding (generic-purpose lossless compression algorithm) (#2270)

  • Add server support for WebSockets Per-Message Deflate. Add client option to add deflate compress header in WebSockets request header. If calling ClientSession.ws_connect() with compress=15 the client will support deflate compress negotiation. (#2273)

  • Support verify_ssl, fingerprint, ssl_context and proxy_headers by client.ws_connect. (#2292)

  • Added aiohttp.ClientConnectorSSLError when connection fails due ssl.SSLError (#2294)

  • aiohttp.web.Application.make_handler support access_log_class (#2315)

  • Build HTTP parser extension in non-strict mode by default. (#2332)

Bugfixes

  • Clear auth information on redirecting to other domain (#1699)

  • Fix missing app.loop on startup hooks during tests (#2060)

  • Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063)

  • Fix issue with CookieJar incorrectly expiring cookies in some edge cases. (#2084)

  • Force use of IPv4 during test, this will make tests run in a Docker container (#2104)

  • Warnings about unawaited coroutines now correctly point to the user’s code. (#2106)

  • Fix issue with IndexError being raised by the StreamReader.iter_chunks() generator. (#2112)

  • Support HTTP 308 Permanent redirect in client class. (#2114)

  • Fix FileResponse sending empty chunked body on 304. (#2143)

  • Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests by default. (#2167)

  • Fix parsing the Forwarded header according to RFC 7239. (#2170)

  • Securely determining remote/scheme/host #2171 (#2171)

  • Fix header name parsing, if name is split into multiple lines (#2183)

  • Handle session close during connection, KeyError: <aiohttp.connector._TransportPlaceholder> (#2193)

  • Fixes uncaught TypeError in helpers.guess_filename if name is not a string (#2201)

  • Raise OSError on async DNS lookup if resolved domain is an alias for another one, which does not have an A or CNAME record. (#2231)

  • Fix incorrect warning in StreamReader. (#2251)

  • Properly clone state of web request (#2284)

  • Fix C HTTP parser for cases when status line is split into different TCP packets. (#2311)

  • Fix web.FileResponse overriding user supplied Content-Type (#2317)

Improved Documentation

  • Add a note about possible performance degradation in await resp.text() if charset was not provided by Content-Type HTTP header. Pass explicit encoding to solve it. (#1811)

  • Drop disqus widget from documentation pages. (#2018)

  • Add a graceful shutdown section to the client usage documentation. (#2039)

  • Document connector_owner parameter. (#2072)

  • Update the doc of web.Application (#2081)

  • Fix mistake about access log disabling. (#2085)

  • Add example usage of on_startup and on_shutdown signals by creating and disposing an aiopg connection engine. (#2131)

  • Document encoded=True for yarl.URL, it disables all yarl transformations. (#2198)

  • Document that all app’s middleware factories are run for every request. (#2225)

  • Reflect the fact that default resolver is threaded one starting from aiohttp 1.1 (#2228)

Deprecations and Removals

  • Drop deprecated Server.finish_connections (#2006)

  • Drop %O format from logging, use %b instead. Drop %e format from logging, environment variables are not supported anymore. (#2123)

  • Drop deprecated secure_proxy_ssl_header support (#2171)

  • Removed TimeService in favor of simple caching. TimeService also had a bug where it lost about 0.5 seconds per second. (#2176)

  • Drop unused response_factory from static files API (#2290)

Misc

  • #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, #2248

2.2.5 (2017-08-03)

  • Don’t raise deprecation warning on loop.run_until_complete(client.close()) (#2065)

2.2.4 (2017-08-02)

  • Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063)

2.2.3 (2017-07-04)

  • Fix _CoroGuard for python 3.4

2.2.2 (2017-07-03)

  • Allow await session.close() along with yield from session.close()

2.2.1 (2017-07-02)

  • Relax yarl requirement to 0.11+

  • Backport #2026: session.close is a coroutine (#2029)

2.2.0 (2017-06-20)

  • Add doc for add_head, update doc for add_get. (#1944)

  • Fixed consecutive calls for Response.write_eof.

  • Retain method attributes (e.g. __doc__) when registering synchronous handlers for resources. (#1953)

  • Added signal TERM handling in run_app to gracefully exit (#1932)

  • Fix websocket issues caused by frame fragmentation. (#1962)

  • Raise RuntimeError is you try to set the Content Length and enable chunked encoding at the same time (#1941)

  • Small update for unittest_run_loop

  • Use CIMultiDict for ClientRequest.skip_auto_headers (#1970)

  • Fix wrong startup sequence: test server and run_app() are not raise DeprecationWarning now (#1947)

  • Make sure cleanup signal is sent if startup signal has been sent (#1959)

  • Fixed server keep-alive handler, could cause 100% cpu utilization (#1955)

  • Connection can be destroyed before response get processed if await aiohttp.request(..) is used (#1981)

  • MultipartReader does not work with -OO (#1969)

  • Fixed ClientPayloadError with blank Content-Encoding header (#1931)

  • Support deflate encoding implemented in httpbin.org/deflate (#1918)

  • Fix BadStatusLine caused by extra CRLF after POST data (#1792)

  • Keep a reference to ClientSession in response object (#1985)

  • Deprecate undocumented app.on_loop_available signal (#1978)

2.1.0 (2017-05-26)

  • Added support for experimental async-tokio event loop written in Rust https://github.com/PyO3/tokio

  • Write to transport \r\n before closing after keepalive timeout, otherwise client can not detect socket disconnection. (#1883)

  • Only call loop.close in run_app if the user did not supply a loop. Useful for allowing clients to specify their own cleanup before closing the asyncio loop if they wish to tightly control loop behavior

  • Content disposition with semicolon in filename (#917)

  • Added request_info to response object and ClientResponseError. (#1733)

  • Added history to ClientResponseError. (#1741)

  • Allow to disable redirect url re-quoting (#1474)

  • Handle RuntimeError from transport (#1790)

  • Dropped “%O” in access logger (#1673)

  • Added args and kwargs to unittest_run_loop. Useful with other decorators, for example @patch. (#1803)

  • Added iter_chunks to response.content object. (#1805)

  • Avoid creating TimerContext when there is no timeout to allow compatibility with Tornado. (#1817) (#1180)

  • Add proxy_from_env to ClientRequest to read from environment variables. (#1791)

  • Add DummyCookieJar helper. (#1830)

  • Fix assertion errors in Python 3.4 from noop helper. (#1847)

  • Do not unquote + in match_info values (#1816)

  • Use Forwarded, X-Forwarded-Scheme and X-Forwarded-Host for better scheme and host resolution. (#1134)

  • Fix sub-application middlewares resolution order (#1853)

  • Fix applications comparison (#1866)

  • Fix static location in index when prefix is used (#1662)

  • Make test server more reliable (#1896)

  • Extend list of web exceptions, add HTTPUnprocessableEntity, HTTPFailedDependency, HTTPInsufficientStorage status codes (#1920)

2.0.7 (2017-04-12)

  • Fix pypi distribution

  • Fix exception description (#1807)

  • Handle socket error in FileResponse (#1773)

  • Cancel websocket heartbeat on close (#1793)

2.0.6 (2017-04-04)

  • Keeping blank values for request.post() and multipart.form() (#1765)

  • TypeError in data_received of ResponseHandler (#1770)

  • Fix web.run_app not to bind to default host-port pair if only socket is passed (#1786)

2.0.5 (2017-03-29)

  • Memory leak with aiohttp.request (#1756)

  • Disable cleanup closed ssl transports by default.

  • Exception in request handling if the server responds before the body is sent (#1761)

2.0.4 (2017-03-27)

  • Memory leak with aiohttp.request (#1756)

  • Encoding is always UTF-8 in POST data (#1750)

  • Do not add “Content-Disposition” header by default (#1755)

2.0.3 (2017-03-24)

  • Call https website through proxy will cause error (#1745)

  • Fix exception on multipart/form-data post if content-type is not set (#1743)

2.0.2 (2017-03-21)

  • Fixed Application.on_loop_available signal (#1739)

  • Remove debug code

2.0.1 (2017-03-21)

  • Fix allow-head to include name on route (#1737)

  • Fixed AttributeError in WebSocketResponse.can_prepare (#1736)

2.0.0 (2017-03-20)

  • Added json to ClientSession.request() method (#1726)

  • Added session’s raise_for_status parameter, automatically calls raise_for_status() on any request. (#1724)

  • response.json() raises ClientReponseError exception if response’s content type does not match (#1723)

    • Cleanup timer and loop handle on any client exception.

  • Deprecate loop parameter for Application’s constructor

2.0.0rc1 (2017-03-15)

  • Properly handle payload errors (#1710)

  • Added ClientWebSocketResponse.get_extra_info() (#1717)

  • It is not possible to combine Transfer-Encoding and chunked parameter, same for compress and Content-Encoding (#1655)

  • Connector’s limit parameter indicates total concurrent connections. New limit_per_host added, indicates total connections per endpoint. (#1601)

  • Use url’s raw_host for name resolution (#1685)

  • Change ClientResponse.url to yarl.URL instance (#1654)

  • Add max_size parameter to web.Request reading methods (#1133)

  • Web Request.post() stores data in temp files (#1469)

  • Add the allow_head=True keyword argument for add_get (#1618)

  • run_app and the Command Line Interface now support serving over Unix domain sockets for faster inter-process communication.

  • run_app now supports passing a preexisting socket object. This can be useful e.g. for socket-based activated applications, when binding of a socket is done by the parent process.

  • Implementation for Trailer headers parser is broken (#1619)

  • Fix FileResponse to not fall on bad request (range out of file size)

  • Fix FileResponse to correct stream video to Chromes

  • Deprecate public low-level api (#1657)

  • Deprecate encoding parameter for ClientSession.request() method

  • Dropped aiohttp.wsgi (#1108)

  • Dropped version from ClientSession.request() method

  • Dropped websocket version 76 support (#1160)

  • Dropped: aiohttp.protocol.HttpPrefixParser (#1590)

  • Dropped: Servers response’s .started, .start() and .can_start() method (#1591)

  • Dropped: Adding sub app via app.router.add_subapp() is deprecated use app.add_subapp() instead (#1592)

  • Dropped: Application.finish() and Application.register_on_finish() (#1602)

  • Dropped: web.Request.GET and web.Request.POST

  • Dropped: aiohttp.get(), aiohttp.options(), aiohttp.head(), aiohttp.post(), aiohttp.put(), aiohttp.patch(), aiohttp.delete(), and aiohttp.ws_connect() (#1593)

  • Dropped: aiohttp.web.WebSocketResponse.receive_msg() (#1605)

  • Dropped: ServerHttpProtocol.keep_alive_timeout attribute and keep-alive, keep_alive_on, timeout, log constructor parameters (#1606)

  • Dropped: TCPConnector’s` .resolve, .resolved_hosts, .clear_resolved_hosts() attributes and resolve constructor parameter (#1607)

  • Dropped ProxyConnector (#1609)

Project details


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

aiohttp-2.3.5.tar.gz (846.0 kB view details)

Uploaded Source

Built Distributions

aiohttp-2.3.5-cp36-cp36m-win_amd64.whl (370.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

aiohttp-2.3.5-cp36-cp36m-win32.whl (359.7 kB view details)

Uploaded CPython 3.6m Windows x86

aiohttp-2.3.5-cp36-cp36m-manylinux1_x86_64.whl (663.1 kB view details)

Uploaded CPython 3.6m

aiohttp-2.3.5-cp36-cp36m-manylinux1_i686.whl (635.3 kB view details)

Uploaded CPython 3.6m

aiohttp-2.3.5-cp36-cp36m-macosx_10_12_x86_64.whl (376.3 kB view details)

Uploaded CPython 3.6m macOS 10.12+ x86-64

aiohttp-2.3.5-cp36-cp36m-macosx_10_11_x86_64.whl (384.0 kB view details)

Uploaded CPython 3.6m macOS 10.11+ x86-64

aiohttp-2.3.5-cp36-cp36m-macosx_10_10_x86_64.whl (384.5 kB view details)

Uploaded CPython 3.6m macOS 10.10+ x86-64

aiohttp-2.3.5-cp35-cp35m-win_amd64.whl (369.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

aiohttp-2.3.5-cp35-cp35m-win32.whl (358.0 kB view details)

Uploaded CPython 3.5m Windows x86

aiohttp-2.3.5-cp35-cp35m-manylinux1_x86_64.whl (648.7 kB view details)

Uploaded CPython 3.5m

aiohttp-2.3.5-cp35-cp35m-manylinux1_i686.whl (619.2 kB view details)

Uploaded CPython 3.5m

aiohttp-2.3.5-cp35-cp35m-macosx_10_12_x86_64.whl (374.9 kB view details)

Uploaded CPython 3.5m macOS 10.12+ x86-64

aiohttp-2.3.5-cp35-cp35m-macosx_10_11_x86_64.whl (381.7 kB view details)

Uploaded CPython 3.5m macOS 10.11+ x86-64

aiohttp-2.3.5-cp35-cp35m-macosx_10_10_x86_64.whl (381.9 kB view details)

Uploaded CPython 3.5m macOS 10.10+ x86-64

aiohttp-2.3.5-cp34-cp34m-win_amd64.whl (364.5 kB view details)

Uploaded CPython 3.4m Windows x86-64

aiohttp-2.3.5-cp34-cp34m-win32.whl (357.6 kB view details)

Uploaded CPython 3.4m Windows x86

aiohttp-2.3.5-cp34-cp34m-manylinux1_x86_64.whl (655.1 kB view details)

Uploaded CPython 3.4m

aiohttp-2.3.5-cp34-cp34m-manylinux1_i686.whl (629.2 kB view details)

Uploaded CPython 3.4m

aiohttp-2.3.5-cp34-cp34m-macosx_10_12_x86_64.whl (377.1 kB view details)

Uploaded CPython 3.4m macOS 10.12+ x86-64

aiohttp-2.3.5-cp34-cp34m-macosx_10_11_x86_64.whl (382.2 kB view details)

Uploaded CPython 3.4m macOS 10.11+ x86-64

aiohttp-2.3.5-cp34-cp34m-macosx_10_10_x86_64.whl (382.2 kB view details)

Uploaded CPython 3.4m macOS 10.10+ x86-64

File details

Details for the file aiohttp-2.3.5.tar.gz.

File metadata

  • Download URL: aiohttp-2.3.5.tar.gz
  • Upload date:
  • Size: 846.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiohttp-2.3.5.tar.gz
Algorithm Hash digest
SHA256 044e4d610a5ab6bd46a04f431f000d0b5074f1aa38df5e326cff031635af6ad7
MD5 69f514740854322b8fc9c462da01a839
BLAKE2b-256 6f2c0a84048729d9703a155b360664bb1216e111c63a38178c27664c4b61e499

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4a7d2221e6d3a8bb8d510e6aa254fd8e165efecc42af5b699e1492ed9cad51e7
MD5 e0685f8ad4f8504c86946b6a17e4bc67
BLAKE2b-256 48873594f2c8da696eaf000fcc7b2256c9fb0ab3ed78d10541868ab213bd9b41

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 52086829c4d7d6aac0a98455489c42296435d9ac1b607e27a4fbb1490a012a20
MD5 a499288f40e3ebcc0117764d9077fc79
BLAKE2b-256 c4ca20191794212c2495eb07837b6154375a155375d7be24fe098d87ba04247b

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ba2b7d24425fe519f0fb6c9a11e192c47993e5a30943247b45d73f79764f1667
MD5 3ecb086880723dce4e067a8f17912a32
BLAKE2b-256 d39d92195f0ac147067ce3d88ccb6252a28215c19859b23702e6581e7d7c9315

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 315c2e0dd2ef657b9142cb00cb77ff240192ce0b2e45e1b6e8f3a1d0dae24b66
MD5 ae11dabf4af5d8c884fd512110890b62
BLAKE2b-256 e9802fe69c7d1412c2d6952b973fa8c1a8a1d549dd75637f7ae5d95dcb5f504c

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df52fc09085f4a7b0952a8f2aef3aa0b15a16dd789e0bce8703043fdbd038f9d
MD5 c28075acb50a8a5a09a3b25f492c029f
BLAKE2b-256 df7912dd547a65d4b9d66483df7331ec9d31ccf1271dbabc2f62334f1a3cdd0a

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 0543261f22b7e635abeba354c9f975f877d471615b4e42c730d6894ddf008bf2
MD5 a1020c55ecf262aafe6b41491e4e4cd7
BLAKE2b-256 43ed970f9bdc8b4c3abf2a0ef56df2b90346f7109e3be3e5138d2083b561a499

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp36-cp36m-macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp36-cp36m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 764426debf452eb0a479717d68abbc88d0a707da58761784d4b532afd518027c
MD5 c03865d8a4af775ee56d4feddc4de008
BLAKE2b-256 2c97fb39915ea14383305d3daec99b512c34443de6d5bc0e8377aa183df906f4

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 03848a3961fe7a5ba32fa9f40cfd5ecf139d6e85b59868412fed47d5835f098c
MD5 3368fa47ab14321e8d90873f682c936c
BLAKE2b-256 7cbe3faae4d89e3bdf7e2378287a21b90652c58ae8b6aba67d8667b2bd7d3604

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 d551a3ec5aee881677bf952f5e4ae75146f9bd71bbeae06c814ca00fb1cd2f41
MD5 624ba7a036555abdb870af5ceaa9cca2
BLAKE2b-256 11d64a0348dc56a1222e8705defb3e6e7ff5fef9dc2f8309841cf5aaec8819d6

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5507e614110a1a4ebed82d389ea50c2b4d98b24ec6b500503533081cf1892462
MD5 2342deefaf0ad6c03572ab143a28fcb6
BLAKE2b-256 7068c7226456a5e681ee1b308ebc4e352058597716d3cb9f25d4eb1efea190f0

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 59945743837ced78e3354e443718db2fd99ff0b7e0269f324ef9a3c942121352
MD5 c1eaa1872beaf87f982fae5438775d1e
BLAKE2b-256 e0748864287e06c501a4824c64d62a752cee1305f310da3e84e2cc800e9b1d04

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0aff15e4fa97c249290dc5fe8d784eeedf3f04a94a0125e6ca61dc14f8096a4
MD5 656976d4d62d22fbb4f440ee38c2c32e
BLAKE2b-256 83bae9a4ad341a9819e944d1fa691026961b46872217886b40996a7a76205c5c

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 689c30f5de00798ce412b8624fe9fd243c1689a50b614a5b9ffa31dba87aa7e9
MD5 74d5fb64443162e75aebc4e91efdc8df
BLAKE2b-256 795c7b6c937a72e3bae9e520ff3f79e3f284639f1dc82409aa023991f332a103

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp35-cp35m-macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp35-cp35m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 df827287fa962de0b3bbe8ea74fa3aa440dd7e1625743b247c0eaf9b9be3d647
MD5 3b9c9f404e224bb4c83244bb242ecf6d
BLAKE2b-256 c0c7b148c8efd2fe5ccbace00c787a149e0a9b34d0ca6090b43423efacec8241

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 83bc52dae14d43db1bfad1c1e1d47eab2d096fef0b5008850e30a71b736e8f40
MD5 806138c61f5b698e73c43705464d3664
BLAKE2b-256 96c537fcf958aea64735cb68d510a56288474d0e73ddcb8c40917f26cd0aef78

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 0580759823133cd4656a76239328363a8c12be26e9579ed75691b5aa46c61dc2
MD5 4e2facd59a3ad592810f2243d18e7889
BLAKE2b-256 db5c5e850709b6aee4d6aa84a3954ebb9de52b1546c155fa357c120675d66120

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cbfe5c509aaa2eff789c4fee436e3c1920a94392b60f2e80c74af762c7479b07
MD5 5b55d54f20be4de14e9d05a4ca3b7894
BLAKE2b-256 7c56c8909319762bb33bda7a1cc28e1fee839a6d09f2fae343edbd52c1ec3894

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 07446d6bb192a0fb42ab6204f34741cb269714abce64643cf649efd543e12960
MD5 f970271545903432798c0d0e2d305cd8
BLAKE2b-256 2156bc3810132a64f4c59083c8bc4b666d32bcf79a9f8357f99654e9feab2030

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 22599849201671588ad62d536591e95d4052806c7c14d7c9ab7a23b2e8bc071f
MD5 398dc0cb1bd399be941bd20f892435f7
BLAKE2b-256 234ccb7aecf693d22becdfda23219a9d33415498d2456f944ac9afaee726b2c6

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-macosx_10_11_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 588fb25786bb006166f35e75e7dcfb096278f99f458c3e09400ed42f021a2c09
MD5 cacb56d4e94d6d0378515e257ffbf7a3
BLAKE2b-256 b9739f64f5e69e1ec55c65256db9c172521cc3f9af3d910d47453952dc61c06f

See more details on using hashes here.

File details

Details for the file aiohttp-2.3.5-cp34-cp34m-macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for aiohttp-2.3.5-cp34-cp34m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 6fbafb8883fd943c253b17416cf564a82fd71f161ff700383b09879ba3cce622
MD5 0db05df57bb62dd6f33280a0de51079e
BLAKE2b-256 3945e2504d1f919bbda8f1005efdf67750731dba33fb9c7b1f24bc43711cd359

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page