SpooDi is a Spotify lyrics parser that loads synced lyrics and keeps your status text in sync in real time through a terminal-based lyric timeline viewer.
- Spotify track search
- Synced lyrics loading
- Real-time lyric viewer with timeline controls
- Configurable UI waiting line and artist display
- Status text sync support
git clone https://github.com/SnyakoCode/SpooDi.git
cd SpooDi
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"On the first launch, SpooDi creates config.json automatically and asks for the required values in the terminal.
python main.pyRuntime:
- Python
3.11+
Development:
pytestruff
They are installed with:
pip install -e ".[dev]"a— jump back 5 secondsd— jump forward 5 secondsspace— pause or resumeq— close the lyric viewer.settings— open config editor.exit/.quit— exit the app
SpooDi asks for these values on the first run and stores them in your local config.json.
You need:
Spotify client IDSpotify client secret
How to get them:
- Open the Spotify Developer Dashboard.
- Log in with your Spotify account.
- Create an app.
- Open the app settings.
- Copy the
Client ID. - Reveal and copy the
Client Secret.
If you use the current status sync setup, SpooDi also asks for:
Discord user tokenDiscord user ID
For the user ID:
- Open Discord settings.
- Enable Developer Mode.
- Right-click your profile or target user.
- Click
Copy User ID.
config.jsonis local and should not be committed.- Secrets should stay only on your machine.
ui.waiting_linecontrols the text shown before the first synced lyric line.ui.show_artistcontrols whether the artist name is shown in UI and notes output.
pytest
python -m compileall src testssrc/spoodi/— app source codetests/— test suiteassets/spoodi-logo.png— repository logo
This project is licensed under the MIT License. See LICENSE.
