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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arbiter_sdk-0.1.1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

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

arbiter_sdk-0.1.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file arbiter_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: arbiter_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for arbiter_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b3134ab31df436a01f0b48f35f2b0590efca415dfccac0a318fa98e057f2d12a
MD5 4ae5bc42c8207a08b056b64ee703e1c8
BLAKE2b-256 e0ab485ccefa0f3a01c6fa5a4d1b9fd349ae312ebd73b53b3c86d082a7683b17

See more details on using hashes here.

File details

Details for the file arbiter_sdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: arbiter_sdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for arbiter_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4e0789efcee589714d47371148f971cf8e350a14fff15bf9997743e5581d5163
MD5 c8ef0752834265cdab58553856b477fb
BLAKE2b-256 721909813dab8f2505cf2407ac622aa381cf294aa3e21d7d11655cc72b4f4b6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page