-
-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🌐 Add Spanish translation for
docs/es/docs/deployment/index.md
and …
…`~/deployment/versions.md` (#9669) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com> Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
- Loading branch information
1 parent
2a60a05
commit 957e660
Showing
2 changed files
with
108 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Despliegue - Introducción | ||
|
||
Desplegar una aplicación hecha con **FastAPI** es relativamente fácil. | ||
|
||
## ¿Qué significa desplegar una aplicación? | ||
|
||
**Desplegar** una aplicación significa realizar una serie de pasos para hacerla **disponible para los usuarios**. | ||
|
||
Para una **API web**, normalmente implica ponerla en una **máquina remota**, con un **programa de servidor** que proporcione un buen rendimiento, estabilidad, etc, para que sus **usuarios** puedan **acceder** a la aplicación de manera eficiente y sin interrupciones o problemas. | ||
|
||
Esto difiere en las fases de **desarrollo**, donde estás constantemente cambiando el código, rompiéndolo y arreglándolo, deteniendo y reiniciando el servidor de desarrollo, etc. | ||
|
||
## Estrategias de despliegue | ||
|
||
Existen varias formas de hacerlo dependiendo de tu caso de uso específico y las herramientas que uses. | ||
|
||
Puedes **desplegar un servidor** tú mismo usando un conjunto de herramientas, puedes usar **servicios en la nube** que haga parte del trabajo por ti, o usar otras posibles opciones. | ||
|
||
Te enseñaré algunos de los conceptos principales que debes tener en cuenta al desplegar aplicaciones hechas con **FastAPI** (aunque la mayoría de estos conceptos aplican para cualquier otro tipo de aplicación web). | ||
|
||
Podrás ver más detalles para tener en cuenta y algunas de las técnicas para hacerlo en las próximas secciones.✨ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
# 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 <abbr title="cambios que rompen funcionalidades o compatibilidad">*breaking changes*</abbr>. Las versiones siguen las convenciones de <a href="https://semver.org/" class="external-link" target="_blank"><abbr title="versionado semántico">*Semantic Versioning*</abbr></a>. | ||
|
||
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: | ||
|
||
```txt | ||
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: | ||
|
||
```txt | ||
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](../release-notes.md){.internal-link target=_blank}. | ||
|
||
## Acerca de las versiones | ||
|
||
Siguiendo las convenciones de *Semantic Versioning*, cualquier versión por debajo de `1.0.0` puede potencialmente tener <abbr title="cambios que rompen funcionalidades o compatibilidad">*breaking changes*</abbr>. | ||
|
||
FastAPI también sigue la convención de que cualquier cambio hecho en una <abbr title="versiones de parche">"PATCH" version</abbr> es para solucionar errores y <abbr title="cambios que no rompan funcionalidades o compatibilidad">*non-breaking changes*</abbr>. | ||
|
||
!!! tip | ||
El <abbr title="parche">"PATCH"</abbr> es el último número, por ejemplo, en `0.2.3`, la <abbr title="versiones de parche">PATCH version</abbr> es `3`. | ||
|
||
Entonces, deberías fijar la versión así: | ||
|
||
```txt | ||
fastapi>=0.45.0,<0.46.0 | ||
``` | ||
|
||
En versiones <abbr title="versiones menores">"MINOR"</abbr> son añadidas nuevas características y posibles <abbr title="Cambios que rompen posibles funcionalidades o compatibilidad">breaking changes</abbr>. | ||
|
||
!!! tip | ||
La versión "MINOR" es el número en el medio, por ejemplo, en `0.2.3`, la <abbr title="versión menor">"MINOR" version</abbr> 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](../tutorial/testing.md){.internal-link target=_blank} | ||
|
||
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: | ||
|
||
```txt | ||
pydantic>=1.2.0,<2.0.0 | ||
``` |