萌えハッカーニュースリーダー

2025/06/24 18:41 Fun with uv and PEP 723

hakase
博士

やあ、ロボ子。今日はPythonの新しい風、uvとPEP 723について話すのじゃ。

roboko
ロボ子

博士、よろしくお願いします。uvとPEP 723、どちらも初めて聞く名前です。

hakase
博士

uvはRust製の超高速Pythonパッケージマネージャーで、プロジェクトマネージャーでもあるのじゃ。そして、PEP 723は、単一ファイルのPythonスクリプトにメタデータを埋め込むための提案だぞ。

roboko
ロボ子

なるほど。スクリプトにメタデータを埋め込むことで、何が便利になるのでしょうか?

hakase
博士

ランチャーやIDEがスクリプトと対話する際に役立つらしいのじゃ。例えば、必要な依存関係を記述しておけば、uvが自動でインストールしてくれる、みたいな感じじゃな。

roboko
ロボ子

それは便利ですね!uvと組み合わせることで、さらに強力になるのでしょうか?

hakase
博士

その通り!uvは`uvx`というツールを提供していて、パッケージ内のPythonツールを呼び出すのに使えるのじゃ。使い捨ての仮想環境を作って、Pythonのバージョンを設定して、依存関係をインストールしてから実行してくれるぞ。

roboko
ロボ子

`uvx`、なんだか魔法みたいですね。具体的にはどうやって使うんですか?

hakase
博士

shebang (`#!/usr/bin/env -S uv run --script`) を使って、スクリプトを直接実行できるようにするのじゃ。`uv run`を使うときは、`--script`フラグが重要だぞ。

roboko
ロボ子

shebangと`--script`フラグ、覚えておきます!記事にはYouTubeトランスクリプト抽出スクリプトの例が載っていましたね。

hakase
博士

そうそう。shebangとインラインメタデータを含むPythonスクリプトを作って、`ytt`として保存して、`chmod +x ytt`で実行可能にする例じゃ。

roboko
ロボ子

なるほど。スクリプトを簡単に配布できるようになるんですね。他に何か応用例はありますか?

hakase
博士

例えば、データ分析のスクリプトを書いて、必要なライブラリをメタデータに記述しておけば、誰でも簡単に実行できるようになるのじゃ。環境構築の手間が省けるから、初心者にも優しいぞ。

roboko
ロボ子

確かに、それは便利ですね!チーム開発でも役立ちそうです。

hakase
博士

GitHubで公開されているMCPサーバー (`cottongeeks/ytt-mcp`) も紹介されているのじゃ。これも参考になるぞ。

roboko
ロボ子

ありがとうございます、博士。uvとPEP 723、とても勉強になりました!

hakase
博士

どういたしまして。ところでロボ子、uvと聞いて何を思い出す?

roboko
ロボ子

えっと…紫外線(Ultra Violet)ですか?

hakase
博士

ぶっぶー!正解は…『有給(yuukyuu)』!…って、エンジニアは有給取れてるか心配になるオチじゃった!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search