Skip to main content

Python SDK for Show Holdings AgentOps monitoring

Project description

showholdings-agentmon

showholdings-agentmon 是 Show Holdings AgentOps 的 Python SDK。

它讓你可以在自己的 Python 程式中,用最小改動接入 run-level 與 step-level monitoring。

安裝

pip install showholdings-agentmon

最小使用範例

from showholdings_agentmon import Monitor

monitor = Monitor(
    api_key="YOUR_API_KEY",
    base_url="https://agentops.showholdings.com",
    project_name="my-agent",
)

with monitor.run(agent_name="general-agent", session_id="session-123"):
    result = run_my_agent()

auto_instrumentation v1(預設啟用)

在 v1 中,Monitor(...) 初始化後就會在 monitor.run(...) 期間自動補抓常見 steps, 你不需要額外呼叫 auto_instrument() 或新增 setup code。

目前預設自動補抓:

  • OpenAI / Anthropic / Gemini 模型呼叫(llm_call
  • 模型層 tool use 事件(tool_call
  • 外部 HTTP(S) 呼叫(http_call,requests / httpx)
  • 常見 DB 查詢(db_query,SQLite / SQLAlchemy 第一版)
  • exception / timeout(自動標記 failed 並保留錯誤訊息)
  • fallback step(執行中):即使你只寫 monitor.run(...),也會有基本 step 動態可視化

fallback step 行為:

  • run 開始時會先建立一個粗粒度 執行中 step(processing
  • 若 run 內出現手動 step 或 auto-detected step,fallback step 會先結束,避免和真實 step 長時間重疊
  • 若 run 內完全沒有其他 step,fallback step 會持續到 run 結束(success / failed)

說明:v1 是 deterministic runtime instrumentation,不包含 AI assist setup 或 function-level 自動建議插樁。

標準版(含步驟監測)

from showholdings_agentmon import Monitor

monitor = Monitor(
    api_key="YOUR_API_KEY",
    base_url="https://agentops.showholdings.com",
    project_name="my-agent"
)

with monitor.run(agent_name="填入你的 agent 名稱", session_id="填入你自訂的 session 編號"):
    # 記錄步驟 1
    with monitor.step("填入步驟 1 的名稱", step_type="例如:資料處理 / 模型呼叫 / 輸出結果"):
        result_1 = code_of_step_1()

    # 記錄步驟 2
    with monitor.step("填入步驟 2 的名稱", step_type="例如:資料處理 / 模型呼叫 / 輸出結果"):
        result_2 = code_of_step_2()

SDK 行為說明

  • 進入 with monitor.run(...) 時,自動呼叫 POST /api/sdk/runs/start
  • 離開 context 時,自動呼叫 POST /api/sdk/runs/end
  • 進入 with monitor.step(...) 時,自動呼叫 POST /api/sdk/steps/start
  • 離開 step context 時,自動呼叫 POST /api/sdk/steps/end
  • auto-detected steps 也會走同一組 steps/start / steps/end API
  • 成功結束會送出 status=success
  • 區塊內拋出例外會送出 status=failed,並附帶:
    • failure_reason_type(例外類別名稱)
    • error_count=1
  • step 區塊內拋出例外會送出 status=failederror_message
  • SDK 對監控 API 採 best effort;監控 API 失敗不會中斷你的主要業務流程

本地開發

pip install -e .[dev]
pytest
python -m build

發布概要

本專案已提供 GitHub Actions:

  • ci.yml:在 push / pull_request 執行測試
  • publish.yml:以 PyPI Trusted Publishing 為目標的正式發布流程

你可先用 TestPyPI 驗證流程,再切換到正式 PyPI 發布。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

showholdings_agentmon-0.3.1.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

showholdings_agentmon-0.3.1-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file showholdings_agentmon-0.3.1.tar.gz.

File metadata

  • Download URL: showholdings_agentmon-0.3.1.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for showholdings_agentmon-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b6b33ab1ef4b4bb7a3d9046563654abe3d92884ccfc7b6ad1760bc003f9929f7
MD5 243586e6347e611862a053f7785807c0
BLAKE2b-256 797cd410be3db4a05f37f66f1813bce4f602ccaf3cb6a964410aec826e6f98e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for showholdings_agentmon-0.3.1.tar.gz:

Publisher: publish.yml on andy07s97/showholdings-agentmon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file showholdings_agentmon-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for showholdings_agentmon-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d018c3dd9280ea66a21cb2b897a26bc3c2ba0b41ddf7cf78eb78946f315daa7
MD5 2e39a0de0f207c6f49373234a4ce5cb8
BLAKE2b-256 b2304d4a847dca9fc65c723e8e9baecbea9e917bb8968b777aeeb721583649e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for showholdings_agentmon-0.3.1-py3-none-any.whl:

Publisher: publish.yml on andy07s97/showholdings-agentmon

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page