Skip to main content

Public Python SDK for building and running Ara apps.

Project description

Ara Python SDK

Ara is a managed platform for building and running long-lived AI agents in the cloud.

The ara-sdk is the Python layer for defining those agents and tools in code using a minimal authoring model. Ara runs the cloud runtime and operations, while the SDK focuses on compact automation scripts.

Overview

Minimal SDK primitives:

  • @tool: expose deterministic Python functions as callable tools.
  • secret("KEY"): declare and read required secrets at runtime.
  • Automation(...): define one deployable automation agent with tools and instructions.

This keeps authoring simple: one script, one automation declaration, optional helper metadata.

Runtime flow:

Users / Clients
  (Web app, SMS, Slack, Email)
            |
            |  HTTP (bidirectional webhooks / responses)
            v
+----------------------------------------------+
|         Ara Cloud: 24/7 Agent Runtime        |
|  - Interprets prompt + workflow              |
|  - Activates sandbox when work is needed     |
+--------------------------+-------------------+
                           |
                           v
                 +------------------------+
                 |   Sandbox / Computer   |
                 | - File system access   |
                 | - Executes tasks/tools |
                 +-----------+------------+
                             |
            +----------------+----------------+
            v                                 v
 +---------------------------+   +---------------------------+
 | Custom tools / skill files|   | Subagents / other agents |
 +---------------------------+   +---------------------------+

Quickstart:

import ara_sdk as ara

@ara.tool
def send_email(to: str, subject: str, body: str) -> dict:
    sender = ara.secret("CRON_EMAIL_FROM")
    api_key = ara.secret("RESEND_API_KEY")
    _ = (to, subject, body, api_key)
    return {"ok": True, "from": sender}

ara.Automation(
    "weekday-priority-agent",
    system_instructions="Send weekday priority digest.",
    tools=[send_email],
)

Non-interactive auth (no ara auth login) is supported via ARA_API_KEY:

ARA_API_KEY="<your_key>" ara deploy app.py

For CI/CD, you can also use the helper script:

python scripts/deploy_app.py app.py --api-key "<your_key>"

Install

pip install ara-sdk

Documentation

Local testing (no uv)

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -e . pytest
python -m pytest -q

Run maintained examples

Examples: github.com/Aradotso/ara-python-sdk/tree/main/examples

FAQ

What is the difference between Ara and ara-sdk?

Ara is the managed control/runtime plane (execution, lifecycle, policy, observability), while ara-sdk is the authoring layer for automation behavior (tools + instructions). You define Python app logic; Ara handles runtime operations you would otherwise run as custom infrastructure.

Does “24/7 runtime” mean I pay for permanently hot compute?

Not inherently. The runtime is always available as the service boundary, but sandbox/task compute can activate on demand from schedules, events, and API calls. Practical cost and footprint depend on your trigger frequency and runtime policy. Note: today usage is billed under your existing Pro or Ultra subscription.

How should I think about Automation, @tool, and secret(...)?

Use Automation(...) as the top-level app declaration, @tool for deterministic capability execution, and secret("KEY") when a tool requires credentials. Schedules are configured in app.ara.so UI to avoid code/UI drift.

How do I handle secrets and environment safely at scale?

Declare required credentials in code with secret("KEY") and provide values through Ara secret sync at deploy time (or pre-provisioned app secrets). Keep all secret values out of source control.

Do I need public endpoints to use Ara?

No. The minimal SDK is automation-first; public endpoint wiring is not part of this authoring surface.

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

ara_sdk-0.1.48.tar.gz (46.6 kB view details)

Uploaded Source

Built Distribution

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

ara_sdk-0.1.48-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file ara_sdk-0.1.48.tar.gz.

File metadata

  • Download URL: ara_sdk-0.1.48.tar.gz
  • Upload date:
  • Size: 46.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ara_sdk-0.1.48.tar.gz
Algorithm Hash digest
SHA256 3d3240b208afb6546a628d92975614fec3779e292e123f96616a05dbdf6724d6
MD5 6531753241763d696f0a96fd7e6f16fc
BLAKE2b-256 b458bba91687f30a410114926ddc9f0ac64f9972b0b71c81b258668cb8b87932

See more details on using hashes here.

File details

Details for the file ara_sdk-0.1.48-py3-none-any.whl.

File metadata

  • Download URL: ara_sdk-0.1.48-py3-none-any.whl
  • Upload date:
  • Size: 42.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ara_sdk-0.1.48-py3-none-any.whl
Algorithm Hash digest
SHA256 c05eeaba4ff0250f18fc94b91dae332cc7269be1da76ca476f20b037cb2ce052
MD5 c38069f9ffe07482c3d720fa6a30f841
BLAKE2b-256 b9f0379e8260c3300577b6253f177c5003887250748d0793e2b2a179f8df6593

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