ページ内ナビ
概要
UvicornはPython向けのASGI Webサーバーです。ASGIによりアプリケーションとサーバーを分離し、非同期フレームワークをHTTP/1.1、WebSocket、必要に応じて実験的なHTTP/2で配信できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
ASGIアプリをフレームワークから独立したサーバーとして起動する
module:app形式でASGIアプリを読み込み、HTTP/1.1とWebSocketを配信できます。ASGIがサーバーとアプリケーションの境界を定義するため、StarletteやFastAPIなどの非同期アプリを同じサーバー実装へ接続できます。
出典:[2]
向いている用途
非同期Python APIをフレームワークとサーバーで分離して運用したい構成に向く
ASGI対応フレームワークを独立したWebサーバーで起動し、開発時のreloadや本番のプロセス構成をアプリケーションコードから分離したいバックエンドに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]Kludex/uvicorn — GitHub repository(2026-10-06)
- [2]Uvicorn 0.54.0 — README(2026-10-06)
- [3]Uvicorn 0.54.0 — pyproject.toml(2026-10-06)
- [4]Uvicorn 0.54.0 release(2026-10-06)
- [5]Uvicorn BSD-3-Clause license(2026-10-06)
編集部からの補足
ASGIフレームワークとWebサーバーを分離して選べる点が導入判断の中心です。standard extraは便利ですが、不要なreload・WebSocket・設定系依存まで含める必要があるかは本番構成に合わせて決めてください。
3ステップで試す
- 1
Uvicorn 0.54.0を導入する
READMEのstandard extraをversion固定で導入します。Python 3.10以上が必要です。
python -m pip install "uvicorn[standard]==0.54.0" - 2
最小のASGIアプリを作る
公式READMEのQuickstartにある最小ASGI applicationをexample.pyへ保存します。
cat > example.py <<'PY' async def app(scope, receive, send): assert scope['type'] == 'http' await send({'type': 'http.response.start', 'status': 200, 'headers': [(b'content-type', b'text/plain')]}) await send({'type': 'http.response.body', 'body': b'Hello, world!'}) PY - 3
Uvicornで配信する
serverを起動し、別端末またはブラウザからhttp://127.0.0.1:8000/へアクセスしてHello, world!を確認します。
uvicorn example:app
成長
成長の推移 · 直近30日
11,009 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- asgi
- asyncio
- http
- http-server
- python
- Stars
- 11,009
- Forks
- 1,056
- Watchers
- 95
- Open Issues
- 112
- Contributors
- 210
- 所有者種別
- User
- 主要言語
- Python
- ライセンス
- BSD-3-Clause
- リポジトリ最終更新
- 2026/10/02
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Eclipse Jetty4,097 Stars
共通タグ 2件
HTTP/1・2・3・WebSocket・Servletをstandalone/embeddedで扱うJava web server/container
Java - gRPC45,365 Stars
共通タグ 1件 · 共通カテゴリ 2件
Protocol Buffersでservice contractを定義しHTTP/2上で高性能RPCを実装するmulti-language framework
C++ - gRPC-Go23,092 Stars
共通タグ 1件 · 共通カテゴリ 2件
Protocol BuffersとHTTP/2でGo service間のtyped RPCを実装するgRPC runtime
Go - aiohttp16,569 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
asyncioでHTTP client・server・WebSocketを構築するPython framework
Python - Gunicorn10,694 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
prefork型のworker管理でPython WSGI・ASGIアプリを配信するUNIX向けHTTPサーバー
Python - Hyper16,351 Stars
共通タグ 2件 · 共通カテゴリ 2件
HTTP/1・HTTP/2のclient/serverを組み立てるRustの低レベルHTTPライブラリ
Rust
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。