As a backend project, aio-libs/aiohttp has picked up 16.5k stars on GitHub (Python). Asynchronous HTTP client/server framework for asyncio and Python
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
.. image:: https://readthedocs.org/projects/aiohttp/badge/?version=latest
:target: https://docs.aiohttp.org/
:alt: Latest Read The Docs
.. image:: https://img.shields.io/endpoint?url=https://codspeed.io/badge.json
:target: https://codspeed.io/aio-libs/aiohttp
:alt: Codspeed.io status for aiohttp
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 middleware and pluggable routing.
Getting started
Client
To get something from the web:
.. code-block:: python
import aiohttp
import asyncio
async def main():
async with aiohttp.ClientSession() as session:
async with session.get('https://python.org') as response:
print("Status:", response.status)
print("Content-type:", response.headers['content-type'])
html = await response.text()
print("Body:", html[:15], "...")
Coming from requests <https://requests.readthedocs.io/>_ ? Read why we need so many lines <https://aiohttp.readthedocs.io/en/latest/http_request_lifecycle.html>_.
Server
An example using a simple server:
.. code-block:: python
# 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
External links
Third party libraries <https://aiohttp.readthedocs.io/en/latest/third_party.html>_
Built with aiohttp <https://aiohttp.readthedocs.io/en/latest/built_with.html>_
Powered by aiohttp <https://aiohttp.readthedocs.io/en/latest/powered_by.html>_
Feel free to make a Pull Request for adding your link to these pages!
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
The most recent commit recorded on aio-libs/aiohttp was 21 days ago, based on the GitHub push timestamp. The repository has 2.4k forks — one of the better signals of community interest.
How does aio-libs/aiohttp compare to other Backend projects?
aio-libs/aiohttp is tracked by TopGit in the Backend category, with 16.5k GitHub stars and written in Python. Browse the Backend topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does aio-libs/aiohttp have?
aio-libs/aiohttp has 16.5k GitHub stars — refresh the page for the live number, or check github.com/aio-libs/aiohttp. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What is aio-libs/aiohttp?
aio-libs/aiohttp (aio-libs/aiohttp) is a Python project on GitHub. From the project's own README: Asynchronous HTTP client/server framework for asyncio and Python
What language is aio-libs/aiohttp written in?
aio-libs/aiohttp is written primarily in Python. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is aio-libs/aiohttp associated with?
GitHub's repository topics for aio-libs/aiohttp: "aiohttp", "async", "asyncio", "hacktoberfest", "http", "http-client", "http-server", "python". TopGit's editorial category is Backend.
Why is aio-libs/aiohttp categorized under Backend?
TopGit places aio-libs/aiohttp in the Backend category based on its GitHub topics and description (tagged: "aiohttp", "async", "asyncio"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Want a second opinion on aiohttp?
Ask an AI that can read this page — one click and you get its take on aiohttp.