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
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.23.0.tar.gz
(31.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file treeship_sdk-0.23.0.tar.gz.
File metadata
- Download URL: treeship_sdk-0.23.0.tar.gz
- Upload date:
- Size: 31.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bddebe1341789f7b1ed3f655832e7be18de29544f02dc8d125ff29db42699c7f
|
|
| MD5 |
69d1e918bd0ccbb287eacb74295f6d3e
|
|
| BLAKE2b-256 |
733ce1ab8ed29ecce74b3e4ec959cb2d232bdf5ea3a79277068b58ed78d58de1
|
File details
Details for the file treeship_sdk-0.23.0-py3-none-any.whl.
File metadata
- Download URL: treeship_sdk-0.23.0-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae9a02e89df2ee069abb9444c1634574fe117aaca760f1a5c994885a9be8dd9c
|
|
| MD5 |
cd6f36bbec80725a506d007e532d88f5
|
|
| BLAKE2b-256 |
8b791571de5a6fffcef7f2ca85e8abc0aef37b479af5c95ec7d5b1c21533c244
|