ページ内ナビ
概要
aiohttpはPythonのasyncio向けHTTP client/server frameworkです。ClientSessionによる非同期HTTP client、middlewareとroutingを持つWeb server、client/server両方のWebSocketを一つのpackageで提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
ClientSessionで非同期HTTP requestとconnection reuseを扱う
aiohttp.ClientSessionをcontext managerとして使い、GET/POST等のrequest、response body、headerを非同期に処理できます。session単位でconnectionを再利用し、asyncio applicationの外部I/Oをevent loopへ統合できます。
出典:[2]
routing・middleware・WebSocketを備えたHTTP serverを構築する
aiohttp.web.Applicationとroute handlerからHTTP serverを作成でき、middlewareやpluggable routingを利用できます。WebSocketはclient/server両方を標準で扱えます。
出典:[2]
向いている用途
HTTP clientと軽量async serverを同じasyncio stackで揃えたいbackendに向く
外部APIへの多数の非同期request、WebSocket connection、軽量service endpointなどを同じasyncio ecosystemで実装したい場合に適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]aio-libs/aiohttp — GitHub repository(2026-10-06)
- [2]aiohttp 3.14.4 — README(2026-10-06)
- [3]aiohttp 3.14.4 — pyproject.toml(2026-10-06)
- [4]aiohttp 3.14.4 release(2026-10-06)
- [5]aiohttp license(2026-10-06)
編集部からの補足
clientとserverの両方をasyncioで揃えられる点が特徴です。大量requestではClientSessionをrequestごとに作らず再利用し、server側ではbody/form limitやtimeoutを明示して運用してください。
3ステップで試す
- 1
aiohttp 3.14.4を導入する
確認対象の安定版を固定して導入します。Python 3.10以上が必要です。
python -m pip install "aiohttp==3.14.4" - 2
localhost用の最小Web serverを作る
公式READMEのserver構成を最小化し、localhostだけで確認できるendpointを作ります。
cat > aiohttp_demo.py <<'PY' from aiohttp import web async def hello(request): return web.Response(text='hello aiohttp') app = web.Application() app.add_routes([web.get('/', hello)]) web.run_app(app, host='127.0.0.1', port=8080) PY - 3
serverを起動してresponseを確認する
serverを起動し、別端末からhello aiohttpが返ることを確認します。
python aiohttp_demo.py # 別端末で: curl -fsS http://127.0.0.1:8080/
成長
成長の推移 · 直近30日
16,569 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- aiohttp
- async
- asyncio
- hacktoberfest
- http
- http-client
- http-server
- python
- Stars
- 16,569
- Forks
- 2,439
- Watchers
- 215
- Open Issues
- 221
- Contributors
- 416
- 所有者種別
- Organization
- 主要言語
- Python
- ライセンス
- Apache-2.0 AND MIT
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Dropwizard8,582 Stars
共通タグ 3件 · 共通カテゴリ 2件
Jetty・Jersey・Jackson・Metricsをまとめてproduction-readyなJava REST serviceを構築する
Java - HTTPie CLI38,647 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
API requestを人が読めるterminal syntaxで組み立てる
Python - Starlette12,655 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
ASGIの小さな部品を組み合わせて非同期Webサービスを構築するPythonフレームワーク
Python - Poem4,445 Stars
共通タグ 4件 · 共通カテゴリ 2件
routing・extractor・middlewareを組み合わせてRustのHTTP serverを構築するWeb framework
Rust - Salvo4,438 Stars
共通タグ 4件 · 共通カテゴリ 2件
HTTP/1・2・3、OpenAPI、WebSocketまで一体で扱うRust Web framework
Rust - Flask74,897 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
PythonでURLルーティング・request処理・Jinja templateを組み立てる軽量WSGIフレームワーク
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。