Skip to main content
This is the fastest path to a working app using the current Python SDK implementation. This guide is script-first by default:
  • python3 <app>.py deploy
  • python3 <app>.py run ...
The optional ./ara wrapper is not required for normal usage.

Prerequisites

  • Python 3.10+
  • User JWT (ARA_ACCESS_TOKEN) for control-plane calls

1) Configure environment

From examples/python-sdk:
cd examples/python-sdk
cp .env.example .env
Set:
ARA_ACCESS_TOKEN=YOUR_USER_JWT

2) Run locally first

python3 meeting_swarm_subagent_modal_minimal.py local \
  --input type=availability_request \
  --input investor_name=Alex
local executes @app.local_entrypoint() without hitting remote APIs, so you can validate routing and payload shape quickly.

3) Deploy

python3 meeting_swarm_subagent_modal_minimal.py deploy
Common deploy options:
python3 meeting_swarm_subagent_modal_minimal.py deploy --on-existing update
python3 meeting_swarm_subagent_modal_minimal.py deploy --on-existing error
python3 meeting_swarm_subagent_modal_minimal.py deploy --warm true
Deploy writes runtime key output to .runtime-key.local by default.

4) Invoke workflows

python3 meeting_swarm_subagent_modal_minimal.py run \
  --workflow booking-coordinator \
  --message "Need 3 slots next week"

python3 meeting_swarm_subagent_modal_minimal.py run \
  --workflow swarm-health-hook
run automatically injects run_id and idempotency_key if you do not provide them.

5) Send normalized inbound events

python3 meeting_swarm_subagent_modal_minimal.py events \
  --workflow booking-coordinator \
  --event-type channel.phone.inbound \
  --channel phone \
  --source webhook \
  --message "Need 3 slots this week" \
  --input investor_name=Alex \
  --input availability_window=9-11
events auto-generates idempotency_key if omitted, and you can set one explicitly with --idempotency-key.

6) Setup + team actions

python3 meeting_swarm_subagent_modal_minimal.py setup
python3 meeting_swarm_subagent_modal_minimal.py invite --email teammate@example.com --role operator
setup returns runtime readiness and webhook setup metadata for the app.

Canonical examples

python3 hackathon_organizer_subagent_modal_minimal.py local --input type=rules_question --input question="Can teams have 5 members?"
python3 hackathon_organizer_subagent_modal_minimal.py deploy
python3 hackathon_organizer_subagent_modal_minimal.py run --workflow participant-qa-coordinator --input participant_name=Alex --input question="What are submission requirements?"
python3 hackathon_organizer_subagent_modal_minimal.py run --workflow daily-reminder-hook

Command summary (run_cli)

python3 <example>.py deploy
python3 <example>.py run --workflow <workflow-id> --message "..."
python3 <example>.py run --workflow <workflow-id> --input key=value
python3 <example>.py local --input key=value
python3 <example>.py invite --email user@example.com --role viewer|operator|editor
python3 <example>.py setup
For exact parameters, defaults, helper builders, and decorator behavior, see /sdk/reference.

Framework adapter variants

python3 framework-adapters/meeting_swarm_langchain_subagent.py local --input channel=phone --input message="Need 3 slots"
python3 framework-adapters/meeting_swarm_langgraph_subagent.py local --input channel=phone --input message="Need 3 slots"
python3 framework-adapters/meeting_swarm_agno_subagent.py local --input channel=email --input message="Need 3 slots"