コンテンツへスキップ

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