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)  # binding token; replay enforcement is package-local in v0.9.6

# 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.hub_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
hub_push(artifact_id) PushResult Push artifact to the configured 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.9.tar.gz (9.2 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.9-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: treeship_sdk-0.9.9.tar.gz
  • Upload date:
  • Size: 9.2 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.9.tar.gz
Algorithm Hash digest
SHA256 7e2cba46694ef24759cfd5d82b4967c1fb17d8d901df6f589d581d20e1f6fec4
MD5 70f7a5d24ba77be2d6d0c2b5afa7a0af
BLAKE2b-256 b66d2fa1297cc679af6d7c4068f5713f14885b996392e2e336f55576b9d31c53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: treeship_sdk-0.9.9-py3-none-any.whl
  • Upload date:
  • Size: 10.0 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d85c4ac8ffef4421335c95ebe275ad9e53dfc742dd2a470f7d1f649608d370f5
MD5 d942a2aa2cfbd993db091a9a7b4c91d1
BLAKE2b-256 f45945ef5ccf09a6cc27052cfd2ea43396fff7acd5784eaba02f5e6c98648717

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