Saltar a contenido

Sobre las versiones de FastAPI

FastAPI ya se está utilizando en producción en muchas aplicaciones y sistemas. Y la cobertura de tests se mantiene al 100%. Pero su desarrollo sigue avanzando rápidamente.

Se añaden nuevas funcionalidades con frecuencia, se corrigen bugs regularmente, y el código sigue mejorando continuamente.

Por eso las versiones actuales siguen siendo 0.x.x, esto refleja que cada versión podría tener potencialmente cambios incompatibles. Esto sigue las convenciones de Semantic Versioning.

Puedes crear aplicaciones de producción con FastAPI ahora mismo (y probablemente ya lo has estado haciendo desde hace algún tiempo), solo debes asegurarte de que utilizas una versión que funciona correctamente con el resto de tu código.

Fijar tu versión de fastapi

Lo primero que debes hacer es "fijar" la versión de FastAPI que estás usando a la versión específica más reciente que sabes que funciona correctamente para tu aplicación.

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

Si usas un archivo requirements.txt podrías especificar la versión con:

fastapi[standard]==0.112.0

eso significaría que usarías exactamente la versión 0.112.0.

O también podrías fijarla con:

fastapi[standard]>=0.112.0,<0.113.0

eso significaría que usarías las versiones 0.112.0 o superiores, pero menores que 0.113.0, por ejemplo, una versión 0.112.2 todavía sería aceptada.

Si utilizas cualquier otra herramienta para gestionar tus instalaciones, como uv, 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 más reciente) en las Release Notes.

Sobre las versiones

Siguiendo las convenciones del Semantic Versioning, cualquier versión por debajo de 1.0.0 podría potencialmente añadir cambios incompatibles.

FastAPI también sigue la convención de que cualquier cambio de versión "PATCH" es para corrección de bugs y cambios no incompatibles.

Consejo

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

Así que deberías poder fijar a una versión como:

fastapi>=0.45.0,<0.46.0

Los cambios incompatibles y nuevas funcionalidades se añaden en versiones "MINOR".

Consejo

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

Actualizando las versiones de FastAPI

Deberías añadir tests para tu aplicación.

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

Después de tener tests, puedes actualizar la versión de FastAPI a una más reciente, y asegurarte de que todo tu código está funcionando correctamente ejecutando tus tests.

Si todo está funcionando, o después de hacer los cambios necesarios, y todos tus tests pasan, entonces puedes fijar tu fastapi a esa nueva versión más reciente.

Sobre Starlette

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

Diferentes versiones de FastAPI utilizarán una versión más reciente específica de Starlette.

Así que, puedes simplemente dejar que FastAPI use la versión correcta de Starlette.

Sobre Pydantic

Pydantic incluye los tests para FastAPI con sus propios tests, así que nuevas versiones de Pydantic (por encima de 1.0.0) siempre son compatibles con FastAPI.

Puedes fijar Pydantic a cualquier versión por encima de 1.0.0 que funcione para ti.

Por ejemplo:

pydantic>=2.7.0,<3.0.0