{
  "result": {
    "3.8.6": {
      "name": "aiohttp",
      "version": "3.8.6",
      "metadata_version": "2.1",
      "summary": "Async http client/server framework (asyncio)",
      "home_page": "https://github.com/aio-libs/aiohttp",
      "author": "",
      "author_email": "",
      "maintainer": "aiohttp team <team@aiohttp.org>",
      "maintainer_email": "team@aiohttp.org",
      "license": "Apache 2",
      "description": "==================================\nAsync http client/server framework\n==================================\n\n.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/aiohttp-plain.svg\n   :height: 64px\n   :width: 64px\n   :alt: aiohttp logo\n\n|\n\n.. image:: https://github.com/aio-libs/aiohttp/workflows/CI/badge.svg\n   :target: https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI\n   :alt: GitHub Actions status for master branch\n\n.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/aio-libs/aiohttp\n   :alt: codecov.io status for master branch\n\n.. image:: https://badge.fury.io/py/aiohttp.svg\n   :target: https://pypi.org/project/aiohttp\n   :alt: Latest PyPI package version\n\n.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest\n   :target: https://docs.aiohttp.org/\n   :alt: Latest Read The Docs\n\n.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs:matrix.org\n   :alt: Matrix Room \u2014 #aio-libs:matrix.org\n\n.. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs-space:matrix.org\n   :alt: Matrix Space \u2014 #aio-libs-space:matrix.org\n\n\nKey Features\n============\n\n- Supports both client and server side of HTTP protocol.\n- Supports both client and server Web-Sockets out-of-the-box and avoids\n  Callback Hell.\n- Provides Web-server with middlewares and plugable routing.\n\n\nGetting started\n===============\n\nClient\n------\n\nTo get something from the web:\n\n.. code-block:: python\n\n  import aiohttp\n  import asyncio\n\n  async def main():\n\n      async with aiohttp.ClientSession() as session:\n          async with session.get('http://python.org') as response:\n\n              print(\"Status:\", response.status)\n              print(\"Content-type:\", response.headers['content-type'])\n\n              html = await response.text()\n              print(\"Body:\", html[:15], \"...\")\n\n    asyncio.run(main())\n\nThis prints:\n\n.. code-block::\n\n    Status: 200\n    Content-type: text/html; charset=utf-8\n    Body: <!doctype html> ...\n\nComing from `requests <https://requests.readthedocs.io/>`_ ? Read `why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>`_.\n\nServer\n------\n\nAn example using a simple server:\n\n.. code-block:: python\n\n    # examples/server_simple.py\n    from aiohttp import web\n\n    async def handle(request):\n        name = request.match_info.get('name', \"Anonymous\")\n        text = \"Hello, \" + name\n        return web.Response(text=text)\n\n    async def wshandle(request):\n        ws = web.WebSocketResponse()\n        await ws.prepare(request)\n\n        async for msg in ws:\n            if msg.type == web.WSMsgType.text:\n                await ws.send_str(\"Hello, {}\".format(msg.data))\n            elif msg.type == web.WSMsgType.binary:\n                await ws.send_bytes(msg.data)\n            elif msg.type == web.WSMsgType.close:\n                break\n\n        return ws\n\n\n    app = web.Application()\n    app.add_routes([web.get('/', handle),\n                    web.get('/echo', wshandle),\n                    web.get('/{name}', handle)])\n\n    if __name__ == '__main__':\n        web.run_app(app)\n\n\nDocumentation\n=============\n\nhttps://aiohttp.readthedocs.io/\n\n\nDemos\n=====\n\nhttps://github.com/aio-libs/aiohttp-demos\n\n\nExternal links\n==============\n\n* `Third party libraries\n  <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_\n* `Built with aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_\n* `Powered by aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_\n\nFeel free to make a Pull Request for adding your link to these pages!\n\n\nCommunication channels\n======================\n\n*aio-libs discourse group*: https://aio-libs.discourse.group\n\n*gitter chat* https://gitter.im/aio-libs/Lobby\n\nWe support `Stack Overflow\n<https://stackoverflow.com/questions/tagged/aiohttp>`_.\nPlease add *aiohttp* tag to your question there.\n\nRequirements\n============\n\n- Python >= 3.6\n- async-timeout_\n- attrs_\n- charset-normalizer_\n- multidict_\n- yarl_\n- frozenlist_\n\nOptionally you may install the cChardet_ and aiodns_ libraries (highly\nrecommended for sake of speed).\n\n.. _charset-normalizer: https://pypi.org/project/charset-normalizer\n.. _aiodns: https://pypi.python.org/pypi/aiodns\n.. _attrs: https://github.com/python-attrs/attrs\n.. _multidict: https://pypi.python.org/pypi/multidict\n.. _frozenlist: https://pypi.org/project/frozenlist/\n.. _yarl: https://pypi.python.org/pypi/yarl\n.. _async-timeout: https://pypi.python.org/pypi/async_timeout\n.. _cChardet: https://pypi.python.org/pypi/cchardet\n\nLicense\n=======\n\n``aiohttp`` is offered under the Apache 2 license.\n\n\nKeepsafe\n========\n\nThe aiohttp community would like to thank Keepsafe\n(https://www.getkeepsafe.com) for its support in the early days of\nthe project.\n\n\nSource code\n===========\n\nThe latest developer version is available in a GitHub repository:\nhttps://github.com/aio-libs/aiohttp\n\nBenchmarks\n==========\n\nIf you are interested in efficiency, the AsyncIO community maintains a\nlist of benchmarks on the official wiki:\nhttps://github.com/python/asyncio/wiki/Benchmarks\n\n\n",
      "keywords": "",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Framework :: AsyncIO",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: POSIX",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Topic :: Internet :: WWW/HTTP",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org",
        "Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org",
        "CI: GitHub Actions, https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI",
        "Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp",
        "Docs: Changelog, https://docs.aiohttp.org/en/stable/changes.html",
        "Docs: RTD, https://docs.aiohttp.org",
        "GitHub: issues, https://github.com/aio-libs/aiohttp/issues",
        "GitHub: repo, https://github.com/aio-libs/aiohttp"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "attrs>=17.3.0",
        "charset-normalizer<4.0,>=2.0",
        "multidict<7.0,>=4.5",
        "async-timeout<5.0,>=4.0.0a3",
        "yarl<2.0,>=1.0",
        "frozenlist>=1.1.1",
        "aiosignal>=1.1.2",
        "idna-ssl>=1.0; python_version < \"3.7\"",
        "asynctest==0.13.0; python_version < \"3.8\"",
        "typing-extensions>=3.7.4; python_version < \"3.8\"",
        "aiodns; extra == \"speedups\"",
        "Brotli; extra == \"speedups\"",
        "cchardet; python_version < \"3.10\" and extra == \"speedups\""
      ],
      "requires_external": [],
      "requires_python": ">=3.6",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "speedups"
      ],
      "dynamic": [],
      "license_expression": "",
      "license_file": [],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=2a3a3b0b035fb9ef41e4169c65ec6205bc7071784e8c0c590320287008ffc32d",
          "hashes": {
            "sha256": "2a3a3b0b035fb9ef41e4169c65ec6205bc7071784e8c0c590320287008ffc32d"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/2a3/a3b0b035fb9ef/aiohttp-3.8.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                40
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=ff7b31b42aa3a40b7a0a75f0f2452f0f3e2d9574fba2cc5f3b88c38d8e333eae",
          "hashes": {
            "sha256": "ff7b31b42aa3a40b7a0a75f0f2452f0f3e2d9574fba2cc5f3b88c38d8e333eae"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/ff7/b31b42aa3a40b/aiohttp-3.8.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                41
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=4978f7082c04111a9f884df20cf427ae5b167e16746ba17c6cd5ebe5d41b3af5",
          "hashes": {
            "sha256": "4978f7082c04111a9f884df20cf427ae5b167e16746ba17c6cd5ebe5d41b3af5"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/497/8f7082c04111a/aiohttp-3.8.6-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                42
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.9.0+ppc64le1": {
      "name": "aiohttp",
      "version": "3.9.0+ppc64le1",
      "metadata_version": "2.1",
      "summary": "Async http client/server framework (asyncio)",
      "home_page": "https://github.com/aio-libs/aiohttp",
      "author": "",
      "author_email": "",
      "maintainer": "aiohttp team <team@aiohttp.org>",
      "maintainer_email": "team@aiohttp.org",
      "license": "Apache 2",
      "description": "==================================\nAsync http client/server framework\n==================================\n\n.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/aiohttp-plain.svg\n   :height: 64px\n   :width: 64px\n   :alt: aiohttp logo\n\n|\n\n.. image:: https://github.com/aio-libs/aiohttp/workflows/CI/badge.svg\n   :target: https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI\n   :alt: GitHub Actions status for master branch\n\n.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/aio-libs/aiohttp\n   :alt: codecov.io status for master branch\n\n.. image:: https://badge.fury.io/py/aiohttp.svg\n   :target: https://pypi.org/project/aiohttp\n   :alt: Latest PyPI package version\n\n.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest\n   :target: https://docs.aiohttp.org/\n   :alt: Latest Read The Docs\n\n.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs:matrix.org\n   :alt: Matrix Room \u2014 #aio-libs:matrix.org\n\n.. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs-space:matrix.org\n   :alt: Matrix Space \u2014 #aio-libs-space:matrix.org\n\n\nKey Features\n============\n\n- Supports both client and server side of HTTP protocol.\n- Supports both client and server Web-Sockets out-of-the-box and avoids\n  Callback Hell.\n- Provides Web-server with middleware and pluggable routing.\n\n\nGetting started\n===============\n\nClient\n------\n\nTo get something from the web:\n\n.. code-block:: python\n\n  import aiohttp\n  import asyncio\n\n  async def main():\n\n      async with aiohttp.ClientSession() as session:\n          async with session.get('http://python.org') as response:\n\n              print(\"Status:\", response.status)\n              print(\"Content-type:\", response.headers['content-type'])\n\n              html = await response.text()\n              print(\"Body:\", html[:15], \"...\")\n\n  asyncio.run(main())\n\nThis prints:\n\n.. code-block::\n\n    Status: 200\n    Content-type: text/html; charset=utf-8\n    Body: <!doctype html> ...\n\nComing from `requests <https://requests.readthedocs.io/>`_ ? Read `why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>`_.\n\nServer\n------\n\nAn example using a simple server:\n\n.. code-block:: python\n\n    # examples/server_simple.py\n    from aiohttp import web\n\n    async def handle(request):\n        name = request.match_info.get('name', \"Anonymous\")\n        text = \"Hello, \" + name\n        return web.Response(text=text)\n\n    async def wshandle(request):\n        ws = web.WebSocketResponse()\n        await ws.prepare(request)\n\n        async for msg in ws:\n            if msg.type == web.WSMsgType.text:\n                await ws.send_str(\"Hello, {}\".format(msg.data))\n            elif msg.type == web.WSMsgType.binary:\n                await ws.send_bytes(msg.data)\n            elif msg.type == web.WSMsgType.close:\n                break\n\n        return ws\n\n\n    app = web.Application()\n    app.add_routes([web.get('/', handle),\n                    web.get('/echo', wshandle),\n                    web.get('/{name}', handle)])\n\n    if __name__ == '__main__':\n        web.run_app(app)\n\n\nDocumentation\n=============\n\nhttps://aiohttp.readthedocs.io/\n\n\nDemos\n=====\n\nhttps://github.com/aio-libs/aiohttp-demos\n\n\nExternal links\n==============\n\n* `Third party libraries\n  <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_\n* `Built with aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_\n* `Powered by aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_\n\nFeel free to make a Pull Request for adding your link to these pages!\n\n\nCommunication channels\n======================\n\n*aio-libs Discussions*: https://github.com/aio-libs/aiohttp/discussions\n\n*gitter chat* https://gitter.im/aio-libs/Lobby\n\nWe support `Stack Overflow\n<https://stackoverflow.com/questions/tagged/aiohttp>`_.\nPlease add *aiohttp* tag to your question there.\n\nRequirements\n============\n\n- async-timeout_\n- attrs_\n- multidict_\n- yarl_\n- frozenlist_\n\nOptionally you may install the aiodns_ library (highly recommended for sake of speed).\n\n.. _aiodns: https://pypi.python.org/pypi/aiodns\n.. _attrs: https://github.com/python-attrs/attrs\n.. _multidict: https://pypi.python.org/pypi/multidict\n.. _frozenlist: https://pypi.org/project/frozenlist/\n.. _yarl: https://pypi.python.org/pypi/yarl\n.. _async-timeout: https://pypi.python.org/pypi/async_timeout\n\nLicense\n=======\n\n``aiohttp`` is offered under the Apache 2 license.\n\n\nKeepsafe\n========\n\nThe aiohttp community would like to thank Keepsafe\n(https://www.getkeepsafe.com) for its support in the early days of\nthe project.\n\n\nSource code\n===========\n\nThe latest developer version is available in a GitHub repository:\nhttps://github.com/aio-libs/aiohttp\n\nBenchmarks\n==========\n\nIf you are interested in efficiency, the AsyncIO community maintains a\nlist of benchmarks on the official wiki:\nhttps://github.com/python/asyncio/wiki/Benchmarks\n",
      "keywords": "",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Framework :: AsyncIO",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: POSIX",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Topic :: Internet :: WWW/HTTP",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org",
        "Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org",
        "CI: GitHub Actions, https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI",
        "Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp",
        "Docs: Changelog, https://docs.aiohttp.org/en/stable/changes.html",
        "Docs: RTD, https://docs.aiohttp.org",
        "GitHub: issues, https://github.com/aio-libs/aiohttp/issues",
        "GitHub: repo, https://github.com/aio-libs/aiohttp"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "attrs (>=17.3.0)",
        "multidict (<7.0,>=4.5)",
        "yarl (<2.0,>=1.0)",
        "frozenlist (>=1.1.1)",
        "aiosignal (>=1.1.2)",
        "async-timeout (<5.0,>=4.0) ; python_version < \"3.11\"",
        "brotlicffi ; (platform_python_implementation != \"CPython\") and extra == 'speedups'",
        "Brotli ; (platform_python_implementation == \"CPython\") and extra == 'speedups'",
        "aiodns ; (sys_platform == \"linux\" or sys_platform == \"darwin\") and extra == 'speedups'"
      ],
      "requires_external": [],
      "requires_python": ">=3.8",
      "description_content_type": "text/x-rst",
      "provides_extras": "speedups",
      "dynamic": "",
      "license_expression": "",
      "license_file": "",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=a941e485f0bfef1e79b0676a28e557991e7a5b3db22fb52e453f6cff7c6fe657",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/a94/1e485f0bfef1e/aiohttp-3.9.0+ppc64le1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                4
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=f7b1f7d333735d84b62130387e23e7cffc37b1f90164443d44547fa29b2954d1",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/f7b/1f7d333735d84/aiohttp-3.9.0+ppc64le1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                5
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=b7ed801e148d19c3a6a8ab5ebf9609622511de9f25211991565f7fa05ba6c4c9",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/b7e/d801e148d19c3/aiohttp-3.9.0+ppc64le1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                6
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=4d390ccf8102f0a75a289dac5f8f1d0c8939fb2faa94fbecf0e2c3ff14cf03a3",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/4d3/90ccf8102f0a7/aiohttp-3.9.0+ppc64le1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                6
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.9.0": {
      "name": "aiohttp",
      "version": "3.9.0",
      "metadata_version": "2.1",
      "summary": "Async http client/server framework (asyncio)",
      "home_page": "https://github.com/aio-libs/aiohttp",
      "author": "",
      "author_email": "",
      "maintainer": "aiohttp team <team@aiohttp.org>",
      "maintainer_email": "team@aiohttp.org",
      "license": "Apache 2",
      "description": "==================================\nAsync http client/server framework\n==================================\n\n.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/aiohttp-plain.svg\n   :height: 64px\n   :width: 64px\n   :alt: aiohttp logo\n\n|\n\n.. image:: https://github.com/aio-libs/aiohttp/workflows/CI/badge.svg\n   :target: https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI\n   :alt: GitHub Actions status for master branch\n\n.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/aio-libs/aiohttp\n   :alt: codecov.io status for master branch\n\n.. image:: https://badge.fury.io/py/aiohttp.svg\n   :target: https://pypi.org/project/aiohttp\n   :alt: Latest PyPI package version\n\n.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest\n   :target: https://docs.aiohttp.org/\n   :alt: Latest Read The Docs\n\n.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs:matrix.org\n   :alt: Matrix Room \u2014 #aio-libs:matrix.org\n\n.. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs-space:matrix.org\n   :alt: Matrix Space \u2014 #aio-libs-space:matrix.org\n\n\nKey Features\n============\n\n- Supports both client and server side of HTTP protocol.\n- Supports both client and server Web-Sockets out-of-the-box and avoids\n  Callback Hell.\n- Provides Web-server with middleware and pluggable routing.\n\n\nGetting started\n===============\n\nClient\n------\n\nTo get something from the web:\n\n.. code-block:: python\n\n  import aiohttp\n  import asyncio\n\n  async def main():\n\n      async with aiohttp.ClientSession() as session:\n          async with session.get('http://python.org') as response:\n\n              print(\"Status:\", response.status)\n              print(\"Content-type:\", response.headers['content-type'])\n\n              html = await response.text()\n              print(\"Body:\", html[:15], \"...\")\n\n  asyncio.run(main())\n\nThis prints:\n\n.. code-block::\n\n    Status: 200\n    Content-type: text/html; charset=utf-8\n    Body: <!doctype html> ...\n\nComing from `requests <https://requests.readthedocs.io/>`_ ? Read `why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>`_.\n\nServer\n------\n\nAn example using a simple server:\n\n.. code-block:: python\n\n    # examples/server_simple.py\n    from aiohttp import web\n\n    async def handle(request):\n        name = request.match_info.get('name', \"Anonymous\")\n        text = \"Hello, \" + name\n        return web.Response(text=text)\n\n    async def wshandle(request):\n        ws = web.WebSocketResponse()\n        await ws.prepare(request)\n\n        async for msg in ws:\n            if msg.type == web.WSMsgType.text:\n                await ws.send_str(\"Hello, {}\".format(msg.data))\n            elif msg.type == web.WSMsgType.binary:\n                await ws.send_bytes(msg.data)\n            elif msg.type == web.WSMsgType.close:\n                break\n\n        return ws\n\n\n    app = web.Application()\n    app.add_routes([web.get('/', handle),\n                    web.get('/echo', wshandle),\n                    web.get('/{name}', handle)])\n\n    if __name__ == '__main__':\n        web.run_app(app)\n\n\nDocumentation\n=============\n\nhttps://aiohttp.readthedocs.io/\n\n\nDemos\n=====\n\nhttps://github.com/aio-libs/aiohttp-demos\n\n\nExternal links\n==============\n\n* `Third party libraries\n  <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_\n* `Built with aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_\n* `Powered by aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_\n\nFeel free to make a Pull Request for adding your link to these pages!\n\n\nCommunication channels\n======================\n\n*aio-libs Discussions*: https://github.com/aio-libs/aiohttp/discussions\n\n*gitter chat* https://gitter.im/aio-libs/Lobby\n\nWe support `Stack Overflow\n<https://stackoverflow.com/questions/tagged/aiohttp>`_.\nPlease add *aiohttp* tag to your question there.\n\nRequirements\n============\n\n- async-timeout_\n- attrs_\n- multidict_\n- yarl_\n- frozenlist_\n\nOptionally you may install the aiodns_ library (highly recommended for sake of speed).\n\n.. _aiodns: https://pypi.python.org/pypi/aiodns\n.. _attrs: https://github.com/python-attrs/attrs\n.. _multidict: https://pypi.python.org/pypi/multidict\n.. _frozenlist: https://pypi.org/project/frozenlist/\n.. _yarl: https://pypi.python.org/pypi/yarl\n.. _async-timeout: https://pypi.python.org/pypi/async_timeout\n\nLicense\n=======\n\n``aiohttp`` is offered under the Apache 2 license.\n\n\nKeepsafe\n========\n\nThe aiohttp community would like to thank Keepsafe\n(https://www.getkeepsafe.com) for its support in the early days of\nthe project.\n\n\nSource code\n===========\n\nThe latest developer version is available in a GitHub repository:\nhttps://github.com/aio-libs/aiohttp\n\nBenchmarks\n==========\n\nIf you are interested in efficiency, the AsyncIO community maintains a\nlist of benchmarks on the official wiki:\nhttps://github.com/python/asyncio/wiki/Benchmarks\n",
      "keywords": "",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Framework :: AsyncIO",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: POSIX",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Topic :: Internet :: WWW/HTTP",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org",
        "Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org",
        "CI: GitHub Actions, https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI",
        "Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp",
        "Docs: Changelog, https://docs.aiohttp.org/en/stable/changes.html",
        "Docs: RTD, https://docs.aiohttp.org",
        "GitHub: issues, https://github.com/aio-libs/aiohttp/issues",
        "GitHub: repo, https://github.com/aio-libs/aiohttp"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "attrs (>=17.3.0)",
        "multidict (<7.0,>=4.5)",
        "yarl (<2.0,>=1.0)",
        "frozenlist (>=1.1.1)",
        "aiosignal (>=1.1.2)",
        "async-timeout (<5.0,>=4.0) ; python_version < \"3.11\"",
        "brotlicffi ; (platform_python_implementation != \"CPython\") and extra == 'speedups'",
        "Brotli ; (platform_python_implementation == \"CPython\") and extra == 'speedups'",
        "aiodns ; (sys_platform == \"linux\" or sys_platform == \"darwin\") and extra == 'speedups'"
      ],
      "requires_external": [],
      "requires_python": ">=3.8",
      "description_content_type": "text/x-rst",
      "provides_extras": [
        "speedups"
      ],
      "dynamic": [],
      "license_expression": "",
      "license_file": [],
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=fea8921d575cfe112618bf07bd22539699e82a8be734b77166bcbd463e5cec2f",
          "hashes": {
            "sha256": "fea8921d575cfe112618bf07bd22539699e82a8be734b77166bcbd463e5cec2f"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/fea/8921d575cfe11/aiohttp-3.9.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                42
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=2ad8b4b5d7cbf5866eeecb2d89e82a1d9693b1c393651d10c113ab380f5025bc",
          "hashes": {
            "sha256": "2ad8b4b5d7cbf5866eeecb2d89e82a1d9693b1c393651d10c113ab380f5025bc"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/2ad/8b4b5d7cbf586/aiohttp-3.9.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                43
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=dfe5bd6a6f151448d9f683e37c5d54de33cf6f31555460058818b2d109c1b2d4",
          "hashes": {
            "sha256": "dfe5bd6a6f151448d9f683e37c5d54de33cf6f31555460058818b2d109c1b2d4"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/dfe/5bd6a6f151448/aiohttp-3.9.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                43
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=023f19038ae9a3ef9f2259316b675b059a9a62accf3b05d744ec61a394fa16b8",
          "hashes": {
            "sha256": "023f19038ae9a3ef9f2259316b675b059a9a62accf3b05d744ec61a394fa16b8"
          },
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/023/f19038ae9a3ef/aiohttp-3.9.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                7,
                27,
                12,
                22,
                44
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    },
    "3.8.6+ppc64le1": {
      "name": "aiohttp",
      "version": "3.8.6+ppc64le1",
      "metadata_version": "2.1",
      "summary": "Async http client/server framework (asyncio)",
      "home_page": "https://github.com/aio-libs/aiohttp",
      "author": "",
      "author_email": "",
      "maintainer": "aiohttp team <team@aiohttp.org>",
      "maintainer_email": "team@aiohttp.org",
      "license": "Apache 2",
      "description": "==================================\nAsync http client/server framework\n==================================\n\n.. image:: https://raw.githubusercontent.com/aio-libs/aiohttp/master/docs/aiohttp-plain.svg\n   :height: 64px\n   :width: 64px\n   :alt: aiohttp logo\n\n|\n\n.. image:: https://github.com/aio-libs/aiohttp/workflows/CI/badge.svg\n   :target: https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI\n   :alt: GitHub Actions status for master branch\n\n.. image:: https://codecov.io/gh/aio-libs/aiohttp/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/aio-libs/aiohttp\n   :alt: codecov.io status for master branch\n\n.. image:: https://badge.fury.io/py/aiohttp.svg\n   :target: https://pypi.org/project/aiohttp\n   :alt: Latest PyPI package version\n\n.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest\n   :target: https://docs.aiohttp.org/\n   :alt: Latest Read The Docs\n\n.. image:: https://img.shields.io/matrix/aio-libs:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs:matrix.org\n   :alt: Matrix Room \u2014 #aio-libs:matrix.org\n\n.. image:: https://img.shields.io/matrix/aio-libs-space:matrix.org?label=Discuss%20on%20Matrix%20at%20%23aio-libs-space%3Amatrix.org&logo=matrix&server_fqdn=matrix.org&style=flat\n   :target: https://matrix.to/#/%23aio-libs-space:matrix.org\n   :alt: Matrix Space \u2014 #aio-libs-space:matrix.org\n\n\nKey Features\n============\n\n- Supports both client and server side of HTTP protocol.\n- Supports both client and server Web-Sockets out-of-the-box and avoids\n  Callback Hell.\n- Provides Web-server with middlewares and plugable routing.\n\n\nGetting started\n===============\n\nClient\n------\n\nTo get something from the web:\n\n.. code-block:: python\n\n  import aiohttp\n  import asyncio\n\n  async def main():\n\n      async with aiohttp.ClientSession() as session:\n          async with session.get('http://python.org') as response:\n\n              print(\"Status:\", response.status)\n              print(\"Content-type:\", response.headers['content-type'])\n\n              html = await response.text()\n              print(\"Body:\", html[:15], \"...\")\n\n    asyncio.run(main())\n\nThis prints:\n\n.. code-block::\n\n    Status: 200\n    Content-type: text/html; charset=utf-8\n    Body: <!doctype html> ...\n\nComing from `requests <https://requests.readthedocs.io/>`_ ? Read `why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>`_.\n\nServer\n------\n\nAn example using a simple server:\n\n.. code-block:: python\n\n    # examples/server_simple.py\n    from aiohttp import web\n\n    async def handle(request):\n        name = request.match_info.get('name', \"Anonymous\")\n        text = \"Hello, \" + name\n        return web.Response(text=text)\n\n    async def wshandle(request):\n        ws = web.WebSocketResponse()\n        await ws.prepare(request)\n\n        async for msg in ws:\n            if msg.type == web.WSMsgType.text:\n                await ws.send_str(\"Hello, {}\".format(msg.data))\n            elif msg.type == web.WSMsgType.binary:\n                await ws.send_bytes(msg.data)\n            elif msg.type == web.WSMsgType.close:\n                break\n\n        return ws\n\n\n    app = web.Application()\n    app.add_routes([web.get('/', handle),\n                    web.get('/echo', wshandle),\n                    web.get('/{name}', handle)])\n\n    if __name__ == '__main__':\n        web.run_app(app)\n\n\nDocumentation\n=============\n\nhttps://aiohttp.readthedocs.io/\n\n\nDemos\n=====\n\nhttps://github.com/aio-libs/aiohttp-demos\n\n\nExternal links\n==============\n\n* `Third party libraries\n  <http://aiohttp.readthedocs.io/en/latest/third_party.html>`_\n* `Built with aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/built_with.html>`_\n* `Powered by aiohttp\n  <http://aiohttp.readthedocs.io/en/latest/powered_by.html>`_\n\nFeel free to make a Pull Request for adding your link to these pages!\n\n\nCommunication channels\n======================\n\n*aio-libs discourse group*: https://aio-libs.discourse.group\n\n*gitter chat* https://gitter.im/aio-libs/Lobby\n\nWe support `Stack Overflow\n<https://stackoverflow.com/questions/tagged/aiohttp>`_.\nPlease add *aiohttp* tag to your question there.\n\nRequirements\n============\n\n- Python >= 3.6\n- async-timeout_\n- attrs_\n- charset-normalizer_\n- multidict_\n- yarl_\n- frozenlist_\n\nOptionally you may install the cChardet_ and aiodns_ libraries (highly\nrecommended for sake of speed).\n\n.. _charset-normalizer: https://pypi.org/project/charset-normalizer\n.. _aiodns: https://pypi.python.org/pypi/aiodns\n.. _attrs: https://github.com/python-attrs/attrs\n.. _multidict: https://pypi.python.org/pypi/multidict\n.. _frozenlist: https://pypi.org/project/frozenlist/\n.. _yarl: https://pypi.python.org/pypi/yarl\n.. _async-timeout: https://pypi.python.org/pypi/async_timeout\n.. _cChardet: https://pypi.python.org/pypi/cchardet\n\nLicense\n=======\n\n``aiohttp`` is offered under the Apache 2 license.\n\n\nKeepsafe\n========\n\nThe aiohttp community would like to thank Keepsafe\n(https://www.getkeepsafe.com) for its support in the early days of\nthe project.\n\n\nSource code\n===========\n\nThe latest developer version is available in a GitHub repository:\nhttps://github.com/aio-libs/aiohttp\n\nBenchmarks\n==========\n\nIf you are interested in efficiency, the AsyncIO community maintains a\nlist of benchmarks on the official wiki:\nhttps://github.com/python/asyncio/wiki/Benchmarks\n\n\n",
      "keywords": "",
      "platform": [],
      "classifiers": [
        "Development Status :: 5 - Production/Stable",
        "Framework :: AsyncIO",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: POSIX",
        "Operating System :: MacOS :: MacOS X",
        "Operating System :: Microsoft :: Windows",
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        "Topic :: Internet :: WWW/HTTP",
        "Environment :: MetaData :: IBM Python Ecosystem"
      ],
      "download_url": "",
      "supported_platform": [],
      "comment": "",
      "provides": [],
      "requires": [],
      "obsoletes": [],
      "project_urls": [
        "Chat: Matrix, https://matrix.to/#/#aio-libs:matrix.org",
        "Chat: Matrix Space, https://matrix.to/#/#aio-libs-space:matrix.org",
        "CI: GitHub Actions, https://github.com/aio-libs/aiohttp/actions?query=workflow%3ACI",
        "Coverage: codecov, https://codecov.io/github/aio-libs/aiohttp",
        "Docs: Changelog, https://docs.aiohttp.org/en/stable/changes.html",
        "Docs: RTD, https://docs.aiohttp.org",
        "GitHub: issues, https://github.com/aio-libs/aiohttp/issues",
        "GitHub: repo, https://github.com/aio-libs/aiohttp"
      ],
      "provides_dist": [],
      "obsoletes_dist": [],
      "requires_dist": [
        "attrs>=17.3.0",
        "charset-normalizer<4.0,>=2.0",
        "multidict<7.0,>=4.5",
        "async-timeout<5.0,>=4.0.0a3",
        "yarl<2.0,>=1.0",
        "frozenlist>=1.1.1",
        "aiosignal>=1.1.2",
        "idna-ssl>=1.0; python_version < \"3.7\"",
        "asynctest==0.13.0; python_version < \"3.8\"",
        "typing-extensions>=3.7.4; python_version < \"3.8\"",
        "aiodns; extra == \"speedups\"",
        "Brotli; extra == \"speedups\"",
        "cchardet; python_version < \"3.10\" and extra == \"speedups\""
      ],
      "requires_external": [],
      "requires_python": ">=3.6",
      "description_content_type": "text/x-rst",
      "provides_extras": "speedups",
      "dynamic": "",
      "license_expression": "",
      "license_file": "",
      "+links": [
        {
          "rel": "releasefile",
          "hash_spec": "sha256=a50c14931ad045a947059dc0d248c06a3f7195e72ed7022ad463393460bedbfb",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/a50/c14931ad045a9/aiohttp-3.8.6+ppc64le1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                2
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=99ddd05faf514448915e6333f43b92a7c14020e100d930d792efe2a518fc2f33",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/99d/dd05faf514448/aiohttp-3.8.6+ppc64le1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                3
              ],
              "dst": "ppc64le/linux"
            }
          ]
        },
        {
          "rel": "releasefile",
          "hash_spec": "sha256=be4c912eea3587f564aa55e5e8be0b83f688be28fc6b5d4ad65d2d828b811383",
          "href": "https://wheels.developerfirst.ibm.com/ppc64le/linux/+f/be4/c912eea3587f5/aiohttp-3.8.6+ppc64le1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl",
          "log": [
            {
              "what": "upload",
              "who": "ppc64le",
              "when": [
                2026,
                3,
                16,
                9,
                6,
                4
              ],
              "dst": "ppc64le/linux"
            }
          ]
        }
      ]
    }
  },
  "type": "projectconfig"
}
