Skip to main content

AlphaAvatar RTC

alpha-avatar-rtc owns transport-specific adapters. Its base package depends only on alpha-avatar-core; the livekit extra enables LiveKit codecs and adapters.

from alphaavatar.rtc.livekit.audio.codec import from_livekit_audio_frame, to_livekit_audio_frame
from alphaavatar.rtc.livekit.audio.input import LiveKitAudioInput
from alphaavatar.rtc.livekit.audio.output import LiveKitTransientAudioOutput
from alphaavatar.rtc.livekit.status.output import LiveKitStatusOutput
from alphaavatar.rtc.livekit.text import LiveKitTextInput
from alphaavatar.rtc.livekit.transcript.output import LiveKitTranscriptOutput
from alphaavatar.rtc.livekit.video.codec import from_livekit_video_frame, to_livekit_video_frame
from alphaavatar.rtc.livekit.video.input import LiveKitVideoInput

Transport-neutral image conversion lives in alphaavatar.core.media.codecs.video and is available through alpha-avatar-core[video].

📦 Package structure

alphaavatar/rtc/livekit/
├── audio/                # PCM codecs, audio ingress and output transport.
├── video/                # Video codecs and video ingress.
├── text/                 # Bounded text-stream ingress.
├── transcript/           # Transcript delivery.
├── status/               # User-facing status delivery.
└── utils/                # LiveKit event-binding helpers.

Selected files and feature directories are shown; ordinary package initializers are omitted.

Lifecycle and ownership

Media inputs receive a LiveKit room and shared PerceptionRuntime. Text input receives an injected submit callback; Host binds it to Engine admission without introducing an RTC-to-Agents dependency. Output adapters receive a room and shared OutputRuntime.

Adapters expose on_start() and on_stop() for Core lifecycle coordination. Each owns its subscriptions, callbacks, tasks and transport resources. It must not close the shared room, PerceptionRuntime or OutputRuntime. Host SessionManager orders attachment outputs, Engine and inputs in the execution child. SessionAttachment releases adapters and its connection; HostExecution separately settles Engine and AvatarRuntime. LiveKitConnection reports transport events and never closes an execution or deletes a room.

Partial startup triggers owned cleanup. Concurrent shutdown callers share cleanup, and caller cancellation is propagated after it settles. Closed input adapters are not restarted. Video conversion remains off the event-loop thread, with source-generation checks before publication.

The package root does not import a backend. RTC adapters must not depend on alphaavatar.agents, concrete perception plugins or livekit.agents.

Native input and output

LiveKitTextInput consumes the lk.chat text stream, checks the transport-supplied sender identity and bounded complete content, then invokes the injected submit callback. It does not pre-publish a second perception copy. Attached byte streams are not implemented by this text adapter.

Despite its retained class name, LiveKitTransientAudioOutput serves both ASSISTANT and TRANSIENT output on one audio track. It does not own a model or a second TTS pipeline. Host supplies the audio format declared by the selected TTS provider.

Consumers read event.output and its typed scope, source and payload. Interruptions use Runtime-fixed exact targets, not a new broad match against a later output. Playback feedback and final transcript delivery remain distinct from generation completion. Internal status decisions and canonical records are not projected as client status content.

Migration status

Codecs, media/text inputs and audio/status/transcript outputs live here. Application assembly lives in Host. Engine/Loop own native generation; Router owns synthesis and transcript synchronization. The obsolete SDK model/turn/response and record bridges are removed, not alternative supported paths.

Voice provides native async PCM synthesis; RTC only converts/delivers the resulting Core frames. Native Host owns application and execution-process hosting; it does not use the Agents SDK worker. Native Character presentation is assembled by Host. Audio/video input adapters accept an immutable snapshot of excluded_participant_identities; filtering happens before creating a source generation or stream reader, for both existing and newly subscribed tracks. Host excludes only the exact renderer identity, without feeding Character output back into perception. This migration does not yet provide connection-independent execution or persistent task recovery.

Metadata

Release files for alpha-avatar-rtc 0.6.8

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

Source distribution (sdist)

Source distribution for alpha-avatar-rtc 0.6.8
File Size Uploaded Provenance
alpha_avatar_rtc-0.6.8.tar.gz 33.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for alpha-avatar-rtc 0.6.8
File Interpreter ABI Platform
alpha_avatar_rtc-0.6.8-py3-none-any.whl Python 3 none any Details

Total release size: 80.1 kB

Release files / alpha_avatar_rtc-0.6.8.tar.gz

Download URL alpha_avatar_rtc-0.6.8.tar.gz
Size 33.7 kB
Tags Source
SHA-256 checksum
How to use checksums
866125a321089befde3989b9f032b773c72a497207b47d7b1c719a8a8fa6a389
BLAKE2b-256 checksum
How to use checksums
b11bf665243397798cda639bf73244ab987b756247304f4ab4a5d1d2325aead5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / alpha_avatar_rtc-0.6.8-py3-none-any.whl

Download URL alpha_avatar_rtc-0.6.8-py3-none-any.whl
Size 46.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f43c229fe04aadca7d7faa480381f2b21bc2ee4cf1eb3061ac09f9fed9676d9
BLAKE2b-256 checksum
How to use checksums
5298c77e7458ce1607828ebc23687e750413325340bcb108959104dada3868c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for alpha-avatar-rtc 0.6.8

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.

Release history Release notifications | RSS feed

This release

0.6.8 This release

2 release files No provenance

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