Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Spotify Downloader | 11,205 | 2 | 2 | 2 days ago | 64 | June 27, 2022 | 17 | mit | Python | |
Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found). | ||||||||||
Spotiflyer | 8,051 | 11 days ago | 1,502 | gpl-3.0 | Kotlin | |||||
Kotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud. NOTE: BEING REWRITTEN, SO STAY TUNED. | ||||||||||
Mopidy | 7,654 | 210 | 78 | 10 days ago | 79 | April 28, 2022 | 201 | apache-2.0 | Python | |
Mopidy is an extensible music server written in Python | ||||||||||
Psst | 7,440 | 11 days ago | 100 | mit | Rust | |||||
Fast and multi-platform Spotify client with native GUI | ||||||||||
Ncspot | 3,663 | 15 hours ago | 37 | September 17, 2022 | 93 | bsd-2-clause | Rust | |||
Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes. | ||||||||||
Spotify Web Api Node | 2,772 | 852 | 92 | 3 months ago | 50 | January 24, 2021 | 157 | mit | JavaScript | |
A Node.js wrapper for Spotify's Web API. | ||||||||||
Exportify | 2,357 | a month ago | 25 | mit | JavaScript | |||||
Export/Backup Spotify playlists using the Web API | ||||||||||
Spotify Dl | 1,285 | 3 days ago | 31 | April 19, 2022 | 25 | mit | Python | |||
Downloads songs from your Spotify Playlist | ||||||||||
Spotifyapi Net | 1,272 | 12 | 2 | 13 days ago | 34 | September 28, 2021 | 14 | mit | C# | |
:sound: A Client for the Spotify Web API, written in C#/.NET | ||||||||||
Everyones Guide For Starting Up On Wechat Network | 868 | 7 months ago | 7 | |||||||
微信互联网平民创业 |
Fast Spotify client with native GUI, without Electron, built in Rust. Very early in development, lacking in features, stability, and general user experience. It is being tested only on Mac so far, but aims for full Windows and Linux support. Contributions welcome!
Note: Spotify Premium account is required.
GitHub Actions automatically runs when new commits are pushed to master
. To download prebuilt binaries for x86_64 macOS, Windows or Ubuntu, go to the newest successfully built action.
Our user-interface library, Druid, has two possible backends to choose from on Linux: GTK and pure X11, with Wayland backend in the works. The default linux backend is GTK. Before building on Linux, make sure the required dependencies are installed.
Debian/Ubuntu:
sudo apt-get install libssl-dev libgtk-3-dev libcairo2-dev libasound2-dev
RHEL/Fedora:
sudo dnf install openssl-devel gtk3-devel cairo-devel alsa-lib-devel
On all platforms, the latest Rust stable (at least 1.54.0) is needed.
Development build:
git submodule update --recursive --init
cargo build
Release build:
git submodule update --recursive --init
cd psst-gui
cargo build --release
# Use `cargo install cargo-bundle` and `cargo bundle --release` for building the installation bundle (i.e. macOS .app)
cd psst-gui
cargo run
# Use `cargo run --release` for the release build.
Contributions are very welcome! Project structure:
/psst-core
- Core library, takes care of Spotify TCP session, audio file retrieval, decoding, audio output, playback queue, etc./psst-gui
- GUI application built with Druid
/psst-cli
- Example CLI that plays a track. Credentials need to be configured in the code./psst-protocol
- Internal Protobuf definitions used for Spotify communication.Psst connects only to the official Spotify servers, and does not call home. Cache of various things is stored locally, and can be deleted at any time. User credentials are not stored at all (re-usable authentication token from Spotify is used instead).
This project would not exist without:
librespot
, the Open Source Spotify client library for Rust. Most of psst-core
is directly inspired by the ideas and code of librespot
, although with a few differences:
tokio
or other async
runtime, although it will probably change in the future.librespot-java
, instead of the channel-based approach in librespot
.druid
native GUI library for Rust.ncspot
cross-platform ncurses Spotify client written in Rust, using librespot
.