Skip to main content

auctra (Python SDK)

Stage 0/1 Python client — same Authority Protocol as @auctra/sdk.

Requires Python 3.9+.

pip install auctra==0.3.5
# 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 (low) or blocked (medium+) with a reason about the missing anchor. Pass intent= from create_intent, or set both claimed_intent_id and intent_anchor_token explicitly. Missing intent entirely on medium+ is now blocked.

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 on medium+ / tool-sourced / RAG paths so responses cannot authorize the next action (Authority Gate blocks without metadata.inputs):

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"].

Authority Gate responses — evaluate/execute may include gate_transcript (defense-in-depth layers) and threat_engines on the JSON body, aligned with @auctra/sdk@0.7.7. See docs/security/authority-gate.md.

Declare fetch/egress destinations via action["metadata"]["fetch"] / egress_host_allowlist, and MCP install trust via mcp_install + supply_chain_attestation (Engines 13–15) — same opt-in honesty model as tool attestation.

Public surface

declare_tool_response_input | action_metadata_with_inputs | InputProvenance
on_allowed | assert_authority_live
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 | get_authority_liveness | 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  (parent_action_id, execute_after)
client.get_action_request
client.evidence.verify

Metadata

Release files for auctra 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auctra 0.3.5
File Size Uploaded
auctra-0.3.5.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for auctra 0.3.5
File Interpreter ABI Platform
auctra-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 18.9 kB

Release files / auctra-0.3.5.tar.gz

Download URL auctra-0.3.5.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
11570735e21a7f7b649a6417a649053381d6c1dd86811be0dcb4a21e1a812336
BLAKE2b-256 checksum
How to use checksums
e35500713435d176fe91855c1316af15d53b4d208afac8df359c80434e644820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / auctra-0.3.5-py3-none-any.whl

Download URL auctra-0.3.5-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
51c86bddccf38fe8b28354d9ed46c6d6fbef5256d7b7c0559e84a0b93ee18267
BLAKE2b-256 checksum
How to use checksums
4336e0059d7c818a76c5492df59d73eef86d2fc30a42a69fd6b853b7e3528752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

0.3.7

2 release files

0.3.6

2 release files

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page