Playlist Mixer for Spotify
Project description
Playlist Mixer for Spotify
Playlist Mixer is a CLI tool for Spotify to achieve true randomness. Because bultin shuffle is not really random. It works by using existing playlists to update other ones. Tracks ary randomly added to the playlist, which is designed to be played without shuffle/smart shuffle enabled.
Install
- Install playlist-mixer from pypi. Its recommended to use pipx instead of pip, to prevent any dependency conflicts.
# pipx
pipx install playlist-mixer
# pip
pip install playlist-mixer
- Ensure playlist-mixer is installed successfully
playlist-mixer version
- Create a new Spotify App in Spotify Developer Dashboard
- App name: choose for yourself
- App description: choose for yourself
- Redirect URIs:
http://localhost:8000 - APIs intended to use: Web API
Usage
- Login with your Spotify account and App. You need to login only once, credentials are persisted in your home folder. You need the following information:
- App ID (see Spotify Developer Dashboard)
- App Secret (see Spotify Developer Dashboard)
- Redirect URL:
http://localhost:8000
playlist-mixer login
A browser will open and allow you to Login with your Spotify Account.
- Create a playlist. This playlist will be filled with your tracks in a random order. Create it and setup your privacy, title etc.
After creating the playlist, copy a link to the playlist (share > link). This link is used as a playlist target.
- Mix playlists
# Use a playlist as source, and mix all tracks in another playlist
playlist-mixer mix --source <source-playlist> --playlist <target-playlist>
# A source/playlist can be either a link to a playlist
# https://open.spotify.com/playlist/playlistid
# or a URI to playlist
# spotify:playlist:playlistid
# Mix a playlist with multiple sources
playlist-mixer mix --source <source-playlist> --source <source-playlist> --playlist <target-playlist>
# Focus on the last x days. Focussing means, that tracks that were added in the last x days, are on top of the mixed playlist.
playlist-mixer mix --source <source-playlist> --playlist <target-playlist> --focus 10
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file playlist_mixer-0.11.0.tar.gz.
File metadata
- Download URL: playlist_mixer-0.11.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b03fe7f271954e3a80be52d2228ef87a0124426c48baf3136ff94c9821b003a7
|
|
| MD5 |
feccc07dc917e55b1ae576d029a8572b
|
|
| BLAKE2b-256 |
9efaf593522769b0d8fff5222d4aecb90642da2117a028af37e46a7ca39436f7
|
Provenance
The following attestation bundles were made for playlist_mixer-0.11.0.tar.gz:
Publisher:
python-publish.yml on jan-di/playlist-mixer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
playlist_mixer-0.11.0.tar.gz -
Subject digest:
b03fe7f271954e3a80be52d2228ef87a0124426c48baf3136ff94c9821b003a7 - Sigstore transparency entry: 164274964
- Sigstore integration time:
-
Permalink:
jan-di/playlist-mixer@f2a765fb588f93b31dcfaaac413a668b396009f1 -
Branch / Tag:
refs/tags/0.11.0 - Owner: https://github.com/jan-di
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f2a765fb588f93b31dcfaaac413a668b396009f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file playlist_mixer-0.11.0-py3-none-any.whl.
File metadata
- Download URL: playlist_mixer-0.11.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b5c8790e9932972881cddf24aca57da267349d00faf32152008f43355853b60
|
|
| MD5 |
d766048ba281d61d8895061d949f72fc
|
|
| BLAKE2b-256 |
33532be621e224a7559aac3a74b66d9e075e14158c518d291c865ae0ed9dce15
|
Provenance
The following attestation bundles were made for playlist_mixer-0.11.0-py3-none-any.whl:
Publisher:
python-publish.yml on jan-di/playlist-mixer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
playlist_mixer-0.11.0-py3-none-any.whl -
Subject digest:
6b5c8790e9932972881cddf24aca57da267349d00faf32152008f43355853b60 - Sigstore transparency entry: 164274966
- Sigstore integration time:
-
Permalink:
jan-di/playlist-mixer@f2a765fb588f93b31dcfaaac413a668b396009f1 -
Branch / Tag:
refs/tags/0.11.0 - Owner: https://github.com/jan-di
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f2a765fb588f93b31dcfaaac413a668b396009f1 -
Trigger Event:
push
-
Statement type: