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

auctra-0.3.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auctra-0.3.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

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

Hashes for auctra-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8baa4ae5c8f0ba9dc4b98c6e59a0a659fc45a515400cb13777e32394e6b7affb
MD5 a27dd1245ee6f04637be485b915ce9d2
BLAKE2b-256 915b872411240df86df19d822d86a01363c752e2da731657b8c10fd7798c0314

See more details on using hashes here.

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

Hashes for auctra-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47dc00b2a011cd1f4912bbe394cf288d3d68831624c18d941f0385ff18b5c77e
MD5 26dc354e0a4b6f940685a39cf6d3b221
BLAKE2b-256 d3ca4cd15ef0b822784f759a80daa3937232a7da6200b780e4473c5ed002db2d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

This release

0.3.0 This release

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 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