{"id":34983097,"url":"https://github.com/skyline69/spotix","last_synced_at":"2025-12-27T01:08:58.323Z","repository":{"id":329796215,"uuid":"1118997390","full_name":"skyline69/spotix","owner":"skyline69","description":"A fast, native Spotify client written in Rust - a fork of psst focused on a lightweight,   Electron‑free desktop experience.","archived":false,"fork":false,"pushed_at":"2025-12-21T19:57:50.000Z","size":7161,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-23T07:40:12.421Z","etag":null,"topics":["gui","lightweight","psst","rust","spotify"],"latest_commit_sha":null,"homepage":"https://spotix.dasguney.com/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skyline69.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":"skyline69"}},"created_at":"2025-12-18T15:32:01.000Z","updated_at":"2025-12-23T06:54:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/skyline69/spotix","commit_stats":null,"previous_names":["skyline69/spotix"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/skyline69/spotix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyline69%2Fspotix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyline69%2Fspotix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyline69%2Fspotix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyline69%2Fspotix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skyline69","download_url":"https://codeload.github.com/skyline69/spotix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skyline69%2Fspotix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28067208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-26T02:00:06.189Z","response_time":55,"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":["gui","lightweight","psst","rust","spotify"],"created_at":"2025-12-27T01:08:57.740Z","updated_at":"2025-12-27T01:08:58.314Z","avatar_url":"https://github.com/skyline69.png","language":"Rust","funding_links":["https://github.com/sponsors/skyline69"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.svg\" alt=\"Spotix logo\" width=\"96\" height=\"96\" /\u003e\n  \u003ch1\u003eSpotix\u003c/h1\u003e\n  \u003cp\u003eFast, native Spotify client written in Rust — low overhead, clean UI, lightweight runtime (no Electron).\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/skyline69/spotix/releases/latest\"\u003eLatest Release\u003c/a\u003e\n    •\n    \u003ca href=\"https://github.com/skyline69/spotix/issues\"\u003eIssues\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cimg width=\"1917\" height=\"1079\" alt=\"image\" src=\"https://github.com/user-attachments/assets/82fb24a9-62fd-4475-b59e-6804d3532e1a\" /\u003e\n\n\u003cimg width=\"1922\" height=\"1080\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f993a6c5-9d96-48d4-a0ba-2e05d0bf2ec3\" /\u003e\n\n\n## Fork notice\n- This project is a fork of https://github.com/jpochyla/psst\n- The fork is maintained by skyline69 and diverges in naming, packaging, and ongoing changes\n\n## Additional features over upstream psst\n- Theme support with TOML themes (including custom colors and lyric highlighting)\n- Spotify-style default dark theme with bundled Spotify Mix fonts\n- Configurable cache size limit and cache usage display in preferences\n- Playlist pagination toggle and real-time library search (playlists, albums, tracks, podcasts, albums)\n- Saved playback state restoration (resume last track/position) and improved lyrics view (highlight, focus, auto-scroll)\n- More fluid seek bar, bottom-bar cover click opens album, and platform release binaries\n- More up-to-date dependencies and ongoing maintenance on the fork\n- Automatic retry for transient network timeouts and throttling\n- Built-in 10-band equalizer with presets and custom tuning\n- Multi-select playlist mode with select all and bulk remove actions\n\n## Status\n- Early development; expect missing features and rough edges\n- Requires a Spotify Premium account\n\n## Download\n\nGitHub Actions build and publish releases when changes land on `main`.\nGrab the latest installers from the [Releases page](https://github.com/skyline69/spotix/releases/latest).\n\n| Platform               | Download Link                                                                               |\n| ---------------------- | ------------------------------------------------------------------------------------------- |\n| Linux (x86_64)         | [Download](https://github.com/skyline69/spotix/releases/latest/download/spotix-linux-x86_64)  |\n| Linux (aarch64)        | [Download](https://github.com/skyline69/spotix/releases/latest/download/spotix-linux-aarch64)|\n| Debian Package (amd64) | [Download](https://github.com/skyline69/spotix/releases/latest/download/spotix-amd64.deb)    |\n| Debian Package (arm64) | [Download](https://github.com/skyline69/spotix/releases/latest/download/spotix-arm64.deb)    |\n| macOS                  | [Download](https://github.com/skyline69/spotix/releases/latest/download/Spotix.dmg)          |\n| Windows                | [Download](https://github.com/skyline69/spotix/releases/latest/download/Spotix.exe)          |\n\n## Build\n- Rust stable (1.65.0 or newer)\n\n### Linux dependencies\n- Debian/Ubuntu: `sudo apt-get install libssl-dev libgtk-3-dev libcairo2-dev libasound2-dev`\n- RHEL/Fedora: `sudo dnf install openssl-devel gtk3-devel cairo-devel alsa-lib-devel`\n\n### OpenBSD (WIP)\n```shell\ndoas pkg_add gtk+3 cairo llvm\nexport LIBCLANG_PATH=/usr/local/lib\n```\nIf you hit rustc memory errors while building gtk:\n```shell\nulimit -d $(( 2 * `ulimit -d` ))\n```\n\n### Build from source\n```shell\ncargo build\n# Add --release for release builds.\n```\n\n### Run from source\n```shell\ncargo run --bin spotix-gui\n# Add --release for release builds.\n```\n\n### Build app bundle (macOS)\n```shell\ncargo install cargo-bundle\ncargo bundle --release\n```\n## Cool Features compared to psst\n\n### Equalizer with all the Spotify presets\n\u003cimg width=\"412\" height=\"448\" alt=\"image\" src=\"https://github.com/user-attachments/assets/b0def49f-4b99-46fc-9fb1-20aea44cc913\" /\u003e\n\n\u003cimg width=\"249\" height=\"290\" alt=\"image\" src=\"https://github.com/user-attachments/assets/76202a2e-54bf-468d-b521-400b57d1bb34\" /\u003e\n\n### Crossfade\n\u003cimg width=\"250\" height=\"78\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c523446e-81ba-4085-a852-33632111e339\" /\u003e\n\n### Autoplay using Spotify's algorithm\n\u003cimg width=\"299\" height=\"70\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c294b1ac-222d-4e86-a772-4d41c4aa8a9c\" /\u003e\n\n### Full Caching support for maximum performance!\n\n\u003cimg width=\"407\" height=\"452\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f6fce925-6a01-4a2e-9ef5-4135fc864771\" /\u003e\n\n### And some more\n- Up to date dependencies\n- Clean codebase\n- and much more...\n\n## Built-in Themes\n\n### Gruvbox Dark\n\u003cimg width=\"938\" height=\"501\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d5ef9dff-8fe0-4450-90cf-2f63fa04a967\" /\u003e\n\n### Dracula\n\u003cimg width=\"943\" height=\"513\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2979b8f8-04f1-437c-8610-62f315f1f0db\" /\u003e\n\n### Kanagawa\n\u003cimg width=\"942\" height=\"511\" alt=\"image\" src=\"https://github.com/user-attachments/assets/04bf1d41-fbd0-4960-80c6-8029f6296e64\" /\u003e\n\n### Any many more!\n\n\u003cimg width=\"338\" height=\"415\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6e02bb5c-825a-4c0c-ae49-50c3335b9d53\" /\u003e\n\n## Theming\n- Place TOML theme files in `~/.config/Spotix/themes/`.\n- Spotix ships with multiple preset themes that auto-install into that folder on first run.\n- Each theme file must include a `name` field (e.g. `name = \"catppuccin\"`) and color keys. Example:\n```toml\nname = \"catppuccin\"\nbase = \"dark\"\n\n[colors]\ngrey_000 = \"#cdd6f4\"\ngrey_100 = \"#bac2de\"\ngrey_200 = \"#a6adc8\"\ngrey_300 = \"#585b70\"\ngrey_400 = \"#45475a\"\ngrey_500 = \"#313244\"\ngrey_600 = \"#181825\"\ngrey_700 = \"#1e1e2e\"\nblue_100 = \"#a6e3a1\"\nblue_200 = \"#89b4fa\"\nred = \"#f38ba8\"\nlink_hot = \"#ffffff14\"\nlink_active = \"#ffffff0f\"\nlink_cold = \"#00000000\"\nlyric_highlight = \"#cba6f7\"\nlyric_past = \"#6c7086\"\nlyric_hover = \"#cdd6f4\"\nplayback_toggle_bg_active = \"#a6e3a1\"\nplayback_toggle_bg_inactive = \"#313244\"\nplayback_toggle_fg_active = \"#1e1e2e\"\nicon_color = \"#8e95b4\"\nicon_color_muted = \"#6c7086\"\nmedia_control_icon = \"#cdd6f4\"\nmedia_control_icon_muted = \"#a6adc8\"\nmedia_control_border = \"#585b70\"\nstatus_text_color = \"#bac2de\"\n```\n- Select themes in Settings → General. Custom themes are listed by their `name`.\n\n## Project layout\n- `/spotix-core` core library (session, decoding, playback)\n- `/spotix-gui` GUI app (Druid)\n- `/spotix-cli` minimal CLI example\n\n## Privacy\nSpotix connects only to official Spotify servers.\nCredentials are not stored; a reusable token is used instead.\nCached data is stored locally and can be deleted at any time.\n\n## Credits\n- librespot: https://github.com/librespot-org/librespot\n- druid: https://github.com/linebender/druid\n- ncspot: https://github.com/hrkfdn/ncspot\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyline69%2Fspotix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskyline69%2Fspotix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskyline69%2Fspotix/lists"}