Yuhan.jp

FastAPI と Poetry を使う

2026年7月19日(日)

最初に

備忘録メモ。

FastAPI を使ってみる

参考:https://fastapi.tiangolo.com/ja/

pip install "fastapi[standard]"

main.py 作成

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return { "Hello": "World"}

実行

fastapi dev

 

$ fastapi dev

 ⚡️ Starting FastAPI in development mode
 
 🐍 Using import string: main:app (auto-discovered, use --verbose to learn more)
 
 💡 You can configure an entrypoint in pyproject.toml for this app with:
 
    [tool.fastapi]
    entrypoint = "main:app"
 
 🌐 Server started at http://127.0.0.1:8000
    Documentation at http://127.0.0.1:8000/docs
 

確認

$ curl http://127.0.0.1:8000
{"Hello":"World"}% 

Poetry を使ってみる

参考:https://python-poetry.org/docs/

Poetry とは

Poetryは、Pythonにおける依存関係管理およびパッケージングのためのツール。

インストール

curl -sSL https://install.python-poetry.org | python -

PATH環境変数を更新

export PATH="/xxxxx/xxx/.local/bin:$PATH"

poetry install 完了時のログに export コマンドが出力されるので、それを実行。

インストールできたことの確認

$ poetry --version                         
Poetry (version 2.4.1)

プロジェクトの作成

1から作る場合。

poetry new <project-name>

既存プロジェクトにセットアップする場合。

poetry init

依存関係のインストール。

poetry install

Poetry + FastAPI

FastAPI と uvicorn を追加する。

※ FastAPI は ASGI サーバーで動作するため、その役割を担う uvicorn が必要。

poetry add fastapi uvicorn

起動する。

※FastAPI を試した時の main.py を流用。

poetry run uvicorn main:app --port 8080 --reload

確認。

$ curl http://127.0.0.1:8000
{"Hello":"World"}% 

最後に

個人で使ったことはなかったので復讐も兼ねて。

復讐じゃないや、復習。