{"id":13455058,"url":"https://github.com/xou816/spot","last_synced_at":"2025-05-14T02:08:08.349Z","repository":{"id":37518710,"uuid":"261984476","full_name":"xou816/spot","owner":"xou816","description":"Native Spotify client for the GNOME desktop","archived":false,"fork":false,"pushed_at":"2024-11-29T18:16:37.000Z","size":33597,"stargazers_count":2383,"open_issues_count":107,"forks_count":132,"subscribers_count":17,"default_branch":"development","last_synced_at":"2025-04-10T18:31:46.092Z","etag":null,"topics":["gnome","gtk-rs","gtk4","rust","spotify"],"latest_commit_sha":null,"homepage":"","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/xou816.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-07T07:47:47.000Z","updated_at":"2025-04-09T03:04:39.000Z","dependencies_parsed_at":"2022-06-27T17:31:11.257Z","dependency_job_id":"d5a25d38-dcf8-4d99-b402-a2066884a2eb","html_url":"https://github.com/xou816/spot","commit_stats":{"total_commits":742,"total_committers":65,"mean_commits":"11.415384615384616","dds":0.3153638814016172,"last_synced_commit":"aa1c57842c3f4e424eb62c69365438f904b2dc63"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xou816%2Fspot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xou816%2Fspot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xou816%2Fspot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xou816%2Fspot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xou816","download_url":"https://codeload.github.com/xou816/spot/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052956,"owners_count":22006717,"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","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":["gnome","gtk-rs","gtk4","rust","spotify"],"created_at":"2024-07-31T08:01:00.798Z","updated_at":"2025-05-14T02:08:03.337Z","avatar_url":"https://github.com/xou816.png","language":"Rust","funding_links":[],"categories":["Media Streaming Platforms","Rust","Applications","Overview","Audio","应用"],"sub_categories":["Email Alias Services (Anonymous Forwarding)","Audio","Spotify","Audio Players","音频"],"readme":"# Spot [![spot-snapshots](https://github.com/xou816/spot/actions/workflows/spot-snapshots.yml/badge.svg?branch=master)](https://github.com/xou816/spot/actions/workflows/spot-snapshots.yml)\n\nGtk/Rust native Spotify client for the GNOME desktop. **Only works with premium accounts!**\n\nBased on [librespot](https://github.com/librespot-org/librespot/).\n\nJoin the discussion on [Matrix](https://matrix.to/#/#spot-devel:matrix.org).\n\n![Spot screenshot](./data/appstream/2.png)\n\n## Installing\n\n\u003ca href='https://flathub.org/apps/details/dev.alextren.Spot'\u003e\u003cimg width='130' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/\u003e\u003c/a\u003e\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/spot-client.svg)](https://repology.org/project/spot-client/versions)\n\n## Usage notes\n\n### Credentials\n\nIt is recommended to install a libsecret compliant keyring application, such as [GNOME Keyring](https://wiki.gnome.org/action/show/Projects/GnomeKeyring) (aka seahorse). This will allow saving your password securely between launches.\n\nIn GNOME, things should work out of the box. It might be a bit trickier to get it working in other DEs: see this [ArchWiki entry](https://wiki.archlinux.org/index.php/GNOME/Keyring) for detailed explanations on how to automatically start the daemon with your session.\n\nBear special attention to the fact that to enable automatic login, you might have to use the same password for your user account and for the keyring, and that the keyring might need to be [set as default](https://wiki.archlinux.org/index.php/GNOME/Keyring#Passwords_are_not_remembered).\n\nSee [this comment](https://github.com/xou816/spot/issues/92#issuecomment-801852593) for more details!\n\n## Features\n\n**Only works with premium accounts!**\n\n- playback control (play/pause, prev/next, seeking, shuffle, repeat (none, all, song))\n- selection mode: easily browse and select mutliple tracks to queue them\n- browse your saved albums and playlists\n- search albums and artists\n- view an artist's releases\n- view users' playlists\n- view album info\n- credentials management with Secret Service\n- MPRIS integration\n- playlist management (creation and edition)\n- liked tracks\n\n## Contributing\n\nContributions are welcome! If you wish, add yourself to the `AUTHORS` files when submitting your contribution.\n\nFor any large feature/change, **please** open an issue first to discuss implementation and design decisions.\n\n### Translating\n\nTranslations are managed using `gettext` and are available in the `po/` subdirectory.\n\n**Please use [POEditor](https://poeditor.com/join/project?hash=xfVrpQfRBM) to submit translations.**\n\nIf you feel like it, you are welcome to open a PR to be added to the `TRANSLATORS` file!\n\n## Building\n\n### With GNOME Builder and flatpak\n\nPre-requisite: install the `org.freedesktop.Sdk.Extension.rust-stable` SDK extension with flatpak. Builder might do this for you automatically, but it will install an older version; make sure  the version installed matches the version of the Freedesktop SDK GNOME uses.\n\nOpen the project in GNOME Builder and make the `dev.alextren.Spot.development.json` configuration active. Then build :)\n\n### Manually\n\nRequires Rust (stable), **GTK4**, and a couple other things. Also requires **libadwaita** and **blueprint-compiler**: they are not packaged on all distros at the moment, you might have to build them yourself!\n\nWith meson:\n\n```\nmeson target -Dbuildtype=debug -Doffline=false --prefix=\"$HOME/.local\"\nninja install -C target\n# to run test/linter/etc\nmeson test -C target  --verbose\n```\n\nThis will install a `.desktop` file among other things, and the spot executable will be put in `.local/bin` (you might want to add it to your path).\n\nTo build an optimized release build, use `-Dbuildtype=release` instead.\n\n### Regenerating potfiles\n\nWhen adding new `msgids`, don't forget to regenerate/update the potfiles.\n\n```\nninja spot-pot -C target\nninja spot-update-po -C target\n```\n\n### Pulling updated strings from POEditor\n\nWe are now using POEditor and the wonderful [`poeditor-sync`](https://github.com/mick88/poeditor-sync) tool.\n\n```\npoeditor pull\n```\n\n### Regenerating sources for flatpak\n\nUsing [flatpak-cargo-generator.py](https://github.com/flatpak/flatpak-builder-tools/tree/master/cargo):\n\n```\nninja cargo-sources.json -C target\n```\n\n### Debugging\n\nSet the `RUST_LOG` env variable to the appropriate level.\n\nDebug builds (flatpak) are available from the master branch on Github (see the `spot-snaphots` action).\n\nSpot caches images and HTTP responses in `~/.cache/spot`.\n\nSpot uses [isahc](https://github.com/sagebind/isahc), which uses libcurl, therefore you can set the `https_proxy` env variable to help with debugging. In debug mode, Spot skips SSL certificate verification.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxou816%2Fspot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxou816%2Fspot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxou816%2Fspot/lists"}