nikkie-ftnextの日記

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

コマンドラインツール

#terminalnight にて fzf が履歴を幸せにしてあげる!と布教しました

はじめに 七尾百合子さん、お誕生日 256日目 おめでとうございます! nikkieです。 LT登壇報告です。 目次 はじめに 目次 fzfと履歴の話 ということは、fzf の Ctrl-R を作れる? 感想など 終わりに 変更履歴 fzfと履歴の話 この後の発表資料です #terminaln…

Ctrl + R の履歴を fzf で幸せにする(zsh, bash)

はじめに 七尾百合子さん、お誕生日 249日目 おめでとうございます! nikkieです。 マシンのセットアップの際に同僚から教えていただきました。 それを共有することで、私が幸せにしてあげる1! 目次 はじめに 目次 fzf の「Setting up shell integration」 …

simonw/llm でコマンドラインからテキストを embedding にして、コサイン類似度計算までできる!

はじめに 七尾百合子さん、お誕生日 213日目 おめでとうございます! nikkieです。 推しの CLI ツール simonw/llm の新たな一面を発見しました! 目次 はじめに 目次 「Embedding with the CLI」 ムビマスのセリフで埋め込み・類似度検索をお試し 終わりに P…

openai-python にはコマンドラインインターフェースがある 〜uvx openai api〜

はじめに 七尾百合子さん、お誕生日 172日目 おめでとうございます! nikkieです。 OpenAI の公式 SDK openai1 のコマンドラインインターフェースを試しました。 目次 はじめに 目次 openai api chat.completions.create 開発経緯 終わりに openai api chat.…

curl -json

はじめに 七尾百合子さん、お誕生日 109日目 おめでとうございます! nikkieです。 SF(少し不思議)な技術記事です。 目次 はじめに 目次 curl --jsonです! curl -json 『独学プログラマー』で見たところだ! 終わりに curl --jsonです! ハイフン2つで指…

RichのConsoleについてドキュメント確認メモ

はじめに 七尾百合子さん、お誕生日 73日目 おめでとうございます! nikkieです。 o4-mini-high に作ってもらった、Richを使ったコンソールアプリを理解するためにRichのドキュメントに当たりました。 目次 はじめに 目次 知りたいことリスト Richの日本語RE…

simonw/llm v0.24で入ったfragmentsがとても天才!(他にもtemplatesなど)

はじめに 七尾百合子さん、お誕生日 26日目 おめでとうございます! nikkieです。 LLMをCLIで呼び出したくて普段遣いしているsimonwさんのllm、このたびますます天才になりました! 目次 はじめに 目次 simonw/llm v0.24 fragments どうしてfragments? Frag…

simonwさんのllmは天才! LLM APIへの入出力が全部ロギングされてました

はじめに 七尾百合子さん、お誕生日 25日目 おめでとうございます! nikkieです。 simonw/llmは天才! みんな使おう! 目次 はじめに 目次 simonw/llmとの日々 llm logs!! 終わりに simonw/llmとの日々 ぬこぬこさんの発表で知って使い始めたsimonw/llm 作…

simonw/llmのプラグイン作成 素振りの記:GeminiにYouTubeのURLを渡して要約/文字起こしするプラグインをGistで配布

はじめに 七尾百合子さん、お誕生日 13日目 おめでとうございます! nikkieです。 simonwさんのllmはプラグインをサポートしていると知りました。 来るべき日に私のアイデアとハッチポッチ(ごった煮)できるように、プラグインの作り方を練習しました。 目…

simonwさんによるllmとそのプラグインを使って、LLMをCLIから呼び出す

はじめに 七尾百合子さん、お誕生日 12日目 おめでとうございます! nikkieです。 ここ最近の私は、Web UIだけでなくCLIからもLLMを呼び出しています! 目次 はじめに 目次 ぬこぬこさんトークでsimonwさんに注目 simonwさんのブログからllmの使い方 終わり…

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

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

pydantic-settingsで作るCLI、LogfireでPydanticによるパース結果を収集できるじゃん!

はじめに さいごのソリスト、ううう...(ユーフォ3期一挙放送見た) nikkieです。 むふふ、すごいことに気づいちゃいました〜。 Pydantic社が構想するLogfire、こいつはやべーぞ! 目次 はじめに 目次 pydantic-settingsでCLIが作れる! Logfire pydantic-se…

pydantic-settingsで環境変数からもオプション引数を指定できるCLIを作る 〜サブコマンド篇〜

はじめに 幕が上がる 瞬間が好き♪ nikkieです。 pydantic-settingsでCLIの素振りの続き、今回はサブコマンドまわりを触ります。 目次 はじめに 目次 pydantic-settingsでCLIが作れる! サブコマンド 終わりに pydantic-settingsでCLIが作れる! パースライブ…

pydantic-settingsで環境変数からも指定できるオプション引数を持つCLIを作る

はじめに #ミリアニブレイバーン異文化すぎる交流 nikkieです。 年の終わりに激震が走りました。 私はargparseすきすきの民なのですが、突然の別れが訪れてしまったかもしれません。 え、pydantic-settings、CLIアプリケーションも作れるの!? 目次 はじめ…

clap初心者、疑問を調べる (1)#[clap]と#[arg]の違いは? (2)default_valueとdefault_value_tの違いは?

はじめに 俺は、負けた...(今週のアニメアオのハコ) nikkieです。 今回はここまでのclapの素振りの番外編、落ち穂拾いしていきます。 目次 はじめに 目次 あの日argparseで書いたプログラムのRust版を僕はまだ知らない。 現時点の結論:ドキュメントのExam…

あの日argparseで書いたプログラムのRust版を僕はまだ知らない。第2話 ゆうしゃオプション・第3話 サブコマンドを探そうの会

はじめに 「とぅーす!」(かわいい) nikkieです。 Pythonのargparseで書いたCLIをRustのCLAPで再実装してみようシリーズ(※小さな素振り群)の続編、2話連続放送です! 第1話はこちら CLAPの素振り その1:オプション引数 今手元にあるのは位置引数で指定…

あの日argparseで書いたプログラムのRust版を僕はまだ知らない。第1話 超位置引数パーサーズ

はじめに 実はいくおな、nikkieです。 PyCon mini 東海 2024をきっかけにRustでCLIを作ることに興味を持ちました。 これまでのアウトプットと絡めて小さく素振りしていきます。 目次 はじめに 目次 「pytestでRust製CLIをe2eテストしてみよう」 CLAPの素振り…

PEP 723をサポートしたpipx runについて共同でブログ記事を書きました。仮想環境から解放されたスクリプト開発!

ばーん! /テックブログ更新しました!\・1つのことをこなす小さいPythonスクリプトを書いた・柔軟なファイル入出力に対応し、Unixコマンドのように組み合わせた・ポータビリティの高い依存管理方法を採用したぜひチェックしてみてください https://t.co/7…

argparseで解析した引数に型をもたせる(VS Codeで解析結果の属性の型がAnyになる問題の解消方法)

はじめに ナムコ! nikkieです。 標準ライブラリの中でとりわけヘビーユースしているargparse1。 Pythonスクリプトをコマンドラインツールにできます2。 argparseを使ったスクリプトをVS Codeで開発するうえで、型の表示を改善する小ネタです。 目次 はじめ…

pip installのオプションに--no-cacheなんてあったっけ? --no-cache-dirを短縮できるのか!!

はじめに 3月のPython Monthly Topicsを読んでいたnikkie氏。 「パッケージのインストールでpip installとuv pip installの処理時間を比較している。あれ、--no-cache?」 $ time pip install pandas --no-cache $ time uv pip install pandas --no-cache 「…

Clickを使ったCLIアプリケーションのテストについて、ドキュメントの「Testing Click Applications」を読みました(CliRunnerのinvokeメソッドやisolated_filesystemメソッドを知る)

はじめに アプリケーション・テスティング! nikkieです。 Command Line Interface Creation Kit、頭文字を取ってClick。 コマンドラインツールを実装できるライブラリの1つです。 Clickのドキュメントの中にテストの書き方を見つけ、手を動かしてみました。…

Clickで複数コマンドの連鎖をパイプラインとして実装できる! ドキュメント「Multi Command Pipelines」の例も完全に理解しました

はじめに マルチコマンド・パイプライニング! nikkieです。 先日Clickのドキュメントの「Multi Command Chaining」を取り上げました。 今回はそのよくあるユースケースの「Multi Command Pipelines」について、ドキュメントから理解したことをまとめます。 …

Clickは複数のコマンドを連鎖させて呼び出せる!(awesome_cli command_a command_b command_c) ドキュメント「Multi Command Chaining」の例を完全に理解しました

はじめに マルチコマンド・チェイニング!1 nikkieです。 コマンドラインツール作成は標準ライブラリのargparseが多い私2ですが、サードパーティのClick(Command Line Interface Creation Kitの頭辞語)も覗いてみました。 「argparseではできなさそうです…

argparseでバージョン確認もサポートしたコマンドを作る(python script.py --version)

はじめに 『かがみの孤城』Blu-ray&DVD発売中 全世代にお勧めしたい作品! nikkieです。 Pythonでコマンドラインツールが作れる標準ライブラリのargparseについて、最近知った小ネタをアウトプットします。 目次 はじめに 目次 argparseでコマンドラインツー…

こころちゃんのパラレルワールドでは今日は何曜日なんだろう? ぱっと確認できるkojo-dayコマンドをリリースしました #かがみの孤城

はじめに 『かがみの孤城』円盤発売まであと4️⃣日、今日はスバルきゅん! nikkieです。 この記事は、かがみの孤城 円盤発売アドベントカレンダー 24日目です。 実装にだいぶ力を使ったので簡略版でお届けします。 目次 はじめに 目次 まずは21、22日目をご紹…

argparseで作るサブコマンド、set_defaultsを使うとスッキリ書けます(激薄エントリポイント!)

はじめに 霞柱TUEEEEEEE!! nikkieです。 argparseでサブコマンドを実装する際の小ネタです。 目次 はじめに 目次 前回:argparseでサブコマンドを作る! ドキュメントで見つけた、サブコマンドをスッキリ実装するtips 過去の私はサブコマンド名を格納して、…

argparseでサブコマンドを実装する

はじめに はぁ、かわいい... nikkieです。 argparseの小ネタです。 目次 はじめに 目次 argparse argparseでサブコマンドを作る! サブコマンドになっていることをヘルプメッセージから確認 終わりに argparse Python標準ライブラリの1つ。 argparse はモジ…

S3にオブジェクト(ファイル)が存在するか否かシェルスクリプトで確認する 〜提案実装と、行き着くまでの回り道〜

はじめに YAPC::Kyotoのチケット、2/3(金)までの販売に延長!1 nikkieです。 S3にオブジェクトがあるかどうかをシェルスクリプトで確認する方法を考えてみました。 現時点の暫定解としてアウトプットします。 シェルスクリプトやAWSに関しては伸びしろ豊富と…

CLIツールで省略可能な位置引数が複数ある場合、すべてオプション引数に置き換えたい

はじめに かがみの孤城、日本アカデミー賞 優秀アニメーション作品賞 受賞1おめでとうございます!! nikkieです Pythonのargparseを例に、CLIツールにおける省略可能な位置引数について考えていきます。 argparseを使ったコードを書いたことがあることを前…

argparseのadd_argumentのtype引数には、FileTypeよりもユーザ定義関数を渡すのをオススメしたいです!(#Python実践レシピ を勝手に補足)

はじめに #みんなでアイうた、最高の時間になりました!ありがとうございました nikkieです。 この1月に出た書籍『Pythonエンジニア育成推進協会監修 Python実践レシピ』(以下、『Python実践レシピ』)を読んでいます。 先日、Python標準ライブラリのargpar…