{"id":51192729,"url":"https://github.com/feoh/plexbar","last_synced_at":"2026-06-27T17:01:52.666Z","repository":{"id":363421466,"uuid":"1263256334","full_name":"feoh/plexbar","owner":"feoh","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-08T20:49:47.000Z","size":197,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T22:11:04.300Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feoh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-08T19:22:20.000Z","updated_at":"2026-06-08T20:49:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/feoh/plexbar","commit_stats":null,"previous_names":["feoh/plexbar"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/feoh/plexbar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feoh%2Fplexbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feoh%2Fplexbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feoh%2Fplexbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feoh%2Fplexbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feoh","download_url":"https://codeload.github.com/feoh/plexbar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feoh%2Fplexbar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34860913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-27T17:01:51.908Z","updated_at":"2026-06-27T17:01:52.660Z","avatar_url":"https://github.com/feoh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plexbar\n\nPlexbar is a keyboard-driven terminal music player for Plex. It gives you a\nsimple Textual TUI for browsing and playing your Plex music library without\nopening a web browser.\n\n![PlexBar screenshot](PlexBar.png)\n\n## Features\n\n- First-run Plex connection setup\n- Browse by Artists, Albums, Tracks, Playlists, and Genres\n- Search your Plex music library\n- Queue tracks, albums, artists, playlists, and genres\n- Show cover art for the currently playing track or album\n- Play, pause/resume, stop, and skip with keyboard shortcuts\n- Local playback through `mpv`\n\n## Requirements\n\n- Python 3.12+\n- [`uv`](https://docs.astral.sh/uv/)\n- [`mpv`](https://mpv.io/) installed and available on `PATH`\n- A Plex server with at least one music library\n- A Plex account that can access your Plex server\n\n## Installation\n\nInstall Plexbar as a standalone command with `uv`:\n\n```bash\nuv tool install plexbar\n```\n\nRun Plexbar:\n\n```bash\nplexbar\n```\n\n## Installation for development\n\nClone the repository and sync dependencies with `uv`:\n\n```bash\ngit clone git@github.com:feoh/plexbar.git\ncd plexbar\nuv sync\n```\n\nRun Plexbar from the project checkout:\n\n```bash\nuv run plexbar\n```\n\n## First-run setup\n\nIf `~/.config/plexbar/config.toml` does not exist, Plexbar opens a setup screen\nand prompts for:\n\n1. Plex base URL, for example `http://puppy:32400` or `http://127.0.0.1:32400`\n2. Plex sign-in authorization in your browser\n3. Default music library\n\nThe config file is written to:\n\n```text\n~/.config/plexbar/config.toml\n```\n\nPlexbar writes this file with user-only permissions where supported. During setup,\nPlexbar receives a Plex token from Plex after browser authorization and saves only\nthat token. It does not ask for or store your Plex password. Do not commit or\nshare your Plex token.\n\n## Usage\n\nThe top-level browser contains:\n\n- Artists\n- Albums\n- Tracks\n- Playlists\n- Genres\n\nPress `Enter` to drill down into artists, albums, playlists, and genres. Genre\nbrowsing offers \"By Artist\" and \"By Album\" groupings before listing tracks. Press\n`Enter` on a track to enqueue it.\n\n## Keybindings\n\n| Key | Action |\n| --- | --- |\n| `/` | Search Plex music |\n| `Enter` | Select/drill down, or enqueue focused track |\n| `p` | Play focused track/album/artist/playlist/genre artist/genre album immediately and replace queue |\n| `a` | Append focused track/album/artist/playlist/genre artist/genre album to queue |\n| `Space` | Pause/resume |\n| `n` | Next track |\n| `s` | Stop playback |\n| `q` | Quit |\n\n## Local validation\n\n```bash\nuv run ruff check .\nuv run ruff format --check .\nuv run pytest\nuv run mypy src/plexbar tests\n```\n\n## Playback\n\nPlexbar keeps a persistent `mpv` process running and controls it through mpv's\nJSON IPC interface for responsive pause/resume, stop, and track changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeoh%2Fplexbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeoh%2Fplexbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeoh%2Fplexbar/lists"}