Skip to main content

pisama-agent-sdk

PyPI version Python versions License: MIT CI Downloads

ATIF trace adapters and real-time failure detection hooks for agent runtimes, including the Claude Agent SDK, OpenHands, and Harbor-compatible evaluation flows.

Part of the Pisama platform for single-agent, multi-agent, and sub-agent failure detection.

Requires Python 3.10 or newer. Python 3.10 through 3.13 are tested.

As of 0.4.0, this package is a thin, permanent compatibility shim. The implementation now lives in pisama.agents (part of the pisama base package, installed automatically as a dependency); every module here re-exports its pisama.agents equivalent under the original import path. Every API below works exactly as documented, unchanged. New features and fixes land in pisama.agents, not here.

Install

pip install pisama-agent-sdk

Quick Start

Passive Monitoring (hooks)

Add two lines to your Claude Agent SDK setup:

from pisama_agent_sdk import pre_tool_use_hook, post_tool_use_hook

agent.hooks.pre_tool_use = pre_tool_use_hook
agent.hooks.post_tool_use = post_tool_use_hook

Every tool call is now checked for failure patterns in real-time (<100ms). If a loop or other issue is detected, the hook returns a blocking signal to stop the agent.

Active Self-Check

Let the agent verify its own output:

from pisama_agent_sdk import check

result = await check(
    output="The server is healthy based on the metrics.",
    context={"query": "Is auth-service down?", "sources": [...]},
)
if not result["passed"]:
    # result["issues"] describes what went wrong
    print(result["issues"])

Custom Tool for Claude Agent SDK

Give the agent a tool it can call to self-check:

from pisama_agent_sdk import create_check_tool
from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(
    custom_tools=[create_check_tool()],
)

Configuration

from pisama_agent_sdk import configure_bridge, BridgeConfig

configure_bridge(BridgeConfig(
    fail_open=True,           # Allow execution if detection errors (default: True)
    detection_timeout_ms=80,  # Max detection time per hook (default: 80)
))

Tool Matchers

Control which tools get checked:

from pisama_agent_sdk import PreToolUseHook, HookMatcher

# Only check file and shell tools
matcher = HookMatcher(
    tool_name_pattern=r"^(Read|Write|Edit|Glob|Grep|Bash|bash|shell)$"
)
hook = PreToolUseHook(matcher=matcher)
agent.hooks.pre_tool_use = hook

Built-in matchers: ALL_TOOLS, FILE_TOOLS, SHELL_TOOLS, DANGEROUS_COMMANDS, AGENT_TOOLS.

How It Works

  1. Your agent makes a tool call
  2. pre_tool_use_hook converts the call into a Pisama Span
  3. Registered detectors run against the span + recent session context
  4. If a failure is detected (e.g., 5th consecutive Read of the same file), the hook returns a blocking result
  5. The agent receives the block signal and adjusts its behavior

Detection runs entirely locally using pisama-core detectors. No network calls unless you configure a remote endpoint.

Evaluator Mode

Use Pisama as an evaluator in multi-agent harnesses:

from pisama_agent_sdk import PisamaEvaluator

evaluator = PisamaEvaluator(endpoint="https://your-pisama-instance/api/v1")
result = await evaluator.evaluate(trace_data)
print(result.passed, result.failures)

Requires pip install pisama-agent-sdk[evaluator].

License

MIT

Download files

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

Source Distribution

pisama_agent_sdk-0.4.0.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

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

pisama_agent_sdk-0.4.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file pisama_agent_sdk-0.4.0.tar.gz.

File metadata

  • Download URL: pisama_agent_sdk-0.4.0.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pisama_agent_sdk-0.4.0.tar.gz
Algorithm Hash digest
SHA256 688d3c9bfe9dcc11feb49658b9b1d9f8ccacbf60e65355019082edab6423bd53
MD5 b4789b7fca545855f4efbc5305690d9d
BLAKE2b-256 ef74c4d058550ee5a648459822291baa56f05b7c589cc7647c64a7105a46fbaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pisama_agent_sdk-0.4.0.tar.gz:

Publisher: publish.yml on Pisama-AI/pisama-agent-sdk

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

File details

Details for the file pisama_agent_sdk-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pisama_agent_sdk-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbbd079d3b0e1fcd9e75ab89b36ece782225f81f999a114145b4b9e6b9e222a4
MD5 e16dc0c4b9c76b04b2cdd4fda22def35
BLAKE2b-256 32100bcfe15e546e357ce886d4307e028d35db39ebfbf2cf9e256473e1a76d4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pisama_agent_sdk-0.4.0-py3-none-any.whl:

Publisher: publish.yml on Pisama-AI/pisama-agent-sdk

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 Sentry Error logging StatusPage Status page