開発環境では Poetry を使い、CIやコンテナ上ではシンプルにpipでインストールしたかったので、 poetry export -f requirements.txt -o requirements.txt で出力したrequirements.txtもコミットするようにしていた。 そうすると当然(?)反映漏れが発生するわけなので、poetryでの変更に自動で追従してくれないかなと思った

そんな機能を実現してくれるプラグインがあった。

poetry-auto-export プラグイン

GitHub - Ddedalus/poetry-auto-export: Automatically create requirements.txt on every poetry lock favicon GitHub
GitHub - Ddedalus/poetry-auto-export: Automatically create requirements.txt on every poetry lock
Automatically create requirements.txt on every poetry lock - Ddedalus/poetry-auto-export
GitHub - Ddedalus/poetry-auto-export: Automatically create requirements.txt on every poetry lock

これをpoetryのプラグインとして追加する

poetry self add poetry-auto-export

pyproject.toml にこちらのように書いておく

[tool.poetry-auto-export]
output = "requirements.txt"
without_hashes = true
without = ["dev"]

すると、poetry addpoetry lock などのコマンドを実行したときに自動で requirements.txt にも反映してくれるようになる。