Saltar a contenido

Acerca de las versiones de FastAPI

FastAPI está siendo utilizado en producción en muchas aplicaciones y sistemas. La cobertura de los tests se mantiene al 100%. Sin embargo, su desarrollo sigue siendo rápido.

Se agregan nuevas características frecuentemente, se corrigen errores continuamente y el código está constantemente mejorando.

Por eso las versiones actuales siguen siendo 0.x.x, esto significa que cada versión puede potencialmente tener breaking changes. Las versiones siguen las convenciones de Semantic Versioning.

Puedes crear aplicaciones listas para producción con FastAPI ahora mismo (y probablemente lo has estado haciendo por algún tiempo), solo tienes que asegurarte de usar la versión que funciona correctamente con el resto de tu código.

Fijar la versión de fastapi

Lo primero que debes hacer en tu proyecto es "fijar" la última versión específica de FastAPI que sabes que funciona bien con tu aplicación.

Por ejemplo, digamos que estás usando la versión 0.45.0 en tu aplicación.

Si usas el archivo requirements.txt puedes especificar la versión con:

fastapi==0.45.0

esto significa que usarás específicamente la versión 0.45.0.

También puedes fijar las versiones de esta forma:

fastapi>=0.45.0,<0.46.0

esto significa que usarás la versión 0.45.0 o superiores, pero menores a la versión 0.46.0, por ejemplo, la versión 0.45.2 sería aceptada.

Si usas cualquier otra herramienta para manejar tus instalaciones, como Poetry, Pipenv, u otras, todas tienen una forma que puedes usar para definir versiones específicas para tus paquetes.

Versiones disponibles

Puedes ver las versiones disponibles (por ejemplo, para revisar cuál es la actual) en las Release Notes.

Acerca de las versiones

Siguiendo las convenciones de Semantic Versioning, cualquier versión por debajo de 1.0.0 puede potencialmente tener breaking changes.

FastAPI también sigue la convención de que cualquier cambio hecho en una "PATCH" version es para solucionar errores y non-breaking changes.

Tip

El "PATCH" es el último número, por ejemplo, en 0.2.3, la PATCH version es 3.

Entonces, deberías fijar la versión así:

fastapi>=0.45.0,<0.46.0

En versiones "MINOR" son añadidas nuevas características y posibles breaking changes.

Tip

La versión "MINOR" es el número en el medio, por ejemplo, en 0.2.3, la "MINOR" version es 2.

Actualizando las versiones de FastAPI

Para esto es recomendable primero añadir tests a tu aplicación.

Con FastAPI es muy fácil (gracias a Starlette), revisa la documentación Testing

Luego de tener los tests, puedes actualizar la versión de FastAPI a una más reciente y asegurarte de que tu código funciona correctamente ejecutando los tests.

Si todo funciona correctamente, o haces los cambios necesarios para que esto suceda, y todos tus tests pasan, entonces puedes fijar tu versión de fastapi a la más reciente.

Acerca de Starlette

No deberías fijar la versión de starlette.

Diferentes versiones de FastAPI pueden usar una versión específica de Starlette.

Entonces, puedes dejar que FastAPI se asegure por sí mismo de qué versión de Starlette usar.

Acerca de Pydantic

Pydantic incluye los tests para FastAPI dentro de sus propios tests, esto significa que las versiones de Pydantic (superiores a 1.0.0) son compatibles con FastAPI.

Puedes fijar Pydantic a cualquier versión superior a 1.0.0 e inferior a 2.0.0 que funcione para ti.

Por ejemplo:

pydantic>=1.2.0,<2.0.0