Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Changes

2.3.1 (2017-10-18)

Bugfixes

  • 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)

Release files for aiohttp 2.3.1a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for aiohttp 2.3.1a1
File
aiohttp-2.3.1a1-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
aiohttp-2.3.1a1-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
aiohttp-2.3.1a1-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-2.3.1a1-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
aiohttp-2.3.1a1-cp36-cp36m-macosx_10_11_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.11+ x86-64 Details
aiohttp-2.3.1a1-cp36-cp36m-macosx_10_10_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.10+ x86-64 Details
aiohttp-2.3.1a1-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
aiohttp-2.3.1a1-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
aiohttp-2.3.1a1-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-2.3.1a1-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details
aiohttp-2.3.1a1-cp35-cp35m-macosx_10_12_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.12+ x86-64 Details
aiohttp-2.3.1a1-cp35-cp35m-macosx_10_11_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.11+ x86-64 Details
aiohttp-2.3.1a1-cp35-cp35m-macosx_10_10_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.10+ x86-64 Details
aiohttp-2.3.1a1-cp34-cp34m-win_amd64.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-64 Details
aiohttp-2.3.1a1-cp34-cp34m-win32.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-32 Details
aiohttp-2.3.1a1-cp34-cp34m-manylinux1_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-2.3.1a1-cp34-cp34m-manylinux1_i686.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32 Details
aiohttp-2.3.1a1-cp34-cp34m-macosx_10_12_x86_64.whl CPython 3.4 CPython 3.4 pymalloc macOS 10.12+ x86-64 Details
aiohttp-2.3.1a1-cp34-cp34m-macosx_10_11_x86_64.whl CPython 3.4 CPython 3.4 pymalloc macOS 10.11+ x86-64 Details
aiohttp-2.3.1a1-cp34-cp34m-macosx_10_10_x86_64.whl CPython 3.4 CPython 3.4 pymalloc macOS 10.10+ x86-64 Details

Total release size: 9.1 MB

Release files / aiohttp-2.3.1a1-cp36-cp36m-win_amd64.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-win_amd64.whl
Size 369.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
58c92be8563d34e80fe723aeae01367290ad4b1394caf6a5484b157e8b35923a
BLAKE2b-256 checksum
How to use checksums
e0edbfc0728a0fe82d5fd312a499d54be6e0f7ae407cd63e584a66fcabdfe2ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp36-cp36m-win32.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-win32.whl
Size 358.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f98534d67d7dadc9a406970c4ead08e0405ceca256a99dbe44c3dc878d7b166d
BLAKE2b-256 checksum
How to use checksums
618979682bd114ebb0895f3201687025aa3b3de72bf2e8cb15569e2597034808
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp36-cp36m-manylinux1_x86_64.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-manylinux1_x86_64.whl
Size 661.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
63a46e9fcc1ab886f49e68baa26eea9cccfd99b00d270deb29694c8cb910bc69
BLAKE2b-256 checksum
How to use checksums
d7c1928755fae3ddf1749fb3e0978ce61addf17c9be067c9bc5cb103a953f24d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp36-cp36m-manylinux1_i686.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-manylinux1_i686.whl
Size 633.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
9d03d5a514caddf5b0c766d42ee3d972c1d0907850b70c17c2b91ab647ee5cf5
BLAKE2b-256 checksum
How to use checksums
d224dda181f9065e0b9c7844fced245337ad6a1661ec0c36a73a96a161c80141
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp36-cp36m-macosx_10_11_x86_64.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-macosx_10_11_x86_64.whl
Size 382.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.11+ x86-64
SHA-256 checksum
How to use checksums
d5e7983efc9f39b15b34b0e9a630786021a3d2d8975d93282dbbd7ed09d151ca
BLAKE2b-256 checksum
How to use checksums
77729a645cec0001fc354ee9b9f0c5f407c025544eb007115b883c55d226a2f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp36-cp36m-macosx_10_10_x86_64.whl

Download URL aiohttp-2.3.1a1-cp36-cp36m-macosx_10_10_x86_64.whl
Size 382.8 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.10+ x86-64
SHA-256 checksum
How to use checksums
f3733e4ce0652bbd6345c033eb3069691d21e4234f58c2deb2a0847ac404bd38
BLAKE2b-256 checksum
How to use checksums
b09cb4725f337cdc93105a06110f20c81f7515fd84e3ad16f63bae1f7ed1d168
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-win_amd64.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-win_amd64.whl
Size 367.4 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
6e719097b53cbd49940a8844902be9ebabadb10c8bb005e5f275b3fb6444d6fd
BLAKE2b-256 checksum
How to use checksums
c6715995bf82b8b1726a7c19863ab908228d20e1be57df06f0da9ec662b12d5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-win32.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-win32.whl
Size 356.4 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
0cda3c815e600b118cb22e21f42dacfca0de21f713d7246bb284bcb4b036d80d
BLAKE2b-256 checksum
How to use checksums
0246c594325d6d1dbb892fed195cd28bff7d712f64391944eb2991ac5afcaa62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-manylinux1_x86_64.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-manylinux1_x86_64.whl
Size 647.0 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
27f85db646616840ffc23d9ee519fd71bae7236cb7fa479aa7075dbe659f8d82
BLAKE2b-256 checksum
How to use checksums
d28197465ea447eb2aec9acfd05bf994ba85bc6e45eab89efc2860c3585a1af9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-manylinux1_i686.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-manylinux1_i686.whl
Size 617.5 kB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
04a408a643efaeca9b2b5fb5e89f1f84b1d34e6492eb8f0c9c99f1bd397edde4
BLAKE2b-256 checksum
How to use checksums
796e8a1a25fb6587349eb3225d7605254353377d84228600104575c1fbc44b80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-macosx_10_12_x86_64.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-macosx_10_12_x86_64.whl
Size 376.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
50aec077ced04a45d585a0f148ab59afdccba65b60f6c93bd9435754830c5a69
BLAKE2b-256 checksum
How to use checksums
144ab2a52e453c609f44031cae1c66abd7b51d8098356d441bfd1fbb8ff30c80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-macosx_10_11_x86_64.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-macosx_10_11_x86_64.whl
Size 380.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.11+ x86-64
SHA-256 checksum
How to use checksums
4deae415fc98c469aa837d49ce454e021bcd306cbc4a99e6b4f7f6e927a2e6e8
BLAKE2b-256 checksum
How to use checksums
eef7af12e5ae624265dc74913233c2ed4691b7ba59b9afef8593ccd4594404c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp35-cp35m-macosx_10_10_x86_64.whl

Download URL aiohttp-2.3.1a1-cp35-cp35m-macosx_10_10_x86_64.whl
Size 380.3 kB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.10+ x86-64
SHA-256 checksum
How to use checksums
345bafdf80d13c31764c6918c9773ecaa7ff3391a1695feb49b74e248e9c3c14
BLAKE2b-256 checksum
How to use checksums
988e455d93daf16d51b931af3d9e3b9aa4752778d96c47cfe3c65c2c3f69d178
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-win_amd64.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-win_amd64.whl
Size 362.8 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
015e8f7d2da832772569f1afe263e8d8d1b4e58d30773e75089d4a0f5af94d9f
BLAKE2b-256 checksum
How to use checksums
291b46c9e1cf502c27cbed066511a5b54b72e654eea7b7979ea6a33f1b9f686a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-win32.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-win32.whl
Size 356.0 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
caf1dd39962c20e35fe6f48e8fc7d6f744958d6b3bc8e5e7bd158078a164f500
BLAKE2b-256 checksum
How to use checksums
ea8130582a4205973fcf1129c2e65c82e0ccea750fd9c901720bb204a2810077
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-manylinux1_x86_64.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-manylinux1_x86_64.whl
Size 653.5 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
19fa2969f64ef5f79898f80fec71abe33fc124859f5db72788ff92828d2b7981
BLAKE2b-256 checksum
How to use checksums
e32c12f69cf976cee9b61a5e59c112986caad92a04a9c6524a51990a6f795ceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-manylinux1_i686.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-manylinux1_i686.whl
Size 627.5 kB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
4bcbdf3cb8f6fa13583428be3937fdfe61328cc0c439abc4f14b64412db87fda
BLAKE2b-256 checksum
How to use checksums
477854753a87fc9e2f3dfb934575a179c78b46b078e465608e434a481fa79dea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-macosx_10_12_x86_64.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-macosx_10_12_x86_64.whl
Size 378.7 kB
Tags CPython 3.4 CPython 3.4 pymalloc macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
fdc6ccab6c19fdddb6a46164f1d429ded04e0d47fffe382736fe41d1ad781008
BLAKE2b-256 checksum
How to use checksums
4acce70c4c378fc979846efaa81f6546e6fdf3742bde021fd069a2ed475e28b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-macosx_10_11_x86_64.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-macosx_10_11_x86_64.whl
Size 380.6 kB
Tags CPython 3.4 CPython 3.4 pymalloc macOS 10.11+ x86-64
SHA-256 checksum
How to use checksums
15143c88762c9c585af4dc831002ee66631e9501209dcf0fb5a95c4a3fd2fe0c
BLAKE2b-256 checksum
How to use checksums
48056644bfd65adfc758e324fb9d1c9b4dec615b31eb7931feec770ef707b426
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / aiohttp-2.3.1a1-cp34-cp34m-macosx_10_10_x86_64.whl

Download URL aiohttp-2.3.1a1-cp34-cp34m-macosx_10_10_x86_64.whl
Size 380.6 kB
Tags CPython 3.4 CPython 3.4 pymalloc macOS 10.10+ x86-64
SHA-256 checksum
How to use checksums
a4af73a5416a5f5ea097b9bd2d44eb35bd7408c918c161ad1a8b74113e8e3446
BLAKE2b-256 checksum
How to use checksums
800a06165dd156dbc9f9085305cf8283d7ca57d8ec53c00666fae601459b1539
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.9.5

76 release files

3.9.4

76 release files

3.9.3

76 release files

3.9.2

76 release files

3.9.1

76 release files

3.9.0

76 release files

3.8.5

87 release files

3.8.4

87 release files

3.8.3

87 release files

3.8.2

87 release files

3.8.1

72 release files

3.8.0

72 release files

3.7.4

37 release files

3.7.3

37 release files

3.7.2

33 release files

3.7.1

33 release files

3.7.0

33 release files

3.6.3

13 release files

3.6.1

13 release files

3.5.4

22 release files

3.5.3

22 release files

3.5.1

22 release files

3.5.0

22 release files

3.4.1

22 release files

3.4.0

22 release files

3.3.2

15 release files

3.3.0

9 release files

3.2.1

15 release files

3.1.3

15 release files

3.1.1

15 release files

3.1.0

15 release files

3.0.9

15 release files

3.0.8

14 release files

3.0.5

15 release files

3.0.4

15 release files

3.0.3

15 release files

3.0.2

15 release files

3.0.1

15 release files

3.0.0

11 release files

2.3.9

16 release files

2.3.8

16 release files

2.3.7

22 release files

2.3.5

22 release files

2.3.4

22 release files

2.3.3

22 release files

2.3.1

22 release files

This release

2.3.1a1 This release

20 release files

2.3.0

13 release files

2.2.0

13 release files

2.1.0

13 release files

2.0.7

8 release files

2.0.5

13 release files

2.0.4

13 release files

2.0.3

13 release files

2.0.2

13 release files

2.0.1

13 release files

2.0.0

13 release files

1.3.5

7 release files

1.3.4

7 release files

1.3.3

13 release files

1.3.2

13 release files

1.3.0

9 release files

1.2.0

9 release files

1.1.6

9 release files

1.1.5

9 release files

1.1.4

9 release files

1.1.3

9 release files

1.1.2

9 release files

1.1.1

9 release files

1.1.0

9 release files

1.0.5

9 release files

1.0.3

9 release files

1.0.2

9 release files

1.0.1

9 release files

1.0.0

9 release files

0.22.4

9 release files

0.22.3

9 release files

0.22.2

9 release files

0.22.1

9 release files

0.22.0

9 release files

0.21.5

5 release files

0.21.4

5 release files

0.21.2

5 release files

0.21.1

5 release files

0.20.2

1 release file

0.20.1

1 release file

0.20.0

1 release file

0.19.0

1 release file

0.18.4

1 release file

0.18.3

1 release file

0.18.2

1 release file

0.18.1

1 release file

0.18.0

1 release file

0.17.4

1 release file

0.17.3

1 release file

0.17.2

1 release file

0.17.1

1 release file

0.17.0

1 release file

0.16.6

1 release file

0.16.5

1 release file

0.16.4

1 release file

0.16.3

1 release file

0.16.2

1 release file

0.16.1

1 release file

0.16.0

1 release file

0.15.3

1 release file

0.15.2

1 release file

0.15.1

1 release file

0.15.0

1 release file

0.14.4

1 release file

0.14.3

1 release file

0.14.2

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.1

2 release files

0.13.0

2 release files

0.12.0

1 release file

0.11.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

1 release file

0.9.0

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page