Skip to content

Installation

StarStreamer requires Python 3.11 or higher and uses uv for dependency management.

Prerequisites

Python

StarStreamer requires Python 3.11 or higher. Check your version:

python --version

UV Package Manager

Install uv for fast Python package management:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Installation Methods

# Clone the repository
git clone https://github.com/Arross-Twitch/StarStreamer.git
cd StarStreamer

# Install dependencies with uv
uv sync

# Install with development dependencies (optional)
uv sync --all

Using pip

# Install from GitHub
pip install git+https://github.com/Arross-Twitch/StarStreamer.git

# Or with uv
uv pip install git+https://github.com/Arross-Twitch/StarStreamer.git

Required Dependencies

StarStreamer automatically installs these core dependencies:

  • asyncio - Async/await support
  • httpx - HTTP client for API calls
  • websockets - WebSocket connections
  • python-dotenv - Environment configuration
  • fastapi - Web API backend
  • nicegui - Modern web interface framework
  • uvicorn - ASGI server
  • elevenlabs - Official ElevenLabs SDK for text-to-speech
  • obsws-python - OBS WebSocket client library
  • twitchio - Twitch API integration

Platform Integration Requirements

Twitch Integration

To use Twitch features, you'll need:

  1. Twitch Account - For streaming
  2. Twitch Application - Register at dev.twitch.tv
  3. OAuth Token - With EventSub scopes:
  4. user:read:chat
  5. user:write:chat
  6. user:bot
  7. channel:bot
  8. moderator:read:followers

See Configuration for setup details.

OBS Integration

For OBS automation:

  1. OBS Studio - Version 28.0 or higher
  2. OBS WebSocket - Built into OBS 28+
  3. WebSocket Password - Set in OBS settings

ElevenLabs Integration

For text-to-speech functionality:

  1. ElevenLabs Account - Sign up at elevenlabs.io
  2. API Key - Get from your ElevenLabs Profile
  3. Voice Access - Requires active ElevenLabs subscription for voice usage

Verify Installation

Test your installation:

# Check StarStreamer is installed
uv run python -c "import starstreamer; print(starstreamer.__version__)"

# Run with test configuration
uv run python src/main.py --help

# Start StarStreamer to access web interface
uv run python src/main.py
# Web interface available at: http://localhost:8888

Development Setup

For contributing to StarStreamer:

# Install all dependencies including development tools
uv sync --all

# Run tests
uv run pytest

# Build documentation
mkdocs serve

Troubleshooting

Python Version Issues

If you have multiple Python versions:

# Specify Python version with uv
uv venv --python 3.11
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

Permission Errors

On Linux/macOS, avoid using sudo. Instead, use uv's automatic virtual environment:

# uv automatically creates and manages virtual environments
uv sync

Or explicitly create a virtual environment first:

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv sync

Missing Dependencies

If dependencies fail to install:

# Clear cache and reinstall
uv cache clean
uv sync --force

Next Steps