Metadata-Version: 2.5
Name: voxwire
Version: 0.1.0
Summary: Self-hostable real-time voice AI calls over WebRTC (Pion SFU + Gemini Live).
Project-URL: Homepage, https://github.com/AnjalLLL/voxwire
Project-URL: Source, https://github.com/AnjalLLL/voxwire
Project-URL: Issues, https://github.com/AnjalLLL/voxwire/issues
Project-URL: Changelog, https://github.com/AnjalLLL/voxwire/blob/main/CHANGELOG.md
Author: Anjal Ghimire
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai,gemini,pion,realtime,sfu,voice,voice-agent,webrtc
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Communications :: Telephony
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Classifier: Typing :: Typed
Requires-Python: >=3.12
Provides-Extra: server
Requires-Dist: aiohttp>=3.14.0; extra == 'server'
Requires-Dist: fastapi>=0.136.3; extra == 'server'
Requires-Dist: google-genai>=2.8.0; extra == 'server'
Requires-Dist: grpcio>=1.81.0; extra == 'server'
Requires-Dist: protobuf>=6.33.5; extra == 'server'
Requires-Dist: pydantic-settings>=2.14.1; extra == 'server'
Requires-Dist: uvicorn[standard]>=0.49.0; extra == 'server'
Description-Content-Type: text/markdown

# voxwire

Python package for [Voxwire](https://github.com/AnjalLLL/voxwire), a self-hostable system for real-time voice AI calls over WebRTC.

```bash
pip install voxwire            # client only, no dependencies
pip install "voxwire[server]"  # plus the signaling/agent server
```

## Client

```python
from voxwire import VoxwireClient

vx = VoxwireClient("http://localhost:8000")
print(vx.health())
session = vx.create_session(system_prompt="You are a helpful assistant.")
print(session["signaling_url"])   # ws://localhost:8000/ws/signaling/<id>
vx.end_session(session["session_id"])
```

## CLI

```bash
voxwire serve --port 8000              # needs [server] and a running SFU
voxwire health --url http://localhost:8000
voxwire session --prompt "Be brief."
```

The server reads its settings from environment variables or a `.env` file: `GEMINI_API_KEY`, `GEMINI_MODEL`, `PION_GRPC_URL`, `STUN_SERVER`, `TURN_*`, `ELEVENLABS_*`. It needs the Voxwire SFU running next to it. The simplest way to get both is the [Docker deployment](https://github.com/AnjalLLL/voxwire#quickstart-self-host).

License: Apache-2.0
