ソースコード: https://github.com/fastapi/fastapi-cli
FastAPI CLI を使用してコマンド ラインから FastAPI アプリを実行および管理します。 ?
FastAPI CLI は、FastAPI アプリの提供、FastAPI プロジェクトの管理などに使用できるコマンド ライン プログラムfastapi
です。
FastAPI をインストールすると (例: pip install "fastapi[standard]"
)、 fastapi-cli
というパッケージが含まれます。このパッケージはターミナルでfastapi
コマンドを提供します。
開発用に FastAPI アプリを実行するには、 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.
fastapi
と呼ばれるコマンド ライン プログラムはFastAPI CLIです。
FastAPI CLI は、Python プログラムへのパスを取得し、FastAPI (通常はapp
という名前) を使用して変数とそのインポート方法を自動的に検出し、それを提供します。
本番環境では、代わりにfastapi run
使用します。 ?
FastAPI CLI は内部的に、高性能で実稼働対応の ASGI サーバーである Uvicorn を使用します。 ?
fastapi dev
fastapi dev
実行すると、開発モードで実行されます。
デフォルトでは自動リロードが有効になっているため、コードを変更するとサーバーが自動的にリロードされます。これはリソースを大量に消費し、これを使用しない場合よりも安定性が低下する可能性があるため、開発のみに使用する必要があります。
デフォルトでは、IP アドレス127.0.0.1
で待機します。これは、マシンが単独で通信するための IP ( localhost
) です。
fastapi run
fastapi run
実行すると、デフォルトで実稼働モードで実行されます。
デフォルトでは自動リロードが無効になっています。
これは、使用可能なすべての IP アドレスを意味する IP アドレス0.0.0.0
でリッスンします。これにより、マシンと通信できるすべてのユーザーがパブリックにアクセスできるようになります。これは、通常、実稼働環境 (コンテナーなど) で実行する方法です。
ほとんどの場合、HTTPS を処理する「終了プロキシ」をトップに置くことになります (そしてそうすべきです)。これはアプリケーションのデプロイ方法によって異なります。プロバイダーがこれを行う場合もあれば、自分でセットアップする必要がある場合もあります。詳細については、FastAPI デプロイメントのドキュメントを参照してください。
このプロジェクトは、MIT ライセンスの条件に基づいてライセンスされています。