poetryでPyPIにPublishする
はじめに
2023年のPython環境構築: pyenv + poetryを書いた当時はPyPIにライブラリを公開することがほとんどなかったので、publishについては意図的に省いていた。 最近やってみると予想外に簡単だったので小物をどんどん公開するようにしている。この記事では私のいつものフローについて解説する。
プロジェクト作成
ライブラリなので、他のプロジェクトにimportして便利に使えるような機能を考える。 今回はClojureの ->>(thread-last) をPythonで実装して公開するライブラリを作ってみることにした。
poetry init
のプロンプトは以下の通り。
もし私の様にフォルダ名に python-
という接頭辞を付けたなら Package name
のところで python-
という接頭辞を削ること。
おまじないファイル作成
おまじない的に必要なファイル群を作成する。
もし私の様に -
が含まれるパッケージ名にした場合は _
に置換してフォルダを作成する。
pyproject.tomlの編集
これで poetry install
ができる。。はずなのだが、 src
というフォルダを掘っているせいでpyproject.tomlと整合性が合わなくなっているので修正する。
poetry install
poetry install
でvenvの作成、インストールを一発でやってくれる。
プロジェクトに問題がなければ成功するはず。
実装
以下の内容を src/thread_last/lib.py
に保存する。
(型は諦めました。誰か強い人教えて下さい)
publish
いよいよpublishです。
(--build
は poetry build
をpublishの直前に実行してくれるオプション)
表示は以下の通り。
公開できた。thread-last - PyPI
使ってみる
時間切れ。また後で追記します。
Appendix
- なぜ
src
というフォルダを掘るのか: Good Integration Practices