Skip to main content

Official Python SDK for the Authora agent identity and authorization platform.

Project description

authora

Official Python SDK for the Authora platform -- agent identity, authorization, and delegation management for AI systems.

  • Sync and async clients built on httpx
  • Full type annotations with py.typed marker
  • Python 3.9+
  • Typed error hierarchy for precise exception handling

Installation

pip install authora

Quick Start

Synchronous

from authora import AuthoraClient

client = AuthoraClient(
    api_key="authora_live_...",
    # base_url="https://api.authora.dev/api/v1",  # default
    # timeout=30.0,                                 # default (seconds)
)

# Create a role
role = client.roles.create(
    workspace_id="ws_456",
    name="data-reader",
    permissions=["data:read", "metadata:read"],
)

# Check a permission
result = client.permissions.check(
    agent_id="agt_abc",
    resource="files:reports/*",
    action="read",
)
if result.allowed:
    print("Access granted")

Asynchronous

from authora import AsyncAuthoraClient

async def main():
    client = AsyncAuthoraClient(api_key="authora_live_...")

    agents = await client.agents.list(workspace_id="ws_456")
    for agent in agents.items:
        print(f"{agent.id}: {agent.status}")

Resources

All resources are available on both AuthoraClient (sync) and AsyncAuthoraClient (async):

Resource Attribute Methods
Agents client.agents create, list, get, verify, activate, suspend, revoke, rotate_key
Roles client.roles create, list, get, update, delete, assign, unassign, list_agent_roles
Permissions client.permissions check, check_batch, get_effective
Delegations client.delegations create, get, revoke, verify, list, list_by_agent
Policies client.policies create, list, update, delete, simulate, evaluate
MCP client.mcp register_server, list_servers, get_server, update_server, list_tools, register_tool, proxy
Audit client.audit list_events, get_event, create_report, get_metrics
Notifications client.notifications list, unread_count, mark_read, mark_all_read
Webhooks client.webhooks create, list, update, delete
Alerts client.alerts create, list, update, delete
API Keys client.api_keys create, list, revoke
Organizations client.organizations create, get, list
Workspaces client.workspaces create, get, list

Error Handling

All API errors inherit from AuthoraError:

from authora import AuthoraClient
from authora.errors import (
    AuthoraError,
    AuthenticationError,
    AuthorizationError,
    NotFoundError,
    RateLimitError,
    ValidationError,
    NetworkError,
    TimeoutError,
)

client = AuthoraClient(api_key="authora_live_...")

try:
    agent = client.agents.get("agt_nonexistent")
except NotFoundError:
    print("Agent not found")
except AuthenticationError:
    print("Bad API key")
except RateLimitError as e:
    print(f"Rate limited. Retry after: {e.retry_after}s")
except AuthoraError as e:
    print(f"API error {e.status_code}: {e.message}")
Class HTTP Status Description
AuthoraError any Base class for all API errors
AuthenticationError 401 Invalid or missing API key
AuthorizationError 403 Insufficient permissions
NotFoundError 404 Requested resource does not exist
ValidationError 422 Request validation failed
RateLimitError 429 Too many requests; has retry_after
TimeoutError 408 Request exceeded the timeout
NetworkError 0 Network/connectivity failure

Requirements

  • Python 3.9+
  • httpx >= 0.25.0

License

MIT

Project details


Download files

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

Source Distribution

authora-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

authora-0.1.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file authora-0.1.0.tar.gz.

File metadata

  • Download URL: authora-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for authora-0.1.0.tar.gz
Algorithm Hash digest
SHA256 083d9eb6f1b4ca0dd0c8b0e55ba3e79e037c6ec89d3fafa2754c870fc52962c1
MD5 aa1c59e7d0a455a04ae4e4ce4c94ceef
BLAKE2b-256 3247d74fd16fc2d77bfc62bd61dd73e5188bf83e51e1b050bc9e1366873e25e7

See more details on using hashes here.

File details

Details for the file authora-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: authora-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for authora-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac1a468354a4cd116d921882b4c87a417f7ea137d74401ef5f25f4de49532d4a
MD5 a9369e86ea4241bf3eabcdef3a80310c
BLAKE2b-256 f9238874c7fe501b738718c247e8e917139cb35a4ba9273e0d4f605795cbb6f1

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 Pingdom Monitoring Sentry Error logging StatusPage Status page