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 開始後先維持 waiting;若 1 秒內 沒有任何手動/auto step,SDK 會啟動粗粒度 fallback 執行中processing
  • 若 run 內已有手動 step 或 auto-detected step,SDK 不會保留 fallback 造成畫面混亂
  • run 失敗且沒有任何 step 時,fallback step 會以 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.3.tar.gz (14.9 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.3-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: showholdings_agentmon-0.3.3.tar.gz
  • Upload date:
  • Size: 14.9 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.3.tar.gz
Algorithm Hash digest
SHA256 b1a48a8ba5052d45fb909b7d0cfcaa77ab4d5449b602276691a63e5193013bd3
MD5 749b6237ccdb0a377dfbfc99c6893bd1
BLAKE2b-256 2f23fb009792043e0e9f245242030975bbaf09a06c79b1ca977b6ae82661eb15

See more details on using hashes here.

Provenance

The following attestation bundles were made for showholdings_agentmon-0.3.3.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.3-py3-none-any.whl.

File metadata

File hashes

Hashes for showholdings_agentmon-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 52d3e910f0315cdfe31553a04f349e7ef2a2b9878abb7146820f9b4a18cdd5c4
MD5 28d1cc33755a992a4987685855cef647
BLAKE2b-256 8e271e0b982fb987cce6117b79a6a035c8f7df614afe171af91523ec556f4e0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for showholdings_agentmon-0.3.3-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