跳转至

FastAPI 版本

现已有很多应用和系统在生产环境中使用 FastAPI,并且测试覆盖率保持在 100%。但 FastAPI 的开发速度依然很快。

新特性在频频增加,bug 在定期修复,代码质量也在不断改进。

因此当前版本仍是 0.x.x,这说明每次版本更新都可能推出潜在的破坏性更改。这也是遵循语义版本控制的惯例。

目前,您尽可放心使用 FastAPI 创建生产环境下的应用(可能您已经这么做了),只要保证使用的版本能让代码正常运行就可以了。

限定 fastapi 版本

首先,要把 FastAPI 的版本限定为能让您的应用正常运行的最新版本。

例如,假设您的应用使用的是 0.45.0 版。

使用 requirements.txt 文件时需要指定版本:

fastapi==0.45.0

这样使用的版本就是 0.45.0

或使用如下方式限定版本:

fastapi>=0.45.0,<0.46.0

这种方式使用 0.45.00.46.0 之间的版本,比如,可以使用 0.45.2 版。

如果使用 Poetry、Pipenv 等工具安装支持库,这些工具都支持按指定版本安装支持库。

可用版本

查看发布说明了解可用的版本(比如查看当前最新版)。

关于版本

遵循语义版本控制惯例,低于 1.0.0 的任何版本都可能存在潜在的破坏性更改。

FastAPI 还遵循为修复 bug 和非破坏性更改的补丁版本变更惯例。

提示

补丁号是最后一个数字,例如在 0.2.3 中,补丁号是 3

因此,推荐以如下方式限定版本:

fastapi>=0.45.0,<0.46.0

破坏性变更与新功能在次版本中添加。

提示

次版本号是中间的数字,例如在 0.2.3 中,次版本号是 2

更新 FastAPI 版本

测试应用是非常必要的。

借助于 Starlette,测试 FastAPI 应用变得非常容易,详见文档:测试

测试之后,要把 FastAPI 升级到更新的版本,此时要确保所有代码都能通过测试。

只要所有功能都能正常运行,或进行了必要的调整,通过所有测试后,就可以放心把您使用的 fastapi 升级为最新版。

关于 Starlette

不要限定 starlette 的版本。

FastAPI 各个版本均使用指定版本的 Starlette。

因此,让 FastAPI 选择正确版本的 Starlette 就可以了。

关于 Pydantic

Pydantic 在其自身的测试中包含对 FastAPI 的测试,因此新版 Pydantic (1.0.0 以上)都兼容 FastAPI。

您可以限定使用任何 1.0.0 版以上至 2.0.0 版以下的 Pydantic。

例如:

pydantic>=1.2.0,<2.0.0