Skip to main content

scitrera-aether-ag2

ag2 (AutoGen 2) adapter for Scitrera Aether, the distributed control plane for multi-agent systems. Wrap any ConversableAgent, host it on Aether, and reach it from another process as if it were local — or let Aether spin it up on demand when a message arrives for an offline agent.

Install

# from the sdk/python-ag2 directory
pip install scitrera-aether-client   # Aether Python client
pip install -e ".[dev]"              # this package + dev deps

Build aetherlite

The examples and E2E tests need the aetherlite binary (a single-binary all-in-one Aether gateway for local development). You can get from the latest release, or build from source:

cd ../../server
go build -o aetherlite ./cmd/aetherlite

The binary is expected at server/aetherlite relative to the repo root. Override with AETHERLITE_BIN=/path/to/binary.

Quickstart

The two_agent_remote example spawns its own gateway, hosts an EchoAgent, and calls it over Aether in under 10 seconds:

cd sdk/python-ag2
./.venv/bin/python -m scitrera_aether_ag2.examples.two_agent_remote

Expected output:

Reply from remote agent: echo: hi

Source: scitrera_aether_ag2/examples/two_agent_remote.py

Concepts

  • AetherAgentHost — server side. Wraps a ConversableAgent, connects to Aether as an agent principal, and dispatches incoming RequestEnvelope messages to ag2's AgentService. Optionally persists conversation history via checkpoints and emits telemetry metrics.

  • AetherRemoteAgent — client side. Implements the ag2 Agent protocol locally; on a_receive() it serialises the conversation turn into a RequestEnvelope, sends it over Aether to the host, streams responses back, and handles tool-call continuations and HITL prompts.

  • AetherAg2Orchestrator — lazy spin-up. Extends the Python SDK's MultiprocessOrchestrator. When Aether's dispatcher sends a TaskAssignment for an offline agent, the orchestrator reads launch_params["factory"] (a module:callable string), builds an env dict, and calls spawn_module() to launch python -m scitrera_aether_ag2.host_entrypoint as a subprocess.

HITL, tool-calls, streaming

HITL: pass hitl_mode="sender" to AetherRemoteAgent to forward human-input prompts to sender.get_human_input(), or "auto_skip" to silently skip them. Default "raise" raises HITLRequired.

Tool calls: AetherRemoteAgent detects tool calls in the remote reply that name tools registered on the sender, executes them locally, and sends a continuation request automatically (up to max_continuations=8).

Streaming: set iostream_streaming=True (default) to forward streaming text chunks to ag2's IOStream as StreamEvents as they arrive.

Tests

# Unit tests only (no gateway needed):
cd sdk/python-ag2
./.venv/bin/python -m pytest

# Full E2E suite (spawns aetherlite):
AETHER_RUN_E2E=1 ./.venv/bin/python -m pytest -v

Status

Alpha. The v1 surface is stable enough for experimentation. Known gaps and deferred items are tracked in .slop/ag2-adapter-tech-debt.md.

Download files

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

Source Distribution

scitrera_aether_ag2-0.0.2.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

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

scitrera_aether_ag2-0.0.2-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file scitrera_aether_ag2-0.0.2.tar.gz.

File metadata

  • Download URL: scitrera_aether_ag2-0.0.2.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for scitrera_aether_ag2-0.0.2.tar.gz
Algorithm Hash digest
SHA256 e2cb2cc260279fe38f59716910e32653a4029e4d83af953cdb8351cc2b485c82
MD5 2d99beef5737b79125e344e8b6e6c196
BLAKE2b-256 5fc4abdcc2532dabdfb19f3d5cad4fcade17aadfbe6656f6cececb6df7721f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitrera_aether_ag2-0.0.2.tar.gz:

Publisher: publish-python.yml on scitrera/aether

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scitrera_aether_ag2-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for scitrera_aether_ag2-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 06429c6a0f32ad80453e81b0d231feb28996bf107bbc4f6d4002c65461e9be3a
MD5 9bcd35cf32107e0a7ea0f30a1ef93f0e
BLAKE2b-256 dbc790cc7e61667da9c5da050ae25a57445e07ebb886bd7abbd919f1d25e271b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitrera_aether_ag2-0.0.2-py3-none-any.whl:

Publisher: publish-python.yml on scitrera/aether

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 files

Supported by

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