diff --git a/docs/es/docs/fastapi-cli.md b/docs/es/docs/fastapi-cli.md new file mode 100644 index 0000000000..6c17a7a5a0 --- /dev/null +++ b/docs/es/docs/fastapi-cli.md @@ -0,0 +1,84 @@ +# FastAPI CLI + +**FastAPI CLI** es la línea de comandos para `fastapi` la cual puedes usar para servir tu aplicación FastAPI, administrarla y más. + +Cuando instalas FastAPI (e.g. `pip install fastapi`), esto incluye un paquete llamado `fastapi-cli`. Este paquete provee el comando `fastapi` en la terminal. + +Para correr tu aplicación de FastAPI para desarrollo, puedes usar el comando `fastapi dev`: + +
+ +```console +$ fastapi dev main.py +INFO Using path main.py +INFO Resolved absolute path /home/user/code/awesomeapp/main.py +INFO Searching for package file structure from directories with __init__.py files +INFO Importing from /home/user/code/awesomeapp + + ╭─ Python module file ─╮ + │ │ + │ 🐍 main.py │ + │ │ + ╰──────────────────────╯ + +INFO Importing module main +INFO Found importable FastAPI app + + ╭─ Importable FastAPI app ─╮ + │ │ + │ from main import app │ + │ │ + ╰──────────────────────────╯ + +INFO Using import string main:app + + ╭────────── FastAPI CLI - Development mode ───────────╮ + │ │ + │ Serving at: http://127.0.0.1:8000 │ + │ │ + │ API docs: http://127.0.0.1:8000/docs │ + │ │ + │ Running in development mode, for production use: │ + │ │ + fastapi run + │ │ + ╰─────────────────────────────────────────────────────╯ + +INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp'] +INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) +INFO: Started reloader process [2265862] using WatchFiles +INFO: Started server process [2265873] +INFO: Waiting for application startup. +INFO: Application startup complete. +``` + +
+ +Esta línea de comando llamada `fastapi` es **FastAPI CLI**. + +FastAPI CLI toma la ruta del Python de tu ambiente y automáticamente detecta la variable de FastAPI (comúnmente nombrada `app`) y la importa para finalmente servir la aplicación. + +Para producción usarías `fastapi run` en su lugar. 🚀 + +Internamente, **FastAPI CLI** usa Uvicorn, un servidor ASGI de alto rendimiento y listo para producción. 😎 + +## `fastapi dev` + +Cuando ejecutas `fastapi dev`, el proyecto se ejecuta en modo de desarrollo. + +De forma predeterminada, está habilitada la **recarga automática**, por lo que recargará automáticamente el servidor cuando realices cambios en tu código. Esto consume muchos recursos y podría ser menos estable que sin ella; solo debes usarlo para desarrollo. + +De forma predeterminada, escuchará en la dirección IP `127.0.0.1`, que es la IP para que tu máquina se comunique consigo misma (localhost). + +## `fastapi run` + +Cuando ejecutas `fastapi run`, el proyecto se ejecuta en modo de producción por defecto. + +La **recarga automática** está deshabilitada por defecto. + +Cuando ejecutas en modo de producción, la aplicación escuchará en la dirección IP `0.0.0.0`, lo que significa todas las direcciones IP disponibles, de esta manera será accesible públicamente para cualquiera que pueda comunicarse con la máquina. Así es como normalmente lo ejecutarías en producción, por ejemplo, en un contenedor. + +En la mayoría de los casos, tendrías (y deberías) tener un "proxy de terminación" que maneje HTTPS por ti, esto dependerá de cómo implementes tu aplicación; tu proveedor podría hacerlo por ti o podrías necesitar configurarlo tú mismo. + +!!! tip + Puedes aprender más en la [documentación de despliegue](deployment/index.md){.internal-link target=_blank}.