关于 FastAPI 版本

FastAPI 已在许多应用程序和系统的生产环境中使用。 并且测试覆盖率保持在100%。 但其开发进度仍在快速推进。

经常添加新功能,定期修复错误,并且代码仍在持续改进。

这就是为什么当前版本仍然是0.x.x,这反映出每个版本都可能有Breaking changes。 这遵循语义版本控制的约定。

你现在就可以使用 FastAPI 创建生产环境应用程序(你可能已经这样做了一段时间),你只需确保使用的版本可以与其余代码正确配合即可。

固定你的 fastapi 版本

你应该做的第一件事是将你正在使用的 FastAPI 版本“固定”到你知道适用于你的应用程序的特定最新版本。

例如,假设你在应用程序中使用版本0.45.0

如果你使用requirements.txt文件,你可以使用以下命令指定版本:

  1. fastapi==0.45.0

这意味着你将使用版本0.45.0

或者你也可以将其固定为:

  1. fastapi>=0.45.0,<0.46.0

这意味着你将使用0.45.0或更高版本,但低于0.46.0,例如,版本0.45.2仍会被接受。

如果你使用任何其他工具来管理你的安装,例如 Poetry、Pipenv 或其他工具,它们都有一种定义包的特定版本的方法。

可用版本

你可以在发行说明中查看可用版本(例如查看当前最新版本)。

关于版本

遵循语义版本控制约定,任何低于1.0.0的版本都可能会添加 breaking changes。

FastAPI 还遵循这样的约定:任何PATCH版本更改都是为了bug修复和non-breaking changes。

Tip

“PATCH”是最后一个数字,例如,在0.2.3中,PATCH版本是3

因此,你应该能够固定到如下版本:

  1. fastapi>=0.45.0,<0.46.0

“MINOR”版本中会添加breaking changes和新功能。

Tip

“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以上和2.0.0以下的任何版本。

例如:

  1. pydantic>=1.2.0,<2.0.0