Skip to main content

AuraOne Python SDK

Official Python SDK (auraone-sdk) for the AuraOne public API.

Installation

pip install auraone-sdk
pip install "auraone-sdk[async]"  # async client
pip install "auraone-sdk[dev]"    # test tooling

Authentication

Requests authenticate with a platform-issued API key:

ak_<8 lowercase hex>_<64 lowercase hex>

Keep it in an environment variable — never hard-code it:

import os
from aura_one import AuraOneClient
from aura_one.types import ClientConfig

client = AuraOneClient(
    ClientConfig(
        api_key=os.environ["AURAONE_API_KEY"],        # ak_...
        base_url="https://api.auraone.ai",
        # Optional org assertion — must equal the key's organization;
        # the tenant is always derived from the key server-side.
        organization_id=os.environ.get("AURAONE_ORG_ID"),
    )
)

Quickstart

# List templates
templates = client.evaluations.list_templates()

# Create an evaluation — config.inputs is required
evaluation = client.evaluations.create(
    template_id="tpl_your_template",
    config={"inputs": [{"prompt": "example", "expected": "answer"}]},
)

# Poll + cancel
detail = client.evaluations.get(evaluation["id"])
client.evaluations.cancel(evaluation["id"])

CLI

export AURAONE_API_KEY="ak_..."
aura evaluate \
  --template-id tpl_your_template \
  --agent-bundle-url https://example.com/agent.tar.gz \
  --wait

aura list-templates
aura quotas
aura system-health

The aura CLI and AuraClient read AURAONE_API_KEY when no --api-key/api_key argument is given. AURA_API_KEY still works as a deprecated fallback and emits a warning; with neither set the client raises ValueError and the CLI exits 2.

Enterprise Intelligence

client.enterprise_intelligence sends recurring work to AuraOne and reads back finished, reviewed output. Software does the repeatable steps; qualified people review exceptions.

Scopes: reads need enterprise-intelligence.read, writes need enterprise-intelligence.write, and cancellation needs enterprise-intelligence.cancel.

The flat methods are the customer surface. The grouped clients (workflows, runs, batches, deliveries, human_tasks, connectors, tool_bindings, context_sources, historical_sets, improvement, regression, operations, registry) cover every other route. Many of those also check the role of the user who created the key. Each method's docstring names the role it needs. Complex bodies are TypedDicts with the wire field names (see aura_one.services.enterprise_intelligence._types).

ei = client.enterprise_intelligence

# Start one unit of work. Keep the key: retrying with it returns the same run.
inputs = ei.get_run_inputs()["data"]
run = ei.create_run(
    workflow_version_id="wfv_claims_intake",
    input_content_id=inputs["contents"][0]["id"],
    environment_version=inputs["environments"][0]["environmentVersion"],
    idempotency_key="claims-2026-10-06-0001",
)
delivery = ei.get_run_delivery(run["data"]["id"])

# Resolve an exception: ask, never guess.
task = ei.human_tasks.list(status="PENDING")["data"][0]
ei.human_tasks.complete(
    task["id"],
    action="REQUEST_INFORMATION",
    output_content_id="content_reply",
    evidence={"note": "Capacity is blank. Needs supplier confirmation."},
    expected_lock_version=task["lockVersion"],
)

# Upload a weekly queue as one batch (multipart; files keep source order).
ei.batches.ingest(
    workflow_version_id="wfv_menu_update",
    contract={
        "schemaVersion": "auraone.enterprise-ingestion.v1",
        "allowedMediaTypes": ["text/csv", "image/jpeg"],
        "spreadsheetMode": "ROW_PER_ITEM",
        "governance": {
            "dataClassification": "CONFIDENTIAL",
            "trainingRights": "NO_TRAINING",
            "retentionUntil": None,
            "legalHold": False,
        },
    },
    sources=[
        {"sourceId": "sheet", "fileName": "menu.csv", "mediaType": "text/csv",
         "content": open("menu.csv", "rb").read()},
    ],
)

The async client (AsyncAuraOneClient) has the same methods; await each call.

  • Idempotency: every write sends an idempotency-key header. Pass idempotency_key to retry safely; otherwise a UUID4 is generated per call. Keys must be 8-255 characters.
  • Lists return at most 100 records and have no cursor. meta["total"] counts every match; meta["loaded"] counts what was returned. Use is_truncated(meta) and narrow with q and status.
  • Any 503 raises EnterpriseIntelligenceUnavailableError after the client's retries. Other errors carry the route's code and message.
  • Behavior change: errors now come from the nested error body ({"error": {"code", "message"}}) for every service, and HTTP errors raise their typed class (NotFoundError, ServerError, ...) instead of a generic AuraOneError("Request failed: ..."). Read error.code, error.status_code and error.details, not the message text. See CHANGELOG.md.
from aura_one.services.enterprise_intelligence import (
    EnterpriseIntelligenceUnavailableError,
)

try:
    ei.list_runs()
except EnterpriseIntelligenceUnavailableError as error:
    print("Not available yet:", error.code)

The legacy aura.enterprise_intelligence client covers the customer read routes and run creation only.

Notes

  • All requests target https://api.auraone.ai/api/...; there is no separate /v1 host.
  • Cookieless ak_ requests are CSRF-exempt; browser session requests remain CSRF-protected.
  • Launch-excluded surfaces (compute, GraphQL, robotics, synthetic research, rewards) are not part of this SDK.

Metadata

Release files for auraone-sdk 1.0.0

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

Source distribution (sdist)

Source distribution for auraone-sdk 1.0.0
File Size Uploaded Provenance Actions
auraone_sdk-1.0.0.tar.gz 98.4 kB Without provenance Details for auraone_sdk-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for auraone-sdk 1.0.0
File Interpreter ABI Platform Actions
auraone_sdk-1.0.0-py3-none-any.whl Python 3 none any Details for auraone_sdk-1.0.0-py3-none-any.whl

Total release size: 192.5 kB

Release files / auraone_sdk-1.0.0.tar.gz

Download URL auraone_sdk-1.0.0.tar.gz
Size 98.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7ee02c6910d64efeaa1784a2e5beac6456b96ccb61bbe63aff1ab071d047b436
BLAKE2b-256 checksum
How to use checksums
f228460e3892ca28c553b4abf61757f154a5d787f4c12f9d3ed8bf89f5aba349
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / auraone_sdk-1.0.0-py3-none-any.whl

Download URL auraone_sdk-1.0.0-py3-none-any.whl
Size 94.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b21fed10cb2ebd8f53442839dd1ef172062108a10190b83973f26a897f3f8f78
BLAKE2b-256 checksum
How to use checksums
338f5ef715b7ac5f0bdf26396c1c6f5df9de0b1db5ed8a0ebad6f4950d40947a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Security for auraone-sdk 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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