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

Travis status for master branch AppVeyor status for master branch codecov.io status for master branch Latest PyPI package version 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 and avoids Callback Hell.

  • Provides Web-server with middlewares and pluggable routing.

Getting started

Client

To get something from the web:

import aiohttp
import asyncio

async def fetch(session, url):
    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

An example using a simple server:

# examples/server_simple.py
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 wshandle(request):
    ws = web.WebSocketResponse()
    await ws.prepare(request)

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

    return ws


app = web.Application()
app.add_routes([web.get('/', handle),
                web.get('/echo', wshandle),
                web.get('/{name}', handle)])

if __name__ == '__main__':
    web.run_app(app)

Documentation

https://aiohttp.readthedocs.io/

Demos

https://github.com/aio-libs/aiohttp-demos

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 its 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 efficiency, the AsyncIO community maintains a list of benchmarks on the official wiki: https://github.com/python/asyncio/wiki/Benchmarks

Changelog

3.5.4 (2019-01-12)

Bugfixes

  • Fix stream .read() / .readany() / .iter_any() which used to return a partial content only in case of compressed content #3525

3.5.3 (2019-01-10)

Bugfixes

  • Fix type stubs for aiohttp.web.run_app(access_log=True) and fix edge case of access_log=True and the event loop being in debug mode. #3504

  • Fix aiohttp.ClientTimeout type annotations to accept None for fields #3511

  • Send custom per-request cookies even if session jar is empty #3515

  • Restore Linux binary wheels publishing on PyPI


3.5.2 (2019-01-08)

Features

  • FileResponse from web_fileresponse.py uses a ThreadPoolExecutor to work with files asynchronously. I/O based payloads from payload.py uses a ThreadPoolExecutor to work with I/O objects asynchronously. #3313

  • Internal Server Errors in plain text if the browser does not support HTML. #3483

Bugfixes

  • Preserve MultipartWriter parts headers on write.

    Refactor the way how Payload.headers are handled. Payload instances now always have headers and Content-Type defined.

    Fix Payload Content-Disposition header reset after initial creation. #3035

  • Log suppressed exceptions in GunicornWebWorker. #3464

  • Remove wildcard imports. #3468

  • Use the same task for app initialization and web server handling in gunicorn workers. It allows to use Python3.7 context vars smoothly. #3471

  • Fix handling of chunked+gzipped response when first chunk does not give uncompressed data #3477

  • Replace collections.MutableMapping with collections.abc.MutableMapping to avoid a deprecation warning. #3480

  • Payload.size type annotation changed from Optional[float] to Optional[int]. #3484

  • Ignore done tasks when cancels pending activities on web.run_app finalization. #3497

Improved Documentation

  • Add documentation for aiohttp.web.HTTPException. #3490

Misc


3.5.1 (2018-12-24)

  • Fix a regression about ClientSession._requote_redirect_url modification in debug mode.

3.5.0 (2018-12-22)

Features

  • The library type annotations are checked in strict mode now.

  • Add support for setting cookies for individual request (#2387)

  • Application.add_domain implementation (#2809)

  • The default app in the request returned by test_utils.make_mocked_request can now have objects assigned to it and retrieved using the [] operator. (#3174)

  • Make request.url accessible when transport is closed. (#3177)

  • Add zlib_executor_size argument to Response constructor to allow compression to run in a background executor to avoid blocking the main thread and potentially triggering health check failures. (#3205)

  • Enable users to set ClientTimeout in aiohttp.request (#3213)

  • Don’t raise a warning if NETRC environment variable is not set and ~/.netrc file doesn’t exist. (#3267)

  • Add default logging handler to web.run_app

    If the Application.debug flag is set and the default logger aiohttp.access is used, access logs will now be output using a stderr StreamHandler if no handlers are attached. Furthermore, if the default logger has no log level set, the log level will be set to DEBUG. (#3324)

  • Add method argument to session.ws_connect().

    Sometimes server API requires a different HTTP method for WebSocket connection establishment.

    For example, Docker exec needs POST. (#3378)

  • Create a task per request handling. (#3406)

Bugfixes

  • Enable passing access_log_class via handler_args (#3158)

  • Return empty bytes with end-of-chunk marker in empty stream reader. (#3186)

  • Accept CIMultiDictProxy instances for headers argument in web.Response constructor. (#3207)

  • Don’t uppercase HTTP method in parser (#3233)

  • Make method match regexp RFC-7230 compliant (#3235)

  • Add app.pre_frozen state to properly handle startup signals in sub-applications. (#3237)

  • Enhanced parsing and validation of helpers.BasicAuth.decode. (#3239)

  • Change imports from collections module in preparation for 3.8. (#3258)

  • Ensure Host header is added first to ClientRequest to better replicate browser (#3265)

  • Fix forward compatibility with Python 3.8: importing ABCs directly from the collections module will not be supported anymore. (#3273)

  • Keep the query string by normalize_path_middleware. (#3278)

  • Fix missing parameter raise_for_status for aiohttp.request() (#3290)

  • Bracket IPv6 addresses in the HOST header (#3304)

  • Fix default message for server ping and pong frames. (#3308)

  • Fix tests/test_connector.py typo and tests/autobahn/server.py duplicate loop def. (#3337)

  • Fix false-negative indicator end_of_HTTP_chunk in StreamReader.readchunk function (#3361)

  • Release HTTP response before raising status exception (#3364)

  • Fix task cancellation when sendfile() syscall is used by static file handling. (#3383)

  • Fix stack trace for asyncio.TimeoutError which was not logged, when it is caught in the handler. (#3414)

Improved Documentation

  • Improve documentation of Application.make_handler parameters. (#3152)

  • Fix BaseRequest.raw_headers doc. (#3215)

  • Fix typo in TypeError exception reason in web.Application._handle (#3229)

  • Make server access log format placeholder %b documentation reflect behavior and docstring. (#3307)

Deprecations and Removals

  • Deprecate modification of session.requote_redirect_url (#2278)

  • Deprecate stream.unread_data() (#3260)

  • Deprecated use of boolean in resp.enable_compression() (#3318)

  • Encourage creation of aiohttp public objects inside a coroutine (#3331)

  • Drop dead Connection.detach() and Connection.writer. Both methods were broken for more than 2 years. (#3358)

  • Deprecate app.loop, request.loop, client.loop and connector.loop properties. (#3374)

  • Deprecate explicit debug argument. Use asyncio debug mode instead. (#3381)

  • Deprecate body parameter in HTTPException (and derived classes) constructor. (#3385)

  • Deprecate bare connector close, use async with connector: and await connector.close() instead. (#3417)

  • Deprecate obsolete read_timeout and conn_timeout in ClientSession constructor. (#3438)

Misc

  • #3341, #3351

Metadata

Release files for aiohttp 3.6.0a12

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

Source distribution (sdist)

Source distribution for aiohttp 3.6.0a12
File Size Uploaded
aiohttp-3.6.0a12.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for aiohttp 3.6.0a12
File
aiohttp-3.6.0a12-py3-none-any.whl Python 3 none any Details
aiohttp-3.6.0a12-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
aiohttp-3.6.0a12-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
aiohttp-3.6.0a12-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-3.6.0a12-cp37-cp37m-manylinux1_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32 Details
aiohttp-3.6.0a12-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
aiohttp-3.6.0a12-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
aiohttp-3.6.0a12-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-3.6.0a12-cp36-cp36m-manylinux1_i686.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32 Details
aiohttp-3.6.0a12-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
aiohttp-3.6.0a12-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
aiohttp-3.6.0a12-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
aiohttp-3.6.0a12-cp35-cp35m-manylinux1_i686.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32 Details

Total release size: 11.7 MB

Release files / aiohttp-3.6.0a12.tar.gz

Download URL aiohttp-3.6.0a12.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
74c33b3952b5593c9f029cbf3e250a434d8a53c2ad2ef03cf0165ea3b7c20d39
BLAKE2b-256 checksum
How to use checksums
b827f8b6e9cf66189ac452a66b05aa387370a7c57edb38b7d4459cace126a585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.4

Release files / aiohttp-3.6.0a12-py3-none-any.whl

Download URL aiohttp-3.6.0a12-py3-none-any.whl
Size 189.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c8ab1007db37fc21a268314298e217c356f563e62643895016b1fd386f652ea
BLAKE2b-256 checksum
How to use checksums
eb155aa7b56562cd6099e39965c520892af559ef82dabfee58dc03594117a6bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.3

Release files / aiohttp-3.6.0a12-cp37-cp37m-win_amd64.whl

Download URL aiohttp-3.6.0a12-cp37-cp37m-win_amd64.whl
Size 615.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
9f56b968648ccab736635a419db3610f622a9ef57cf23ff738e8f400bbccd195
BLAKE2b-256 checksum
How to use checksums
368fc86c9a50280da758ea9d60124b828c1f8515e1de465ddd858c02071c04eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

Release files / aiohttp-3.6.0a12-cp37-cp37m-win32.whl

Download URL aiohttp-3.6.0a12-cp37-cp37m-win32.whl
Size 588.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
8dc351b9d7fde0b28e98bbbe26af1283888cac40b85487d71cb9ab1a2782d11e
BLAKE2b-256 checksum
How to use checksums
63c98620091021b08ca11014d82f39001ab004a80c4a6e8defcdcb3477ed826a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

Release files / aiohttp-3.6.0a12-cp37-cp37m-manylinux1_x86_64.whl

Download URL aiohttp-3.6.0a12-cp37-cp37m-manylinux1_x86_64.whl
Size 1.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ae6e074cb535174b6e2a2d4577c3268357da6fb72a0213bb4cc3a5b19d27433a
BLAKE2b-256 checksum
How to use checksums
b5f9a03cb17c6d366c83c04afd1484cea88d4d37fd76f605ddcecfa492d9c8ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

Release files / aiohttp-3.6.0a12-cp37-cp37m-manylinux1_i686.whl

Download URL aiohttp-3.6.0a12-cp37-cp37m-manylinux1_i686.whl
Size 1.1 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
38810dabd6552108a10eae6fcdfd42bf65f6bf35d390a345bdba896f66317c96
BLAKE2b-256 checksum
How to use checksums
4f8c5a453c93c2fab5d31b6fd4ac38afe8e5b37886be48e91fbe9d8970a84031
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

Release files / aiohttp-3.6.0a12-cp36-cp36m-win_amd64.whl

Download URL aiohttp-3.6.0a12-cp36-cp36m-win_amd64.whl
Size 615.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
d0d61938da1f6e7ebaa35bc4da266131c607e16404801ebba3d3c22059babdbe
BLAKE2b-256 checksum
How to use checksums
7b74784194455be1199e2e0d3bc6f6eae1aed1002ba5ec3ae0ef72cd24529ecd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

Release files / aiohttp-3.6.0a12-cp36-cp36m-win32.whl

Download URL aiohttp-3.6.0a12-cp36-cp36m-win32.whl
Size 588.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
0bd57e084c5e4623793cabd75eff06abe543bb1a462796e71dc6eee99a761215
BLAKE2b-256 checksum
How to use checksums
dfccf8ce97e071688ed0fdbf579de4b7204381792d199cad66de6a013ef1c0ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

Release files / aiohttp-3.6.0a12-cp36-cp36m-manylinux1_x86_64.whl

Download URL aiohttp-3.6.0a12-cp36-cp36m-manylinux1_x86_64.whl
Size 1.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
f18e7c4630f2dea0932c904470b07943e26c64584be6cc476ad9a0e60f2d4998
BLAKE2b-256 checksum
How to use checksums
b5380a1db9f7c5ded27d18570129639d5169668514056a30cb3f7cb88a97fe4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

Release files / aiohttp-3.6.0a12-cp36-cp36m-manylinux1_i686.whl

Download URL aiohttp-3.6.0a12-cp36-cp36m-manylinux1_i686.whl
Size 1.1 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
e1a68dde3131eaddcb801aa987844091496c62d984a863ff50aa5bb6ff3ff181
BLAKE2b-256 checksum
How to use checksums
f847dd3e30f4b36ac84a8f197be38671023b929e9d11ea7f510e38ae927e85f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

Release files / aiohttp-3.6.0a12-cp35-cp35m-win_amd64.whl

Download URL aiohttp-3.6.0a12-cp35-cp35m-win_amd64.whl
Size 610.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
c1f5ecd39062e5b5a807f02a15136d87b19d647f5f3d0af92afc1dc4748ca396
BLAKE2b-256 checksum
How to use checksums
39f7c61600fd18aac22f9e0cc55f8055957610e2fbdbb671b3e3b8950468ad48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.4

Release files / aiohttp-3.6.0a12-cp35-cp35m-win32.whl

Download URL aiohttp-3.6.0a12-cp35-cp35m-win32.whl
Size 582.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
eb5603b7fd4b58b21604ff10de804e983698ee1f47d0760dfce327f12f511149
BLAKE2b-256 checksum
How to use checksums
0f7bd55eb379f4bc7224f414f024b5f2e103663f21ce9b375414d42908de5c05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.4

Release files / aiohttp-3.6.0a12-cp35-cp35m-manylinux1_x86_64.whl

Download URL aiohttp-3.6.0a12-cp35-cp35m-manylinux1_x86_64.whl
Size 1.1 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b721433b628fa73689d6213c30014fd7e555e15654f0f2dcae7319b4840ef967
BLAKE2b-256 checksum
How to use checksums
0935c5a2d06dca8e2d6fee00e47dc43a9328a2c1419ff5696a2ff0ad2ff5da21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

Release files / aiohttp-3.6.0a12-cp35-cp35m-manylinux1_i686.whl

Download URL aiohttp-3.6.0a12-cp35-cp35m-manylinux1_i686.whl
Size 1.1 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
c629e0667136d988095b12a3471b292d684875a4d9dc1351f51fabec4bfb7444
BLAKE2b-256 checksum
How to use checksums
0e8c42cd82738bf3e906601fe1f9859c0ead62ddb47eb8b7d39456afc6229585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

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

This release

3.6.0a12 This release

14 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

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