Skip to main content

Python SDK for Treeship - portable trust receipts for agent workflows

Project description

treeship-sdk

Python SDK for Treeship -- portable trust receipts for agent workflows.

Install

pip install treeship-sdk

Requires the treeship CLI binary in PATH:

curl -fsSL treeship.dev/install | sh
treeship init

Usage

from treeship_sdk import Treeship

ts = Treeship()

# Attest an action
result = ts.attest_action(actor="agent://my-agent", action="tool.call")
print(result.artifact_id)  # art_abc123...

# Attest a decision (LLM reasoning)
ts.attest_decision(
    actor="agent://analyst",
    model="claude-opus-4",
    tokens_in=8432,
    tokens_out=1247,
    summary="Contract looks standard.",
    confidence=0.91,
)

# Attest an approval
approval = ts.attest_approval(
    approver="human://alice",
    description="approve payment max $500",
)
print(approval.nonce)  # single-use nonce

# Attest with approval binding
ts.attest_action(
    actor="agent://executor",
    action="stripe.charge.create",
    approval_nonce=approval.nonce,
)

# Verify
result = ts.verify("art_abc123")
print(result.outcome)  # "pass"

# Push to Hub
push = ts.dock_push("art_abc123")
print(push.hub_url)  # https://treeship.dev/verify/art_abc123

# Wrap a command
result = ts.wrap("npm test", actor="agent://ci")
print(result.artifact_id)

API

Method Returns Description
attest_action(actor, action, ...) ActionResult Sign an action receipt
attest_approval(approver, description, ...) ApprovalResult Sign an approval with nonce
attest_handoff(from_actor, to_actor, artifacts) ActionResult Sign a handoff receipt
attest_decision(actor, model, ...) ActionResult Sign a decision receipt
verify(artifact_id) VerifyResult Verify an artifact chain
dock_push(artifact_id) PushResult Push to Hub
wrap(command, actor) ActionResult Wrap a shell command

How it works

The SDK calls the treeship CLI binary via subprocess. All signing happens in the Rust binary. The Python SDK is a thin wrapper.

License

Apache-2.0

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

treeship_sdk-0.9.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

treeship_sdk-0.9.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file treeship_sdk-0.9.0.tar.gz.

File metadata

  • Download URL: treeship_sdk-0.9.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for treeship_sdk-0.9.0.tar.gz
Algorithm Hash digest
SHA256 732f52538c3a1e608fe4c3b1f3dd8160ddc0b6c61b04673a7f2d4062f2c8908d
MD5 f60f5ca443e378a58a23b3e23d9d339c
BLAKE2b-256 c7ed2eddbea741f02aeb4ea31a5c28d897f3eca3e2b1d2c0184e464ff891bb78

See more details on using hashes here.

File details

Details for the file treeship_sdk-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: treeship_sdk-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for treeship_sdk-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a84963bc595e50b4196c422ccf001345f75a160d6bf1ce6d090fd2b262aae004
MD5 67500d517f41b4b4a7c071f0196fd7f5
BLAKE2b-256 ab78e114f34bd66957de821a2d571bb3d33a7933a7f78344a71809873d546bbc

See more details on using hashes here.

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