https://github.com/totolab/update_playlist
Utility to manage playlist in subfolders, regurarly downloading new songs from a Spotify playlist.
https://github.com/totolab/update_playlist
automation music python spotdl systemd yt-dlp
Last synced: 5 months ago
JSON representation
Utility to manage playlist in subfolders, regurarly downloading new songs from a Spotify playlist.
- Host: GitHub
- URL: https://github.com/totolab/update_playlist
- Owner: totoLab
- License: mit
- Created: 2024-10-31T10:28:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-13T10:26:33.000Z (10 months ago)
- Last Synced: 2025-09-15T13:37:30.850Z (9 months ago)
- Topics: automation, music, python, spotdl, systemd, yt-dlp
- Language: Python
- Homepage: https://pypi.org/project/update-playlist/
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Update Playlist
A modular playlist manager to download and manage Spotify playlists.
## Installation
Install the package from PyPI:
```bash
pip install update-playlist
```
## Usage
1. **Configuration**
The first time you run `update-playlist`, it will create a default configuration file at `~/.config/update_playlist/playlist.json`. You need to edit this file to configure your playlists.
```json
{
"base_path": "~/Music/playlists",
"playlists": [
{
"name": "my-favorite-songs"
},
{
"name": "rock-classics",
"spotify_url": "https://open.spotify.com/playlist/4uV..."
}
],
"spotify": {
"client_id": "your_client_id_here",
"client_secret": "your_client_secret_here",
"audio_format": "mp3",
"audio_quality": "best"
}
}
```
2. **Sync Playlists**
To sync all your playlists, run:
```bash
update-playlist
```
3. **Add a new playlist**
You can add a new playlist using the `--add-playlist` option:
```bash
update-playlist --add-playlist
```
## Development
To install the project in editable mode:
```bash
git clone https://github.com/your-username/update-playlist.git
cd update-playlist
pip install -e .
```