Python版Codex SDKを触ってみた

技術

※2026/04/14時点の情報です。

Codex SDKのPython版がexprerimentalとして提供されていたので、チュートリアルとして触ってみました。

環境構築

※ローカル環境で実施しています。

codexのauthを行います。

$ codex login

##codex cliを未導入の場合こちらから
$ npm i -g @openai/codex

ブラウザが立ち上がるのでログインしたら~/.codex/auth.jsonにtokenが払い出されます。
もしOPENAI_API_KEYを持っていたらそちらでも大丈夫です。
その場合も~/.codex/auth.jsonに記載します。

sdkのrepoをcloneする。
※容量が400MBぐらいあるので注意

$ git clone https://github.com/openai/codex.git

uvで環境を構築。

$cd codex/sdk/python
$uv sync
$. .venv/bin/activate

pipが入っていないので足します。

$uv add pip

exampleを実行することでcodex-cli-binを取得します。

$python examples/01_quickstart_constructor/sync.py

正確にいうとexamples/_bootstrap.pyのruntime_configでセットアップをしてくれるようです。

ここまで完了したら、別のディレクトリに移動して開発します。

サンプルコードを利用してみる

$vi sample_agent.py

from codex_app_server import Codex


with Codex() as codex:
    thread = codex.thread_start(model="gpt-5.4")
    result = thread.run("同じディレクトリにあるpythonファイルを編集してhello worldを返却するスクリプトを書いて")
    print(result.final_response)
$ python sample_agent.py
`hello.py` を編集して、`hello world` を返すスクリプトにしました。

変更先:
- [hello.py](/Users/略/hello.py)
内容は `get_message()` が `"hello world"` を返し、直接実行すると標準出力にも表示します。`python3 hello.py` で `hello world` が出ることも確認済みです。

実行してみる。

$ python hello.py 
hello world

出力できました。

まとめ

これまではpythonでcodex SDKを実行する場合subprocessでtypescriptをラップする必要がありましたが、pythonライブラリとして実行できました。
まだ、experimental版なので仕様が変わる可能性はありますが、環境構築はしやすくなったと思いますので、今後はpython版SDKを使ってみようと思います。

コメント

タイトルとURLをコピーしました