Código fuente : https://github.com/fastapi/fastapi-cli
Ejecute y administre aplicaciones FastAPI desde la línea de comandos con FastAPI CLI. ?
FastAPI CLI es un programa de línea de comandos fastapi
que puede utilizar para servir su aplicación FastAPI, administrar su proyecto FastAPI y más.
Cuando instala FastAPI (por ejemplo, con pip install "fastapi[standard]"
), incluye un paquete llamado fastapi-cli
, este paquete proporciona el comando fastapi
en la terminal.
Para ejecutar su aplicación FastAPI para desarrollo, puede usar el comando fastapi dev
:
$ 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 [56345] using WatchFiles
INFO: Started server process [56352]
INFO: Waiting for application startup.
INFO: Application startup complete.
Ese programa de línea de comando llamado fastapi
es FastAPI CLI .
FastAPI CLI toma la ruta a su programa Python y detecta automáticamente la variable con FastAPI (comúnmente llamada app
) y cómo importarla, y luego la entrega.
Para producción, usarías fastapi run
en su lugar. ?
Internamente, FastAPI CLI utiliza Uvicorn, un servidor ASGI de alto rendimiento y listo para producción. ?
fastapi dev
Cuando ejecuta fastapi dev
, se ejecutará en modo de desarrollo.
De forma predeterminada, tendrá habilitada la recarga automática , por lo que recargará automáticamente el servidor cuando realice cambios en su código. Esto consume muchos recursos y podría ser menos estable que sin él; solo debe usarlo para el desarrollo.
De forma predeterminada, escuchará en la dirección IP 127.0.0.1
, que es la IP para que su máquina se comunique consigo misma ( localhost
).
fastapi run
Cuando ejecuta fastapi run
, se ejecutará en modo de producción de forma predeterminada.
Tendrá la recarga automática desactivada de forma predeterminada.
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 lo ejecutarías normalmente en producción, por ejemplo, en un contenedor.
En la mayoría de los casos, tendría (y debería) tener un "proxy de terminación" que maneje HTTPS por usted, esto dependerá de cómo implemente su aplicación, su proveedor podría hacerlo por usted o podría necesitar configurarlo usted mismo. Puede obtener más información al respecto en la documentación de implementación de FastAPI.
Este proyecto está licenciado según los términos de la licencia MIT.