nikkie-ftnextの日記

イベントレポートや読書メモを発信

Pythonパッケージング

Pythonパッケージのextraも、パッケージ名同様ハイフンとアンダースコアが同じに正規化されるようになっていたのか〜 (PEP 685)

はじめに 七尾百合子さん、お誕生日 148日目 おめでとうございます! nikkieです。 Today I Learnedです。 目次 はじめに 目次 Pythonパッケージ名は正規化される ではextraは正規化される? PEP 685関係のドキュメントメモ 終わりに おまけ:Core metadata …

Agent Development Kitはsite-packages下にインストールしたエージェントもロードできるか?

はじめに 七尾百合子さん、お誕生日 85日目 おめでとうございます! nikkieです。 GoogleのADKを使っていて「ADKで実装したエージェントを配布できないのかな」という疑問がむくむくと頭をもたげてきました。 そこで実験してみました。 目次 はじめに 目次 A…

Pythonで書いたGaugeのstep実装をパッケージにして配布したい

(2025/05/25 追記) gauge validateは動きましたが、gauge runがエラーになっていたので続編を書きました (2025/05/25 追記終わり) はじめに 七尾百合子さん、お誕生日 67日目 おめでとうございます! nikkieです。 直近の大きくハマって知ったことです。 生…

PyPIのTrusted Publishersを よ う や く 設定しました。APIトークンの管理不要でリリースできる!

完全に理解したこちらを解題します PyPIのTrusted Publishers、完全に理解したhttps://t.co/UjPczJXhVUパッケージごとにトークンを管理しなくてよくなって、これはとっても便利〜— nikkie(にっきー) / にっP (@ftnext) 2025年2月1日 PyPIのTrusted Publisher…

Rustプログラムから作ったバイナリは、maturinでPythonパッケージにできる!!

はじめに 君はヒーローになれる nikkieです。 最近 I Learned です。 興奮覚めやりません! 目次 はじめに 目次 maturinのチュートリアル Rustプログラムから作ったバイナリを、maturinでPythonパッケージにする! bindingsとしてバイナリを指定 終わりに ma…

メンテナ記 | pipx run(やuvx)でパッケージングも楽々だ〜!🫶

はじめに 「アルストロメリア、なんて」 うおおおおおおおお nikkieです。 SpeechRecognition メンテナ活動の中で知ったことです。 (なお、3.13.0をリリースしました) 目次 はじめに 目次 これまでのpipx run GitHubではpipxが使いやすい パッケージング手…

2024年10月に採択された「PEP 735 – Dependency Groups in pyproject.toml」を読む。Dependency Groupsとな?

はじめに やけにカラスが騒がしいな... nikkieです シェイクス丸‍⬛に告げられ、uv 0.4.27のリリースを機に、PEP 735 (2024/10/10 Accepted)を知りました。 uvはもうサポートしたそうで、まずはこのPEPが何を提案しているかを掴みます。 目次 はじめに 目次 P…

uv buildが0.4.18から0.4.21まで壊れていて、ぼくのかんがえたDockerイメージビルドが影響を受けていましたが、0.4.22以降は修正されています

はじめに 「uv buildが壊れたの!!」1 nikkieです。 最近uvで経験した事象です。 目次 はじめに 目次 uvを残さないDockerイメージビルド uv buildが壊れた uvのリポジトリのissueより issue #8200 - regression: uv build silently produces empty wheels w…

PyCon APAC 2023より「Comparison of Packaging Tools in 2023」、ユースケースごとに提案する先見の明!

はじめに あたためますか? nikkieです。 PyCon APAC 2023の発表でスライドだけ見ていた「Comparison of Packaging Tools in 2023」、「今の私には参考になる情報が多いのでは」と思い、アーカイブで視聴しました。 目次 はじめに 目次 Comparison of Packag…

使ってみようpyproject.toml! projectの設定に使う項目のみんなを紹介するぜ!!

はじめに 8/17(木)のみんなのPython勉強会は数学特集です。みんな来てね! nikkieです。 先日pyproject.tomlというファイルをおすすめする記事を書きました。 思ってもみなかった反響があり(継続的な流入)、困惑もしているのですが、今回は続編として、pyp…

Pythonで自作ライブラリを作るとき、setup.pyに代えてpyproject.tomlを使ってみませんか?

はじめに 暑すぎましゅ、nikkieです。 ミリシタではエミリーちゃんがイチオシのnikkieですが(私服SHSエミリーが可愛い!)、 Pythonでは最近pyproject.tomlが熱いです。 私がこのファイルの便利さに気づいたのはごくごく最近なのですが、setup.pyを使ってい…

PythonパッケージのEntry Pointsを使うことで、同じ関数でもプラグインのインストールの有無で振る舞いを変えることができちゃうんです!!

はじめに 7/1はこころの日❤️ nikkieです。 まだチュートリアルレベルですが、Pythonのパッケージに関してちょっとした魔法を会得しました。 目次 はじめに 目次 見てください、この挙動! 同じ関数なのに、プラグインインストールの有無で動きが変わります!…

Pythonのパッケージを開発するとき、依存するライブラリはピンポイントでバージョン固定しないようにしましょう

結論 setup.cfg1(やsetup.py2)のinstall_requiresとextras_require、 pyproject.toml3のdependenciesとoptional-dependenciesについての話です4。 開発しているパッケージ(awesome_lib)が依存するライブラリ(例:other_lib)について5 DON'T‍♂️ other_l…