Dora Gradio UI Interface
A versatile UI interface for Dora-rs that provides text, audio, and video input capabilities using Gradio.
Features
- Text Input: Direct text input through a chat-like interface
- Audio Input: Real-time audio streaming in 16kHz format
- Video Input: WebRTC camera streaming at 640x480
- Multiple Output Channels:
text: For direct text messagesaudio: For raw audio streamimage: For camera feed
- Clean Interface: Simple and intuitive UI with tabbed sections
- Auto Port Management: Automatically handles port conflicts
Installation
Using pip:
python -m venv .venv
source .venv/bin/activate
pip install -e .
Usage
1. Web Interface
The interface will be available at: http://localhost:7860
2. As a Dora Node
Create a YAML configuration:
nodes:
- id: ui
build: pip install -e .
path: dora-gradio
outputs:
- text # Text from chat interface
- audio # Raw audio stream
- image # Camera feed
env:
VIRTUAL_ENV: path to your venv # comment this if not using venv
Run with Dora:
dora run demo.yml
3. Integration Examples
Video Processing Pipeline
nodes:
- id: ui
build: pip install -e .
path: dora-gradio
outputs:
- image # Camera feed
- id: video_processor
build: pip install -e path/to/processor
path: video-processor
inputs:
video: ui/image
Audio Processing Pipeline
nodes:
- id: ui
build: pip install -e .
path: dora-gradio
outputs:
- audio # Raw audio stream
- id: audio_processor
build: pip install -e path/to/processor
path: audio-processor
inputs:
audio: ui/audio
4. Demo Example
Here's a complete demo pipeline using the UI with visualization and audio processing:
nodes:
- id: ui
build: pip install -e .
path: dora-gradio
outputs:
- text # Text messages
- audio # Raw audio stream
- image # Camera feed
- id: plot
build: pip install dora-rerun
path: dora-rerun
inputs:
text_input: ui/text
audio: ui/audio
image: ui/image
- id: dora-vad
build: pip install -e path/to/dora-vad
path: dora-vad
inputs:
audio: ui/audio
- id: dora-distil-whisper
build: pip install -e path/to/dora-distil-whisper
path: dora-distil-whisper
inputs:
audio: ui/audio
This demo showcases:
- Real-time visualization with dora-rerun
- Voice Activity Detection with dora-vad
- Speech processing with dora-distil-whisper
Interface Features
Camera Tab
- Real-time WebRTC video streaming
- Fixed 640x480 resolution
- BGR8 color format
- Automatic timestamp synchronization
Audio and Text Input Tab
- Chat-like interface for text input
- Real-time audio streaming (16kHz, mono)
- Status indicators for streaming state
- Immediate output through respective channels
Controls
- Send Text button for chat messages
- Stop Server button for graceful shutdown
System Requirements
- Python ≥ 3.10
- Required ports:
- 7860 (Gradio interface)
Known Limitations
- Fixed video resolution (640x480)
- Fixed audio sample rate (16kHz)
- Requires port 7860 to be available
License
dora-gradio's code are released under the MIT License
Metadata
Release files for dora-gradio 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dora_gradio-0.5.0.tar.gz | 5.2 kB | Without provenance | Details for dora_gradio-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dora_gradio-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for dora_gradio-0.5.0-py3-none-any.whl |
Total release size: 10.6 kB
Release files / dora_gradio-0.5.0.tar.gz
| Download URL | dora_gradio-0.5.0.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3430c99861efb5846579b9df387da8512be93e86b25aee434a63371b4e9b7caf
|
|
BLAKE2b-256 checksum How to use checksums |
97e27809c813a63e39d450be563fa361d398cfe0bf78b93f39d0623b42c07b98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / dora_gradio-0.5.0-py3-none-any.whl
| Download URL | dora_gradio-0.5.0-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
181c0627efe3513c3434373109f0fcef5ab228fe400dc8cc65b6b9a0cbbba485
|
|
BLAKE2b-256 checksum How to use checksums |
8fb881bbf29a58a3f14c3a9b01b4ec22bf0da32c62631c776c2db2f59913d690
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for dora-gradio 0.5.0
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.