ページ内ナビ
概要
StarletteはPython向けの軽量なASGIフレームワーク/ツールキットです。HTTPルーティング、WebSocket、バックグラウンドタスク、起動・終了処理、CORS、GZip、静的ファイル、ストリーミング応答、セッションなどを小さな部品として提供し、非同期Webサービスを構成できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
HTTP・WebSocket・ミドルウェアを必要な粒度で組み合わせる
ルーティング、HTTP応答、WebSocket、バックグラウンドタスク、CORS、GZip、静的ファイル、ストリーミング応答、セッションなどを個別の部品として利用できます。完成済みの枠組みとして使うだけでなく、ASGIツールキットとして必要な部品だけを取り込めます。
出典:[2]
向いている用途
非同期APIや再利用可能なASGI部品を小さく構成したいバックエンドに向く
大きなフルスタック構成より、HTTP・WebSocket・ミドルウェアなどの境界を明示しながら非同期サービスを組み立てたい場合に向きます。ASGIの部品を他のアプリやミドルウェアと共有したい構成にも適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]Kludex/starlette — GitHub repository(2026-10-06)
- [2]Starlette 1.7.0 — README(2026-10-06)
- [3]Starlette 1.7.0 — pyproject.toml(2026-10-06)
- [4]Starlette 1.7.0 release(2026-10-06)
- [5]Starlette BSD-3-Clause license(2026-10-06)
編集部からの補足
フルスタック機能を一式で抱えるより、ASGIのHTTP・WebSocket・ミドルウェアを必要な粒度で組み合わせたい場合に向きます。依存が少ないぶん、データベースや認証など周辺機能の選定はアプリ側で明示的に行います。
3ステップで試す
- 1
Starlette 1.7.0とUvicornを導入する
確認対象のStarletteと、READMEで案内されているASGI serverをversion固定で導入します。Python 3.10以上が必要です。
python -m pip install "starlette==1.7.0" "uvicorn==0.54.0" - 2
最小のStarletteアプリを作る
公式READMEのrouting例を最小構成にしてmain.pyへ保存します。
cat > main.py <<'PY' from starlette.applications import Starlette from starlette.responses import JSONResponse from starlette.routing import Route async def homepage(request): return JSONResponse({'hello': 'world'}) app = Starlette(routes=[Route('/', homepage)]) PY - 3
ASGI serverで起動する
Uvicornで起動し、別端末またはブラウザからhttp://127.0.0.1:8000/へアクセスしてJSON responseを確認します。
uvicorn main:app
成長
成長の推移 · 直近30日
12,655 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- asgi
- async
- http
- python
- websockets
- Stars
- 12,655
- Forks
- 1,361
- Watchers
- 100
- Open Issues
- 58
- Contributors
- 340
- 所有者種別
- User
- 主要言語
- Python
- ライセンス
- BSD-3-Clause
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- HTTPX15,526 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
同期・非同期APIとHTTP/2を同じ設計で扱うPython HTTP client
Python - Express69,541 Stars
共通タグ 3件 · 共通カテゴリ 1件
routingとmiddlewareを薄いHTTP layerとして組み合わせ、Node.js API/Web backendを構築するframework
JavaScript - aiohttp16,569 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
asyncioでHTTP client・server・WebSocketを構築するPython framework
Python - Flask74,897 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
PythonでURLルーティング・request処理・Jinja templateを組み立てる軽量WSGIフレームワーク
Python - FastAPI102,814 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Pythonの型宣言から入力検証・依存注入・OpenAPIを一体化するAPI framework
Python - Django REST framework30,201 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Djangoのserializer・authentication・viewsetでWeb APIを構築するREST framework
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。