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",
allowed_actions=["payments.charge"], # a scope is required
max_uses=1,
)
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, allowed_actions=..., ...) |
ApprovalResult |
Sign a scoped 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
Release files for treeship-sdk 0.31.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| treeship_sdk-0.31.8.tar.gz | 35.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| treeship_sdk-0.31.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.7 kB
Release files / treeship_sdk-0.31.8.tar.gz
| Download URL | treeship_sdk-0.31.8.tar.gz |
|---|---|
| Size | 35.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
19a5efb3c7e2e036fa0b19252a5e51aa922d6a4ea0f61ce11bb17bea585a8633
|
|
BLAKE2b-256 checksum How to use checksums |
9bae893549a4b1e06eb41b0e5bbc9ec831c0756c60b8a64fa8878082c45f63b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / treeship_sdk-0.31.8-py3-none-any.whl
| Download URL | treeship_sdk-0.31.8-py3-none-any.whl |
|---|---|
| Size | 27.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73f40c70bec1eb74c8c1dba4f6be95cd03a2ec9fd18fc506f88b85e999c12421
|
|
BLAKE2b-256 checksum How to use checksums |
361c733d83c01ee0f076266be62f1a13584051dc5d33e0b21c6e45c2f92dced9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|