標準の型ヒントを使ってAPIを構築できるPython製Webフレームワーク。自動バリデーション、OpenAPIドキュメント、高いパフォーマンスを備えています。
Kludex/starlette
Pythonで非同期WebサービスやAPIを構築するための、軽量なASGIフレームワーク兼ツールキット。
- スター
- 12,676
- フォーク
- 1,383
- 未解決の Issue
- 46
- 最終コミット
- 昨日
これは何?
Starletteは、Pythonで非同期Webサービスを構築するための軽量なASGIフレームワーク兼ツールキットです。ルーティング、HTTPとWebSocketの処理、バックグラウンドタスク、起動・終了イベントのほか、CORS、GZip、セッションなどのミドルウェアを提供します。各コンポーネントは単独でも、組み合わせて完全なフレームワークとしても利用できます。
Starletteの必須依存関係はanyioのみです。テストクライアント、Jinja2テンプレート、フォーム解析、セッションなどの機能は、オプションの追加機能としてインストールできます。uvicornなどのASGIサーバー上で動作し、asyncioとtrioの両バックエンドに対応しています。
各コンポーネントはASGIインターフェースに準拠しているため、ミドルウェアやマウント可能なアプリケーションは、原理上ほかのASGIフレームワークとも共有できます。
主な機能
- 01軽量なHTTPルーティングとリクエスト/レスポンス処理。
- 02WebSocketに対応。
- 03プロセス内のバックグラウンドタスクと起動・終了イベント。
- 04CORS、GZip、静的ファイル、セッション/Cookie用の組み込みミドルウェア。
- 05httpx2をベースにしたテストクライアント。
- 06asyncioとtrioのバックエンドに対応。
ユースケース
- Pythonで非同期JSON APIやWebサービスを構築する。
- PythonバックエンドにWebSocketエンドポイントを追加する。
- カスタムスタックで、ミドルウェアやレスポンスなどの個別のASGIコンポーネントを利用する。
クイックスタート
- 1
Starletteをインストールする
pip install starlette - 2
uvicornなどのASGIサーバーをインストールする
pip install uvicorn - 3
例をmain.pyとして保存し、Uvicornで実行する
uvicorn main:app
使う前に知っておきたいこと
- Starletteはツールキットのため、サーバーや必要に応じた依存関係を自分で組み合わせる必要があります。
- 機能によっては、jinja2やpython-multipartなどの追加パッケージが必要です。
トピック
よくある質問
- starlette とは?
- Pythonで非同期WebサービスやAPIを構築するための、軽量なASGIフレームワーク兼ツールキット。 Starletteは、Pythonで非同期Webサービスを構築するための軽量なASGIフレームワーク兼ツールキットです。ルーティング、HTTPとWebSocketの処理、バックグラウンドタスク、起動・終了イベントのほか、CORS、GZip、セッションなどのミドルウェアを提供します。各コンポーネントは単独でも、組み合わせて完全なフレームワークとしても利用できます。
- starlette は無料で使えますか?ライセンスは?
- starlette は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- starlette は今もメンテナンスされていますか?
- 活発にメンテナンス中。starlette の最終コミットは 2026年10月18日 です。
- starlette は何に使えますか?
- Pythonで非同期JSON APIやWebサービスを構築する。 PythonバックエンドにWebSocketエンドポイントを追加する。 カスタムスタックで、ミドルウェアやレスポンスなどの個別のASGIコンポーネントを利用する。
- starlette のインストール方法は?
- Starletteをインストールする: pip install starlette uvicornなどのASGIサーバーをインストールする: pip install uvicorn 例をmain.pyとして保存し、Uvicornで実行する: uvicorn main:app
- starlette はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Kludex/starlette
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
FlutterベースのUIでWeb・デスクトップ・モバイルアプリを開発できる、フロントエンドの知識が不要なPythonフレームワーク。
Djangoでの開発に役立つサードパーティ製パッケージ、ツール、チュートリアル、資料を集めたコミュニティ運営のリストです。
金融などのデータソースを接続し、Python、Excel、AIエージェント、REST APIに提供するオープンソースのPythonデータプラットフォーム。
CLI、Pythonライブラリ、HTTPサーバー、Dockerで使える画像背景除去ツール。
テキストから楽曲をローカル生成できるオープンソースモデル。編集、カバー生成、LoRA学習にも対応。