System tray app that monitors livestreams and launches them in your favorite player via Streamlink.
Project description
StreamCondor 🦅
Monitor → Click → Watch. No browser, no bullshit. → screenshots on GitHub
StreamCondor is a lightweight system-tray app that monitors livestreams and opens them with Streamlink.
Features
- 🔔 Real-time stream monitoring
- 🎯 Multi-platform support (Twitch, YouTube, and other Streamlink-supported sites)
- 🖥️ System tray integration with status icons
- 🎨 Custom player support (mpv, VLC, or your preferred player)
- ⚙️ Per-stream quality, notification, streamlink and player options overrides
- 🕒 Last online / last watched tracking
- 🌐 Favicon fetching and caching
- 📋 Quick launch from clipboard URL
Supported OS: Linux, Windows, macOS (desktop environments with a system tray)
Requirements
- Python 3.12+
- A desktop environment with system tray support
- Streamlink-compatible media player (optional, but recommended)
Install (PyPI)
pip install streamcondor
Run:
streamcondor
Run from source
git clone https://github.com/tarzasai/StreamCondor.git
cd StreamCondor
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
pip install -e .
streamcondor
Alternative without editable install:
PYTHONPATH="$PWD/src" .venv/bin/python -m streamcondor.main
Command-line options
-c, --config PATH Path to custom configuration file
-l, --log-level LEVEL DEBUG | INFO | WARNING | ERROR (default: INFO)
--denoise-logging Reduce dependency log noise
Example:
streamcondor --log-level DEBUG --denoise-logging
Configuration
StreamCondor stores a JSON config file per user.
- Linux:
~/.config/StreamCondor.json - Windows:
%APPDATA%\StreamCondor.json - macOS:
~/Library/Application Support/StreamCondor.json
If the file does not exist, StreamCondor creates one with defaults.
Minimal example:
{
"check_interval_mins": 5,
"default_quality": "best",
"default_notify": false,
"streams": {
"https://www.twitch.tv/some_channel": {
"url": "https://www.twitch.tv/some_channel",
"name": "some_channel",
"type": "twitch"
}
}
}
Development
Bootstrap a local development environment:
./setup_dev.sh
Run tests (recommended from repository root):
PYTHONPATH=src .venv/bin/python -m pytest
Or use the helper script:
./run_tests.sh
Troubleshooting
- No tray icon: verify your desktop environment provides a system tray (some Wayland setups need extra integration).
- Stream does not open: ensure
streamlinkand your target media player are installed and available inPATH. - Plugin/auth-related issues: check your Streamlink user config and plugin setup.
- To troubleshoot with logs:
streamcondor --log-level DEBUG
Reporting issues
Open an issue at https://github.com/tarzasai/StreamCondor/issues and include:
- OS and desktop environment
- Steps to reproduce
- Relevant terminal logs
License
MIT License - see LICENSE for details.
Acknowledgments
- Streamlink
- PyQt6
- Contributors and testers
This is a third-party tool and is not affiliated with any streaming platform.
KDE Tip (Optional)
If you use KDE Plasma (KWin), you may also like Director: https://github.com/tarzasai/kwin-script-director
Director is a KWin script that automatically arranges windows, keeps one primary window large, and parks the others on a screen edge so you can keep them visible.
This is only relevant for KDE/KWin users.
Screenshots
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file streamcondor-1.0.16.tar.gz.
File metadata
- Download URL: streamcondor-1.0.16.tar.gz
- Upload date:
- Size: 451.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d68396489efe3cae1f1443a3e18be7c96ac58c43dbc0b00444a275316e13f177
|
|
| MD5 |
217940724313a2d30b047c4e8b3666fa
|
|
| BLAKE2b-256 |
b642abec970ac0776bcee52cb95ce2a796736247e021a793ac373123b8684bda
|
Provenance
The following attestation bundles were made for streamcondor-1.0.16.tar.gz:
Publisher:
publish.yml on tarzasai/StreamCondor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
streamcondor-1.0.16.tar.gz -
Subject digest:
d68396489efe3cae1f1443a3e18be7c96ac58c43dbc0b00444a275316e13f177 - Sigstore transparency entry: 1818871482
- Sigstore integration time:
-
Permalink:
tarzasai/StreamCondor@2185f283fc198baa67cf133fe582745952b78e1d -
Branch / Tag:
refs/tags/v1.0.16 - Owner: https://github.com/tarzasai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2185f283fc198baa67cf133fe582745952b78e1d -
Trigger Event:
push
-
Statement type:
File details
Details for the file streamcondor-1.0.16-py3-none-any.whl.
File metadata
- Download URL: streamcondor-1.0.16-py3-none-any.whl
- Upload date:
- Size: 127.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50c189efff2f57cf782793d425c737e9d2639ce004e7daad762c2d206bb2842f
|
|
| MD5 |
315859da7a6e3326bcd6697988e984b2
|
|
| BLAKE2b-256 |
6470ac7e05b8bdc0cad389be2c5547de99bf1a8caffb13d5d9f545667bf092ec
|
Provenance
The following attestation bundles were made for streamcondor-1.0.16-py3-none-any.whl:
Publisher:
publish.yml on tarzasai/StreamCondor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
streamcondor-1.0.16-py3-none-any.whl -
Subject digest:
50c189efff2f57cf782793d425c737e9d2639ce004e7daad762c2d206bb2842f - Sigstore transparency entry: 1818871505
- Sigstore integration time:
-
Permalink:
tarzasai/StreamCondor@2185f283fc198baa67cf133fe582745952b78e1d -
Branch / Tag:
refs/tags/v1.0.16 - Owner: https://github.com/tarzasai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2185f283fc198baa67cf133fe582745952b78e1d -
Trigger Event:
push
-
Statement type: