Skip to content

Requirements

This page lists every runtime dependency Mumimo needs, how to install them, and which Python packages are pulled in automatically.

Mumimo requires Python 3.12 or newer.

Dependency Purpose Install (Debian / Ubuntu)
ffmpeg Audio decoding and encoding sudo apt install ffmpeg
libopus Opus audio codec (development headers) sudo apt install libopus-dev
Node.js 20+ Required by yt-dlp for some JS-based extractors sudo apt install nodejs

On other Linux distributions, install the equivalent packages through your package manager. macOS users can use Homebrew (brew install ffmpeg opus node).

All Python packages are declared in pyproject.toml and installed automatically when you run uv sync or pip install -e ..

Package Purpose
pymumble Mumble protocol client (DuckBoss fork — see note below)
yt-dlp YouTube and media URL extraction
Pillow Image rendering for GUI messages
requests HTTP client
beautifulsoup4 HTML parsing
markdown Markdown-to-HTML conversion
fuzzywuzzy Fuzzy string matching
python-Levenshtein Speed backend for fuzzywuzzy
structlog Structured logging
audioop-lts audioop backport for Python 3.13+

Docker is optional but supported for containerised deployments. The repository ships a Dockerfile and docker-compose.yaml. See the Docker section of the README for details.

Terminal window
docker compose up --build

The compose file reads MUMBLE_IP, MUMBLE_PORT, and MUMBLE_PASSWORD from your environment.