🦔

Poetry 1.2.0b2におけるPlugin

2022/06/17に公開

はじめに

Poetry 1.2ではPlugin機構が入る予定です。

現在開発が進んでおり、Poetry 1.2.0b1の時の話を私も以下の記事で触れました。
https://zenn.dev/catminusminus/articles/91ae9d26a0edf1

Poetry 1.2.0b2では当時からまた変更があったため、それについて書きます。

poetry selfコマンド

Poetry 1.2.0b1の時は、poetry plugin add <plugin名>でpluginをインストールするなど、poetry pluginというコマンドが使われていました。
しかしPoetry 1.2.0b2からはそれは非推奨となり、代わりにpoetry self addなどのpoetry selfコマンドが追加されました。

それだけだとなんだか名前が変わっただけに思えますが、この意義を書きます。
と言っても変更理由は以下のPRに書かれている通りです。
https://github.com/python-poetry/poetry/pull/5450

元々のpoetry pluginはその名前の通りpluginのためのものでしたが、poetry selfはplugin以外にも使えます。これにより、poetryの動作している環境に対して、pluginに限らずパッケージをインストールできるようになりました。

また、poetry self installによって、poetryの動作している環境の再現も容易になりました。
今後Pluginの導入が進んだ際、開発者で環境を揃える時に役立ちそうですね。もっとも、pluginを多数導入した環境を揃えるより、Poe the Poetだけpluginで導入して、プロジェクトごとにスクリプトを走らせる方がnpmと同じで自然な気はしますが・・・

おわりに

今回はplugin周りの話しかしていませんが、Poetry 1.2ではDependency groupsが導入(例えばtool.poetry.group.dev.dependenciesなど)されるなど、変更が大きく面白いですね(?)

Discussion