mypyたまには、他の人の役に立つ記事も書こうということで書いてみる。以下のようなmix-inを使ったコードがあるとする。トリビアルな例で特に必要になりそうなコードではないけれど、まぁ説明のためのコードなので許してほしい。最近はprestringにcodeobjectというものを組み込もうとしている。実はこのcodeobjectというものの雛形は既に作って使われていたりする。prestringがasync/awaitをサポートした。prestringは文字列を生成するためのライブラリ。with構文を乱用している。pflaggoで設定ファイルを読み込むときに設定の一部だけを上書きしたいことがある。それ用のコードのメモ。mergoというのはけっこう古くからあるライブラリみたい。componentという機能を追加した。欲しくなったのかなどを思考の整理のためにメモしておく。componentという名前は独自の名前で暫定的な名前。handofcatsで関数をコマンド化したときに戻り値をデフォルトで表示してくれるようにした。今までは以下の様な関数をコマンド化したときに何も表示されなかった。memo自分用のメモなので汚い。やりたいことはSQSのsend/receiveのやり方の例を1つのpythonファイルに押し込めること。handofcatsやjqfpyは手抜きのためのもの。memoこの話に似た話。aliasを使った型の読み替えで手抜きができる(場合がある)。aliasを使って同一パッケージ上にimportしてくる。googleapiこんな感じでやれば良い。飽きたので途中でおしまい。handofcats例えば以下の様な感じで雑にシェル上でループしてコマンドを実行することがあったりすると思います。pydanticargparse関連の記事を最近色々書いてきたけれど。いえば設定ファイルとの付き合い方については書いていなかった。今ならどうやって付き合うかなーということのメモ。memo過去にこのような記事を書いた。今ならどうするだろう?という記事。元の記事では以下の様な実行の仕方を許容しているようだ。ContentBaseDeduplicationは、FIFOキューでなければ有効にならない。今まではシングルコマンドだけの対応だったのだけれど、ふつうのpython関数をサブコマンドとして扱えるようになった。handofcatsを作った当初は対応する気はなかったのだけれど、結局欲しくなったので実装してしまった。loggingloggingの有効/無効を真面目に書くのがめんどくさくなったのでDEBUG=1を見て勝手に有効にすることにしました。めんどくさかったので。cli昔にも似たような記事を書いていたみたいだった。最近のgoでのCLIツールを書く際の心境の変化があったのでその辺をメモしておく。monogusa今までただの関数をCLIとして利用できたり、ちょっとしたwebAPIとして利用できるようにしていたけれど。今度はmonogusaを使ってただのpythonの関数をslackやdiscord上のコマンドとして公開できるようになった。以下の様な関数がある。pypistatspythonのslack関連のパッケージはどの辺りを見れば良いか調べた。古の記憶ではslackbotが有名だった。過去の自分はえらいので以前にpytestのpluginについて調べたものと同様の方法を使えば良さそう。monogusaのweb周りを更新した。大きな変更は前回からweb側のコードも生成されるようになったこと。前回の記事では「仮にこのように書けるとしたら...」という形でweb側のコードは手書きでの解説になったがそこは生成されるようになった。monogusaというパッケージを作りはじめた。完成には至っていないのだけれど現状でできることなどを書きながらここで使用感を確認していくことにした。monogusaというのはもちろん「ものぐさ」から来ている。componentsの使用感を試すためにやろうとしたことのメモ。components。テキトーにこの2つを選んだ。memo個人的にはpkgパッケージを作ることにわりと肯定的な立場なので思ったことをメモしておくよ。pkgパッケージを作りたいと思う理由は以下だよ。関数をCLIとして使えるようにするラッパーのhandofcatsをアップデートした。日常的に使っているものほどバグが放置される傾向にある気がする。prestringに複数ファイルの出力機能を付けた。prestring.output:outputを使う。正確には以前からあったモジュールだったのだけれど、あまりにも貧弱かつ使いにくかったので書き直した。pythonでも型を書きたいですよね。hintsがあります。