コンテンツへスキップ

FastAPI バージョンについて

FastAPI は既に多くのアプリケーションやシステムで本番環境で使用されています。テストカバレッジは100%に維持されています。しかし、開発は依然として急速に進んでいます。

新しい機能が頻繁に追加され、バグは定期的に修正され、コードは継続的に改善されています。

そのため、現在のバージョンはまだ0.x.xです。これは、各バージョンが潜在的に破壊的な変更を含む可能性があることを反映しています。これはセマンティックバージョニングの規約に従っています。

FastAPIを使用して、今すぐ本番アプリケーションを作成できます(おそらく既にしばらくの間行っているでしょう)。必要なのは、コードの残りの部分と正しく動作するバージョンを使用することだけです。

fastapi バージョンの固定

まず最初にすべきことは、使用しているFastAPIのバージョンを、アプリケーションで正しく動作することがわかっている特定の最新バージョンに「固定」することです。

たとえば、アプリケーションでバージョン0.112.0を使用しているとします。

requirements.txtファイルを使用する場合は、次のようにバージョンを指定できます。

fastapi[standard]==0.112.0

これは、正確にバージョン0.112.0を使用することを意味します。

または、次のように固定することもできます。

fastapi[standard]>=0.112.0,<0.113.0

これは、0.112.0以上、0.113.0未満のバージョンを使用することを意味します。たとえば、バージョン0.112.2も受け入れられます。

uv、Poetry、Pipenvなど、インストールを管理するための他のツールを使用している場合、それらのツールにはすべて、パッケージに特定のバージョンを定義する方法があります。

利用可能なバージョン

利用可能なバージョン(現在の最新バージョンを確認する場合など)は、リリースノートで確認できます。

バージョンについて

セマンティックバージョニングの規約に従って、1.0.0未満のバージョンには、破壊的な変更が含まれる可能性があります。

FastAPI はまた、「PATCH」バージョンの変更はバグ修正と非破壊的な変更であるという規約に従っています。

ヒント

「PATCH」は最後の数字です。たとえば、0.2.3では、PATCHバージョンは3です。

そのため、次のようなバージョンに固定できます。

fastapi>=0.45.0,<0.46.0

破壊的な変更と新しい機能は「MINOR」バージョンに追加されます。

ヒント

「MINOR」は中央の数字です。たとえば、0.2.3では、MINORバージョンは2です。

FastAPI バージョンのアップグレード

アプリケーションのテストを追加する必要があります。

FastAPIでは(Starletteのおかげで)非常に簡単です。ドキュメントを参照してください:テスト

テストを作成したら、FastAPIのバージョンをより新しいバージョンにアップグレードし、テストを実行してすべてのコードが正しく動作することを確認できます。

すべてが動作している場合、または必要な変更を加え、すべてのテストがパスした場合、fastapiをその新しい最新バージョンに固定できます。

Starlette について

starletteのバージョンは固定しないでください。

異なるバージョンのFastAPIは、特定の新しいバージョンのStarletteを使用します。

そのため、FastAPIが適切なStarletteバージョンを使用できるようにするだけです。

Pydantic について

Pydantic はFastAPI のテストを自身のテストに含めているため、新しいバージョンの Pydantic(1.0.0 以上)は常に FastAPI と互換性があります。

Pydantic は、ご使用の環境で動作する1.0.0以上の任意のバージョンに固定できます。

例:

pydantic>=2.7.0,<3.0.0