https://github.com/adithyasource/static
a local copy of your spotify, statically stored
https://github.com/adithyasource/static
spotify spotify-api spotify-downloader spotify-playlist spotify-ripper sync
Last synced: 5 months ago
JSON representation
a local copy of your spotify, statically stored
- Host: GitHub
- URL: https://github.com/adithyasource/static
- Owner: adithyasource
- License: unlicense
- Created: 2025-06-27T13:35:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-09T05:24:12.000Z (11 months ago)
- Last Synced: 2025-07-09T06:32:32.452Z (11 months ago)
- Topics: spotify, spotify-api, spotify-downloader, spotify-playlist, spotify-ripper, sync
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# static
brew install adithyasource/tools/static
a local copy of your spotify, statically stored

effortlessly and accurately syncs up all your spotify playlists into a folder on your computer so that you can have an offline copy at all times. i made this so that i can sync that folder up my phone using syncthing and have free access to all my spotify songs on the [foobar2000](https://www.foobar2000.org/) app, neatly separated by playlist folders.
> currently only tested on macOS
> ⚠️ for personal use
## instructions
### installation
install it using brew
```brew install adithyasource/tools/static```
or you can use it manually
- clone the repository with ```git clone https://github.com/adithyasource/static/```
- setup the project using [uv](https://docs.astral.sh/uv/#installation) with ```uv sync```
- run the program using ```uv run main.py```
### spotify setup
> these instructions are also prompted during the spotify account connection process where you'll be entering the obtained client id and secret
- create a spotify developers account at [developer.spotify.com](https://developer.spotify.com)
- go to the dashboard and create an app
- make sure to add the redirect uri as http://127.0.0.1:9321
- obtain the client id and secret
## contributing
first of all, thank you so much for using the script and deciding to contribute! i really appreciate it ^-^ \
please try to do the following before opening a pull request!
- lint and format the code using [ruff](https://docs.astral.sh/ruff/) (i use [ty](https://github.com/astral-sh/ty) for type check and lsp)
- keep code clean and minimal while only adding dependencies when absolutely necessary
- make sure that if a feature is added, it is kept inline with the projects aesthetic and goals
## feedback
if there are any features or bug fixes you'd like to suggest, please open a new issue!
## acknowledgments
tech
python
notable libs
questionary
yt_dlp
apis
spotify