Skip to main content

Async http client/server framework (asyncio)

Project description

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.6.3 (2020-10-12)

Bugfixes

  • Pin yarl to <1.6.0 to avoid buggy behavior that will be fixed by the next aiohttp release.

3.6.2 (2019-10-09)

Features

  • Made exceptions pickleable. Also changed the repr of some exceptions. #4077

  • Use Iterable type hint instead of Sequence for Application middleware parameter. #4125

Bugfixes

  • Reset the sock_read timeout each time data is received for a aiohttp.ClientResponse. #3808

  • Fix handling of expired cookies so they are not stored in CookieJar. #4063

  • Fix misleading message in the string representation of ClientConnectorError; self.ssl == None means default SSL context, not SSL disabled #4097

  • Don’t clobber HTTP status when using FileResponse. #4106

Improved Documentation

  • Added minimal required logging configuration to logging documentation. #2469

  • Update docs to reflect proxy support. #4100

  • Fix typo in code example in testing docs. #4108

Misc


3.6.1 (2019-09-19)

Features

  • Compatibility with Python 3.8. #4056

Bugfixes

  • correct some exception string format #4068

  • Emit a warning when ssl.OP_NO_COMPRESSION is unavailable because the runtime is built against an outdated OpenSSL. #4052

  • Update multidict requirement to >= 4.5 #4057

Improved Documentation

  • Provide pytest-aiohttp namespace for pytest fixtures in docs. #3723


3.6.0 (2019-09-06)

Features

  • Add support for Named Pipes (Site and Connector) under Windows. This feature requires Proactor event loop to work. #3629

  • Removed Transfer-Encoding: chunked header from websocket responses to be compatible with more http proxy servers. #3798

  • Accept non-GET request for starting websocket handshake on server side. #3980

Bugfixes

  • Raise a ClientResponseError instead of an AssertionError for a blank HTTP Reason Phrase. #3532

  • Fix an issue where cookies would sometimes not be set during a redirect. #3576

  • Change normalize_path_middleware to use 308 redirect instead of 301.

    This behavior should prevent clients from being unable to use PUT/POST methods on endpoints that are redirected because of a trailing slash. #3579

  • Drop the processed task from all_tasks() list early. It prevents logging about a task with unhandled exception when the server is used in conjunction with asyncio.run(). #3587

  • Signal type annotation changed from Signal[Callable[['TraceConfig'], Awaitable[None]]] to Signal[Callable[ClientSession, SimpleNamespace, ...]. #3595

  • Use sanitized URL as Location header in redirects #3614

  • Improve typing annotations for multipart.py along with changes required by mypy in files that references multipart.py. #3621

  • Close session created inside aiohttp.request when unhandled exception occurs #3628

  • Cleanup per-chunk data in generic data read. Memory leak fixed. #3631

  • Use correct type for add_view and family #3633

  • Fix _keepalive field in __slots__ of RequestHandler. #3644

  • Properly handle ConnectionResetError, to silence the “Cannot write to closing transport” exception when clients disconnect uncleanly. #3648

  • Suppress pytest warnings due to test_utils classes #3660

  • Fix overshadowing of overlapped sub-application prefixes. #3701

  • Fixed return type annotation for WSMessage.json() #3720

  • Properly expose TooManyRedirects publicly as documented. #3818

  • Fix missing brackets for IPv6 in proxy CONNECT request #3841

  • Make the signature of aiohttp.test_utils.TestClient.request match asyncio.ClientSession.request according to the docs #3852

  • Use correct style for re-exported imports, makes mypy --strict mode happy. #3868

  • Fixed type annotation for add_view method of UrlDispatcher to accept any subclass of View #3880

  • Made cython HTTP parser set Reason-Phrase of the response to an empty string if it is missing. #3906

  • Add URL to the string representation of ClientResponseError. #3959

  • Accept istr keys in LooseHeaders type hints. #3976

  • Fixed race conditions in _resolve_host caching and throttling when tracing is enabled. #4013

  • For URLs like “unix://localhost/…” set Host HTTP header to “localhost” instead of “localhost:None”. #4039

Improved Documentation

  • Modify documentation for Background Tasks to remove deprecated usage of event loop. #3526

  • use if __name__ == '__main__': in server examples. #3775

  • Update documentation reference to the default access logger. #3783

  • Improve documentation for web.BaseRequest.path and web.BaseRequest.raw_path. #3791

  • Removed deprecation warning in tracing example docs #3964


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

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-3.6.3.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

aiohttp-3.6.3-cp37-cp37m-win_amd64.whl (629.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

aiohttp-3.6.3-cp37-cp37m-win32.whl (601.8 kB view details)

Uploaded CPython 3.7m Windows x86

aiohttp-3.6.3-cp37-cp37m-manylinux1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7m

aiohttp-3.6.3-cp37-cp37m-macosx_10_14_x86_64.whl (643.4 kB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

aiohttp-3.6.3-cp36-cp36m-win_amd64.whl (628.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

aiohttp-3.6.3-cp36-cp36m-win32.whl (601.9 kB view details)

Uploaded CPython 3.6m Windows x86

aiohttp-3.6.3-cp36-cp36m-manylinux1_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.6m

aiohttp-3.6.3-cp36-cp36m-macosx_10_14_x86_64.whl (647.3 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

aiohttp-3.6.3-cp35-cp35m-win_amd64.whl (623.3 kB view details)

Uploaded CPython 3.5m Windows x86-64

aiohttp-3.6.3-cp35-cp35m-win32.whl (595.9 kB view details)

Uploaded CPython 3.5m Windows x86

aiohttp-3.6.3-cp35-cp35m-manylinux1_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.5m

aiohttp-3.6.3-cp35-cp35m-macosx_10_14_x86_64.whl (630.7 kB view details)

Uploaded CPython 3.5m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: aiohttp-3.6.3.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3.tar.gz
Algorithm Hash digest
SHA256 698cd7bc3c7d1b82bb728bae835724a486a8c376647aec336aa21a60113c3645
MD5 13d02dc8379207dde1f6966d1fc5083d
BLAKE2b-256 9d6c429faa2d2f73973189ca0cfe141ff703417a5eebe18d78e6b25b70db0a34

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 629.1 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 687461cd974722110d1763b45c5db4d2cdee8d50f57b00c43c7590d1dd77fc5c
MD5 dc3934734c545e6e5ee07d6e5a36e2db
BLAKE2b-256 49669572cc48951da97e13e3e2cec2be3feb493c1a88abd3bfc70bde243f1eb5

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 601.8 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 206c0ccfcea46e1bddc91162449c20c72f308aebdcef4977420ef329c8fcc599
MD5 0fbbcf77fea33742aa5305b43c4ed6ca
BLAKE2b-256 3daf17927b29f0728b884ba1a0fe42220c9681bc5f7e5be1aa4aadda83a49be9

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 66d64486172b032db19ea8522328b19cfb78a3e1e5b62ab6a0567f93f073dea0
MD5 0c0081430fb7645f448aee8ec441505b
BLAKE2b-256 12a2ca3ba17c50ebeb3e7473330d8d1ce08fb83506a9bc985bcc0716354d2018

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp37-cp37m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 643.4 kB
  • Tags: CPython 3.7m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 319b490a5e2beaf06891f6711856ea10591cfe84fe9f3e71a721aa8f20a0872a
MD5 8884773ece5480f7254b60e9d347ae5b
BLAKE2b-256 3b222ade4b8958f2b86ce41cdeee33ee9397a3586f21bfa2a2e1d0a23871a52a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 628.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 2ad493de47a8f926386fa6d256832de3095ba285f325db917c7deae0b54a9fc8
MD5 4d7f1805fe70faa1a0016a989505408b
BLAKE2b-256 ade8bca85fee07389eb6f255bba94abfd6cc9bef2cb5113f6258d78dba45e05a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 601.9 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 60f4caa3b7f7a477f66ccdd158e06901e1d235d572283906276e3803f6b098f5
MD5 233dec561f2ac217e574d3d62e4f86e3
BLAKE2b-256 92f56a5c031b394e3990c20242e3ce7443ba9449bd15c62df954e5c2cde21954

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 797456399ffeef73172945708810f3277f794965eb6ec9bd3a0c007c0476be98
MD5 64cd540217139c173cf00b919d1a1dd5
BLAKE2b-256 78a693acfa8f8b3573c4445ace2f266de62783231923706a4c3ab705e7d43497

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 647.3 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c506853ba52e516b264b106321c424d03f3ddef2813246432fa9d1cefd361c81
MD5 a297ccf6ffaf5a3bf18a00423ced3d58
BLAKE2b-256 73d43697980b9758541777ffd9a5ee890dea48ce848181a41ba64fdb2dd18c34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 623.3 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 a885432d3cabc1287bcf88ea94e1826d3aec57fd5da4a586afae4591b061d40d
MD5 f7fa411a2938a65ee4270c9fd8b5e6e0
BLAKE2b-256 fa29b302ce53c6aff5d63b2ebb47b7b7e315e657ed13593398462ada063cd538

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 595.9 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 470e4c90da36b601676fe50c49a60d34eb8c6593780930b1aa4eea6f508dfa37
MD5 333d914cec9c7d3194c0a6bcbb4558f1
BLAKE2b-256 1f7a5bcf2a9daa87877ab23dadec3ba6da307c02c198ee0fa65056bc7663657d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp-3.6.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fb83326d8295e8840e4ba774edf346e87eca78ba8a89c55d2690352842c15ba5
MD5 ec90853f3e94d80a3289a1760c2b043e
BLAKE2b-256 066d9ad79b1ceb86a035011c7d12e2e2a8000341f09f23ab28f73dc987ba6891

See more details on using hashes here.

File details

Details for the file aiohttp-3.6.3-cp35-cp35m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: aiohttp-3.6.3-cp35-cp35m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 630.7 kB
  • Tags: CPython 3.5m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.9

File hashes

Hashes for aiohttp-3.6.3-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1a4160579ffbc1b69e88cb6ca8bb0fbd4947dfcbf9fb1e2a4fc4c7a4a986c1fe
MD5 c228f8fac0c2e2161fcd1cd47877b2c7
BLAKE2b-256 c36dd32c4cd6aee0086732a79d33f8e2bd85ebfb88710848a2558bc613ee9bb2

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