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.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.3.tar.gz (844.0 kB view details)

Uploaded Source

Built Distributions

aiohttp-2.3.3-cp36-cp36m-win_amd64.whl (370.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

aiohttp-2.3.3-cp36-cp36m-win32.whl (359.2 kB view details)

Uploaded CPython 3.6m Windows x86

aiohttp-2.3.3-cp36-cp36m-manylinux1_x86_64.whl (662.6 kB view details)

Uploaded CPython 3.6m

aiohttp-2.3.3-cp36-cp36m-manylinux1_i686.whl (634.9 kB view details)

Uploaded CPython 3.6m

aiohttp-2.3.3-cp36-cp36m-macosx_10_12_x86_64.whl (377.0 kB view details)

Uploaded CPython 3.6m macOS 10.12+ x86-64

aiohttp-2.3.3-cp36-cp36m-macosx_10_11_x86_64.whl (383.6 kB view details)

Uploaded CPython 3.6m macOS 10.11+ x86-64

aiohttp-2.3.3-cp36-cp36m-macosx_10_10_x86_64.whl (384.0 kB view details)

Uploaded CPython 3.6m macOS 10.10+ x86-64

aiohttp-2.3.3-cp35-cp35m-win_amd64.whl (368.5 kB view details)

Uploaded CPython 3.5m Windows x86-64

aiohttp-2.3.3-cp35-cp35m-win32.whl (357.5 kB view details)

Uploaded CPython 3.5m Windows x86

aiohttp-2.3.3-cp35-cp35m-manylinux1_x86_64.whl (648.2 kB view details)

Uploaded CPython 3.5m

aiohttp-2.3.3-cp35-cp35m-manylinux1_i686.whl (618.7 kB view details)

Uploaded CPython 3.5m

aiohttp-2.3.3-cp35-cp35m-macosx_10_12_x86_64.whl (377.3 kB view details)

Uploaded CPython 3.5m macOS 10.12+ x86-64

aiohttp-2.3.3-cp35-cp35m-macosx_10_11_x86_64.whl (381.3 kB view details)

Uploaded CPython 3.5m macOS 10.11+ x86-64

aiohttp-2.3.3-cp35-cp35m-macosx_10_10_x86_64.whl (381.4 kB view details)

Uploaded CPython 3.5m macOS 10.10+ x86-64

aiohttp-2.3.3-cp34-cp34m-win_amd64.whl (364.0 kB view details)

Uploaded CPython 3.4m Windows x86-64

aiohttp-2.3.3-cp34-cp34m-win32.whl (357.1 kB view details)

Uploaded CPython 3.4m Windows x86

aiohttp-2.3.3-cp34-cp34m-manylinux1_x86_64.whl (654.7 kB view details)

Uploaded CPython 3.4m

aiohttp-2.3.3-cp34-cp34m-manylinux1_i686.whl (628.7 kB view details)

Uploaded CPython 3.4m

aiohttp-2.3.3-cp34-cp34m-macosx_10_12_x86_64.whl (379.8 kB view details)

Uploaded CPython 3.4m macOS 10.12+ x86-64

aiohttp-2.3.3-cp34-cp34m-macosx_10_11_x86_64.whl (381.7 kB view details)

Uploaded CPython 3.4m macOS 10.11+ x86-64

aiohttp-2.3.3-cp34-cp34m-macosx_10_10_x86_64.whl (381.7 kB view details)

Uploaded CPython 3.4m macOS 10.10+ x86-64

File details

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

File metadata

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

File hashes

Hashes for aiohttp-2.3.3.tar.gz
Algorithm Hash digest
SHA256 0a2e33e90560dacb819b095b9d9611597925d75d1b93dd9490055d3826d98a82
MD5 df81ef6c225369a401d908cde1cebbd7
BLAKE2b-256 a665c161172c00f29a243ba6a745d7dcbf8b1193b005588f51b70d1be6fb666e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 dcd89fdb7f6e9d22bd90704dcc1949f1b45f7b5fde99c5e3acc58c987eeb6a73
MD5 d46556a6a3882573f2c2f71e9428b253
BLAKE2b-256 7e80c7344ebab5113fcadbf36e33a7bde8641bea5a679b4a50c80aad5d391f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 f8970430dd5f0a73d2b49985ee4e69286be175ac268802922479988e0ef12ae6
MD5 e019120de50f8a1f196871d6d3ecebd1
BLAKE2b-256 11add663101a30096556888b8aa2b9d5e08f507efbe190497734563ca9f7fc1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5152f5f85c9d16d5a3a1123b9f52a3f33314378e59cf46d528aeea8126b99fde
MD5 7e36e4c4f8d9618082d75334af94308c
BLAKE2b-256 13d6a99b55b1ce56f8628b5c3fae109b4c06b34fc8e054b8068ce11ba78711ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 efab9175aab3f8773e56add6c827116658189f10b9e11359e90644db84953ffe
MD5 48334502cbfe3225575dd3160bad7292
BLAKE2b-256 d4aa435d89a25490c7fb717f4270ad347cf31ef265b366ade7d4a96542c7ea91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ec0aabf016ca5cc24a42e6dbd66df747ec86b9dac299e6c4dd980cff9745ab0c
MD5 620b1569f1f596c9049f676699a76fcb
BLAKE2b-256 13b9d9f5dfae687446f89fc6072d77fb28e5fc16df12b783eb8b9ed3d4d5d33f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 340778f9ec2c3e6da8943a376c35f588e1d69e16d8cf3522dd9475f6d656cd0f
MD5 b3e9cc64b3413b3dc5fa1fc1c8824db6
BLAKE2b-256 4d231b379a07dd7b0e3862ebc39c12d76cf887c4d2ffb5895ed4b2838072dd1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp36-cp36m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 3dd70c3204147720f7b2deec26323f576bcd38ef6cd46a6f234e1528e685da4f
MD5 53791975301d3c4e7a9e3711e08a7217
BLAKE2b-256 899d9d0bae7b0b2724692ed933df88b68969d311301dcf42a5c22ae65cf5ed28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 39606fe24eed40dfbd8e961f37f8438a64ecbddcbc4bc8162c23d0bfd14b3a8a
MD5 e1c708135b82bf5964334130bcbf3980
BLAKE2b-256 979eb28418de33c51bb0b41ac56d43eae323c507b7b51cfec6a27e6c0f5bcfda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 e58b2172e456dae4a36fcc5736ff3b66fabd3a61d14213d5f677b5a39eb34d47
MD5 6050f416b8c8475acf94bd0b1865c2df
BLAKE2b-256 376836776d8bb943eedd24b8b7aeffa34a8846525004ad519232172690970aa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 337811af434d5e257b9fc7e7365d213d37d9534d41f5034866a6b808fe23178b
MD5 a2f9e186418cbf3028cea6866ebf088a
BLAKE2b-256 38558b628ce2938f52c0e02719c58fce074b96ad7b9fdbb5b4d64c9a2bfe0b54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1abe8c6fe5df9f18244952173b2c425cd3e2a03e0a5de6ed439f071fd3aa930b
MD5 e660de786c3c2cde06b6b68d880c7d81
BLAKE2b-256 9c0f156b3d99cfb5690e54d6a7cb126ee9bb002c80658f94ebb430e7ac9f5c80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1ca67c9e5b279db6856555112013f944ea7e3e5585b682ce2e7aacfcf18cdde0
MD5 8370a96c2413037355a58ae3efa6430e
BLAKE2b-256 296f23dedc5d292f691f422d686af4d82301b48b5bfc545b2a776a1f5ed39dff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 0595e93c17f02583764ec08fa4924f9fdf29fed44b39b6b38d350960040bf04b
MD5 a1d842c5bd3434ada3a11d676bbfa13d
BLAKE2b-256 72e5f3a962b8ffe5df06172e367bb4c051f67cb6cb17942dbd157b0be6c22e40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp35-cp35m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 6d7a8015e490ad6e7e9fcf91ae5e92f668784f2bd3f4e66f2e66fe9be4758b24
MD5 d3eb7380cd6e7ea8495df447510a7e83
BLAKE2b-256 a68c9e95ea4cf30e0d19ce82b8cede2aa155047c2191288be494fee4c5c1eae5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 7f7776146aeef02042acc22a9212e17ce7e144983090d93fe12fe1b95ef376e2
MD5 5e06dc22f063ee9a728d9ee06588c0d1
BLAKE2b-256 37c58a7f8572cd36160eb1e8a14a3ef435bce4a6a2e3a39444c9b67bac982b41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 56dec8192fd9174735ed6ed24ea8d74aa09ec3cd8d3218300f4eceaa7d65d2c8
MD5 dc7fe29246bdeecfcdf7248456da3a57
BLAKE2b-256 bc6391cfbcc53da74fd7c09d8f960e56d678bef629169e1ecc5d99cae7a4a6ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f1e1d414d07b2334642ba6547bb2059772de1e887c6c296092e4b47200a6ae1c
MD5 9577df32570661aea392d8657301f965
BLAKE2b-256 8a4fa5f93d89b0bfef083531b1d8fe5bf67c760d9b7cbce4d2f4b4cf74bc511f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f1f79658b4b46b37199d9f1d71b2d34b2163c8adb589c5540f5ad2d79eb1de2f
MD5 e91fd1185a9c0773d6e9a665e19c9d37
BLAKE2b-256 aa55b128e6118e7c38c3bb7fd7bcde65dfa03cb36af19ade7b7feaaac04694d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0d447e03d4ae1e9afdb183818b5d52353bc3bf1705204730c6c3acd348639e69
MD5 51e4514c5b577a6f7f2dc767b5a92773
BLAKE2b-256 5f9d95a4b69daf70db74c7fd5e4986a45a15eb6aed203e6999ea636b86e6906e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-macosx_10_11_x86_64.whl
Algorithm Hash digest
SHA256 36c031e8b3710df521c6f12faa639c6ee4aff4c65e51ccc5f4113d1720d5a401
MD5 313142b7c8b866592289149610d1f899
BLAKE2b-256 8cbe1dfb5198bea71f6f0246d86e3b687bc633f0bc6aba595cd2b293249d80fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohttp-2.3.3-cp34-cp34m-macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 250cbc0d82d596abcf3b01de9835e43bc587f5a8c99ef0d4f1fc1e8721c5cd53
MD5 86387aa711e1d16bcd12b380597b0ac6
BLAKE2b-256 bce0b1be5df6735626f4ba1b44c3c46e181ab9c9e86563be67c4df84e070a4f7

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