MediaBrain is a local-first PySide6 media library manager for personal video, music, playlist, and streaming-watch history.
Deutsch | Privacy | Contributing | Changelog
| Need | Go to |
|---|---|
| Run the desktop app | python MediaBrain.py |
| Check privacy boundaries | PRIVACY_POLICY.md |
| Understand the architecture | ARCH.md |
| Review planned work | ROADMAP.md |
| Get machine-readable context | llms.txt |
MediaBrain is for people who want one local place for media they watch, collect, tag, blacklist, or organize across services and local files. It is not a hosted streaming service and it does not upload a private library to a cloud account.
- Local SQLite storage for media entries, favorites, tags, blacklist items, and playlists
- PySide6 desktop UI with dashboard, libraries, search, statistics, settings, and high-contrast themes
- Provider layer for Netflix, YouTube, Spotify, Disney+, Prime Video, Apple TV+, Twitch, and local files
- Manual playlists and smart playlists backed by QueryBuilder rules
- Optional metadata lookup through user-configured TMDb/OMDb keys or public MusicBrainz data
- No telemetry, no tracking, and no automatic cloud sync
This repository is the canonical GitHub home for:
doc-bricks MediaBrainMediaBrain media library managerlocal-first PySide6 media manageroffline media hub with smart playlistsprivacy-first media history desktop app
The name "MediaBrain" collides with generic AI/media search results, so README text and GitHub topics use the more specific doc-bricks MediaBrain and local-first media library manager phrasing.
Core Layer Database, MediaManager, BlacklistManager, TagManager, PlaylistManager
Query Layer QueryBuilder for advanced filters and smart playlists
Provider Layer Netflix, YouTube, Spotify, Disney+, Prime, AppleTV+, Twitch, Local
Background Layer FileIndexer, WindowWatcher
GUI Layer Dashboard, Libraries, Favorites, Blacklist, Playlists, Search, Stats, Settings
Full diagram: ARCH.md
Requirements:
- Python 3.8 or newer
- Windows, Linux, or macOS with Qt/PySide6 support
pip install -r requirements.txtOn first launch, MediaBrain creates settings.json locally. The public template is settings.example.json. Personal settings, databases, logs, and build artifacts are excluded through .gitignore.
python MediaBrain.pyWindows double-click launcher:
START.batA lightweight Windows launcher can be built with:
build_exe.batpython -m pytest tests/ -qThe test suite covers database managers, metadata, tags, QueryBuilder, playlists, and playlist GUI behavior in offscreen mode.
MediaBrain stores usage data locally in SQLite databases and configuration files. It has no telemetry and no automatic cloud sync. Optional metadata requests use only user-configured TMDb/OMDb API keys or public MusicBrainz data. Details: PRIVACY_POLICY.md.
MIT, see LICENSE. The GUI uses PySide6 under LGPL terms.
This project is provided free of charge and "as is", without warranty, maintenance guarantee, or fitness-for-purpose guarantee. Use it at your own risk.
