Show HN: theta_py — Theta CLI の Python バインディング
theta_py は Theta CLI の Python バインディングであり、開発者はルール、ツール、スキルの追加、プロジェクト状態の同期、Claude Code などのプラットフォームへのキャストなど、AI エージェントプロジェクトをプログラムで作成・管理できます。高レベルな ThetaProject クラス、低レベル関数、エラーハンドリング、バージョン固定機能を提供します。
Theta は AI エージェントの構築と設定を行うツールであり、theta_py はその Python バインディングです。開発者はコマンドラインの代わりにコードを用いて Theta プロジェクトを管理できます。このプロジェクトは GitHub 上でオープンソースとして公開されており、Apache-2.0 や MIT などのライセンスが適用されています。
コア機能:ThetaProject クラス
ThetaProject は主要なインターフェースで、一時ディレクトリ内に具体化された Theta プロジェクトを保持します。Python のコンテキストマネージャーを使用して、CLI ワークフローと同等の操作を簡単に実行できます。例えば:
- プロジェクトの初期化:
ThetaProject.create(name="my-agent") - ルールの追加:
proj.add.rule("python-types") - ツールの追加:
proj.add.tool("fetch", command="uvx mcp-server-fetch") - スキルの追加:
proj.add.skill("vercel-labs/agent-skills/skills/web-design-guidelines@main") - 検証:
proj.check()(検証失敗時はThetaCommandErrorをスロー) - デプロイ:
proj.cast.to("claude-code")でCLAUDE.md、.mcp.json等のファイルを生成 - 同期:
proj.sync()でプロジェクトをディスクに書き込む
また、ThetaProject.from_manifest() を使用して既存のプロジェクトを読み取り専用で開くことができ、デフォルトで同期が行われます(no_sync=True でオプトアウト可能)。needs_sync() や is_synced プロパティによる同期の鮮度チェックも提供されています。
低レベル API
高レベルクラスに加えて、theta_py はフラットな関数や theta シングルトンも提供しており、素早い呼び出しが可能です。例えば:
from theta_py import theta
theta.init(name="my-agent")
theta.add.rule("safety")
listing = theta.list.rules()すべての操作は Pydantic モデルを返し、失敗時には詳細な診断情報を含む ThetaCommandError がスローされます。
バージョンと互換性
各 theta_py リリースは特定の theta バイナリーバージョンに固定されており、theta_py.THETA_VERSION で確認できます。これにより、API と基盤となる CLI の一貫性が保証されます。
プロジェクトの状況
GitHub 上でのスター数は 1、フォークは 0、最新リリースは v0.0.4(2026 年 6 月 13 日)です。主要言語は Python(99.7%)、残りは Just ファイル(0.3%)です。
複数の AI エージェント設定をプログラムで管理する必要がある開発者にとって、theta_py は簡潔で型安全なソリューションを提供します。