auctra (Python SDK)
Stage 0/1 Python client — same Authority Protocol as @auctra/sdk.
Requires Python 3.9+.
pip install auctra==0.2.10
# local dev: pip install -e packages/python-sdk
Quick start (with intent anchor)
Every governed action requires create_intent first, then pass the returned intent (id + anchor_token) on execute:
from auctra import Auctra
client = Auctra(api_key="auctra_...", base_url="https://app.auctra.tech")
agent_id = "your-agent-uuid"
expires_at = "2027-01-01T00:00:00Z"
client.authority.issue(
subject=agent_id,
capabilities=["send_payment"],
expires_at=expires_at,
max_amount=500,
max_lifetime_actions=100,
max_lifetime_amount=10_000,
currency="USD",
)
created = client.create_intent(
title="Pay matched vendor invoices",
intent_type="payment",
risk_level="high",
max_risk_level="critical",
allowed_action_types=["send_payment"],
expires_at=expires_at,
)
intent = created["intent"]
preview = client.action.evaluate(
agent_id=agent_id,
action_type="send_payment",
payload={"amount": 50, "currency": "USD"},
intent=intent,
)
decision = client.action.execute(
agent_id=agent_id,
action_type="send_payment",
payload={"amount": 50, "currency": "USD", "target": "vendor:acme"},
intent=intent,
action={
"target": "vendor:acme",
"description": "Net-30 invoice payment",
"risk_level": "medium",
},
)
print(decision["decision"])
client.evidence.verify(payload=decision["evidence_payload"], evidence=decision["evidence"])
New-client gotcha
Sending only claimed_intent_id (without intent_anchor_token or the intent object) returns require_approval with a reason about the missing anchor. Pass intent= from create_intent, or set both claimed_intent_id and intent_anchor_token explicitly.
See docs/integrations/intent-anchors.md.
Threat-engine helpers (Engine 03 + 12)
Lifetime budgets — cap total actions or spend across the delegation lifetime:
client.authority.issue(
subject=agent_id,
capabilities=["send_payment"],
expires_at=expires_at,
max_lifetime_actions=50,
max_lifetime_amount=25_000,
currency="USD",
)
Untrusted tool/MCP outputs — declare provenance so tool responses cannot authorize the next action:
from auctra import action_metadata_with_inputs, declare_tool_response_input
tool_input = declare_tool_response_input(
tool_name="fetch_invoice",
content_hash="sha256:…",
)
decision = client.action.execute(
agent_id=agent_id,
action_type="send_payment",
payload={"amount": 50, "currency": "USD"},
intent=intent,
action={
"target": "vendor:acme",
"metadata": action_metadata_with_inputs(tool_input),
},
)
Pass multiple inputs: action_metadata_with_inputs(a, b) or {"inputs": [a, b]} in action["metadata"].
Public surface
declare_tool_response_input | action_metadata_with_inputs | InputProvenance
client.create_intent | list_intents
client.list_agents | create_agent | get_agent
client.list_api_keys
client.approve_action_request | reject_action_request
client.list_policies | create_policy | simulate_policy | publish_policy
client.get_authority_graph | list_action_types | list_workload_identities
client.list_siem_endpoints | create_siem_endpoint | delete_siem_endpoint
client.list_incidents | open_incident | resolve_incident
client.list_compliance_packs | run_compliance_pack | list_compliance_runs
client.authority.issue | verify | delegate | revoke
client.action.evaluate | execute
client.get_action_request
client.evidence.verify
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 auctra-0.3.0.tar.gz.
File metadata
- Download URL: auctra-0.3.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8baa4ae5c8f0ba9dc4b98c6e59a0a659fc45a515400cb13777e32394e6b7affb
|
|
| MD5 |
a27dd1245ee6f04637be485b915ce9d2
|
|
| BLAKE2b-256 |
915b872411240df86df19d822d86a01363c752e2da731657b8c10fd7798c0314
|
File details
Details for the file auctra-0.3.0-py3-none-any.whl.
File metadata
- Download URL: auctra-0.3.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47dc00b2a011cd1f4912bbe394cf288d3d68831624c18d941f0385ff18b5c77e
|
|
| MD5 |
26dc354e0a4b6f940685a39cf6d3b221
|
|
| BLAKE2b-256 |
d3ca4cd15ef0b822784f759a80daa3937232a7da6200b780e4473c5ed002db2d
|