| 開発者 | セバスティアン・ラミレス |
|---|---|
| 初回リリース | 2018年12月5日[1] |
| 安定リリース | 0.115.5 [2]
/ 2024年11月12日 |
| リポジトリ | github.com/tiangolo/fastapi |
| 書かれた | パイソン |
| タイプ | ウェブフレームワーク |
| ライセンス | マサチューセッツ工科大学 |
| Webサイト | 翻訳元 |
FastAPIは、Python 3.8以降でHTTPベースのサービスAPIを構築するための高性能ウェブフレームワークです。[3] Pydanticと型ヒントを使用して、データの検証、シリアル化、デシリアル化を行います。また、FastAPIは、それを使用して構築されたAPIのOpenAPIドキュメントを自動的に生成します。 [4] 2018年に初めてリリースされました。
コンポーネント
ピダンティック
PydanticはPython用のデータ検証ライブラリです。IDEでコードを記述する際に、Pydanticは型注釈を通じてスキーマ検証とシリアル化のための型ヒントを提供します。[5]
スターレット
StarletteはPythonの非同期機能をサポートする軽量ASGIフレームワーク/ツールキットです。 [6]
ユビコーン
Uvicorn は、ASGI 仕様に準拠した、非同期フレームワーク用の最小限の低レベル サーバー/アプリケーション Web サーバーです。技術的には、1 つのメイン プロセスを持つマルチプロセス モデルを実装し、ワーカー プロセスのプールを管理し、着信 HTTP リクエストをワーカー プロセスに分配します。ワーカー プロセスの数は事前に構成されていますが、実行時に増減することもできます。[7]
オープンAPI統合
FastAPIは、APIのOpenAPIドキュメントを自動的に生成します。このドキュメントには、Swagger UIとReDocの両方が含まれており、エンドポイントをリアルタイムで探索およびテストするために使用できるインタラクティブなAPIドキュメントを提供します。これは、APIの開発、テスト、および他の開発者やユーザーとのAPIの共有に特に役立ちます。[8]
例
次のコードは、アクセス時に「 Hello World !」と表示する単純な Web アプリケーションを示しています。
fastapi からFastAPIをインポートする
アプリ = FastAPI ()
@app . get ( "/" )
read_root ()を定義します:
「Hello World!」を返します。
参照
- Django (ウェブフレームワーク)
- Flask (ウェブフレームワーク)
- パイロンプロジェクト
- ウェブ2py
- トルネード(ウェブサーバー)
- サーバーサイドウェブフレームワークの比較 § Python
- 休む
- Python (プログラミング言語)
外部リンク
- 公式サイト
- GitHubの fastapi
参考文献
- ^ 「fastapi リポジトリ」。GitHub。2018-12-05。
- ^ “リリース 0.115.5”. 2024年11月12日. 2024年11月23日閲覧。
- ^ 「FastAPI」. fastapi.tiangolo.com . 2024年4月10日閲覧。
- ^ Lubanovic, Bill (2019-11-06). Introducing Python: Modern Computing in Simple Packages (第2版). O'Reilly Media, Inc. pp. 397, 418. ISBN 9781492051367。
- ^ 「Pydantic を使用する理由 - Pydantic」。docs.pydantic.dev。2023年 9 月 21 日閲覧。
- ^ “Starlette”. www.starlette.io . 2023年9月21日閲覧。
- ^ 「'SIGHUP' シグナルで 'uvicorn' ワーカーを再起動する」。bugfactory.io 。2024年 6 月 17 日閲覧。
- ^ https://fastapi.tiangolo.com/reference/openapi/docs/
