Skip to main content

Arbiter Python SDK

Official Python client for the Arbiter Control Plane. Same governance semantics as @arbiterhq/sdk (Node): evaluate → allow | hold | deny.

Package: arbiter-sdk==0.1.1
Import: from arbiter import ArbiterRuntime

Install

pip install arbiter-sdk==0.1.1

Authority Connect (arbiter connect --apply) installs the public pin configured in the CLI (currently arbiter-sdk==0.1.0 or newer compatible pins) into Python projects after confirmation. When you are developing inside the Arbiter monorepo, Connect may use an on-disk editable path instead.

Development / contributor only

pip install -e packages/python
# or:
export ARBITER_PYTHON_SDK_PIP_SPEC=/path/to/arbiter_sdk-0.1.1-py3-none-any.whl

Do not use the editable monorepo path as the customer install instruction.

Environment variables

Variable Purpose
ARBITER_API_KEY Workspace API key (arb_test_*) or agent credential (arb_agent_*)
ARBITER_BASE_URL Control Plane base URL (default https://api.arbitertrust.com)
ARBITER_AGENT Required for workspace API keys; stable agent external id for Discovery

You can also pass api_key/credential, base_url, and agent to ArbiterRuntime(...).

Quick start

from arbiter import ArbiterRuntime

runtime = ArbiterRuntime()  # reads ARBITER_API_KEY / ARBITER_BASE_URL / ARBITER_AGENT
runtime.connect(framework="custom", runtimeType="python")

result = runtime.evaluate("send_payment", amount=100)

if result.decision == "allow":
    ...
elif result.decision == "deny":
    ...
elif result.decision == "hold":
    # Approval HOLD includes approval_request_id for Dashboard / Authorizations Approve.
    # API keys cannot approve. This package does not expose completeHeldEvaluation;
    # Node SDK and Authority Gate can complete held evaluations in-process.
    # Discovery HOLD requires a human to Adopt the agent, then retry evaluate.
    ...

Governance boundaries

Arbiter governs agents. It does not replace human security decisions:

  • Discovery observes runtimes. Humans Adopt agents before enforcement begins.
  • Approval HOLD pauses side effects. Humans Approve (or deny) in the Dashboard.
  • Connect and this SDK never auto-Adopt Discovery resources.
  • Connect and this SDK never auto-Approve HOLD decisions.
  • API keys cannot approve; approval requires a human session.

Normal lifecycle:

connect / observe → Adopt (human) → evaluate → allow | hold | deny
                              hold (approval) → Approve (human) → continue

API surface

Symbol Purpose
ArbiterRuntime Client: api_key/credential, agent, base_url, connect(), evaluate()
evaluate(...) POST /evaluate → normalized decision models
AllowEvaluateResult / DenyEvaluateResult / hold variants Decision shapes
ArbiterError / ArbiterTimeoutError / ArbiterConfigError Deterministic errors
normalize_evaluate_result Raw JSON → typed result

Companion packages

Package Version
@arbiterhq/cli 0.3.0
@arbiterhq/sdk 0.3.5 (docs/version identity; companion CLI 0.3.0)
@arbiterhq/gate 0.1.0

Metadata

Release files for arbiter-sdk 0.1.1

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

Source distribution (sdist)

Source distribution for arbiter-sdk 0.1.1
File Size Uploaded
arbiter_sdk-0.1.1.tar.gz 9.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arbiter-sdk 0.1.1
File Interpreter ABI Platform
arbiter_sdk-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.9 kB

Release files / arbiter_sdk-0.1.1.tar.gz

Download URL arbiter_sdk-0.1.1.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b3134ab31df436a01f0b48f35f2b0590efca415dfccac0a318fa98e057f2d12a
BLAKE2b-256 checksum
How to use checksums
e0ab485ccefa0f3a01c6fa5a4d1b9fd349ae312ebd73b53b3c86d082a7683b17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / arbiter_sdk-0.1.1-py3-none-any.whl

Download URL arbiter_sdk-0.1.1-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4e0789efcee589714d47371148f971cf8e350a14fff15bf9997743e5581d5163
BLAKE2b-256 checksum
How to use checksums
721909813dab8f2505cf2407ac622aa381cf294aa3e21d7d11655cc72b4f4b6d
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

This release

0.1.1 This release

2 release files

0.1.0

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