Code source : https://github.com/fastapi/fastapi-cli
Exécutez et gérez les applications FastAPI à partir de la ligne de commande avec FastAPI CLI. ?
FastAPI CLI est un programme de ligne de commande fastapi
que vous pouvez utiliser pour servir votre application FastAPI, gérer votre projet FastAPI, et bien plus encore.
Lorsque vous installez FastAPI (par exemple avec pip install "fastapi[standard]"
), il inclut un package appelé fastapi-cli
, ce package fournit la commande fastapi
dans le terminal.
Pour exécuter votre application FastAPI pour le développement, vous pouvez utiliser la commande 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.
Ce programme de ligne de commande appelé fastapi
est FastAPI CLI .
FastAPI CLI prend le chemin d'accès à votre programme Python et détecte automatiquement la variable avec FastAPI (communément appelée app
) et comment l'importer, puis la sert.
Pour la production, vous utiliseriez plutôt fastapi run
. ?
En interne, FastAPI CLI utilise Uvicorn, un serveur ASGI hautes performances prêt pour la production. ?
fastapi dev
Lorsque vous exécutez fastapi dev
, il s'exécutera en mode développement.
Par défaut, le rechargement automatique sera activé, il rechargera donc automatiquement le serveur lorsque vous apporterez des modifications à votre code. Ceci nécessite beaucoup de ressources et pourrait être moins stable que sans cela, vous ne devez l'utiliser que pour le développement.
Par défaut, il écoutera sur l'adresse IP 127.0.0.1
, qui est l'adresse IP permettant à votre machine de communiquer seule avec elle-même ( localhost
).
fastapi run
Lorsque vous exécutez fastapi run
, il s'exécutera en mode production par défaut.
Le rechargement automatique sera désactivé par défaut.
Il écoutera l'adresse IP 0.0.0.0
, c'est-à-dire toutes les adresses IP disponibles, de cette façon, il sera publiquement accessible à toute personne pouvant communiquer avec la machine. C'est ainsi que vous l'exécuteriez normalement en production, par exemple dans un conteneur.
Dans la plupart des cas, vous auriez (et devriez) avoir un "proxy de terminaison" gérant HTTPS pour vous, cela dépendra de la façon dont vous déployez votre application, votre fournisseur pourrait le faire pour vous, ou vous devrez peut-être le configurer vous-même. Vous pouvez en savoir plus à ce sujet dans la documentation sur le déploiement de FastAPI.
Ce projet est sous licence selon les termes de la licence MIT.