Skip to content

SnyakoCode/SpooDi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpooDi

Python Tests Status License Stars Forks

SpooDi Logo

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.

Features

  • Spotify track search
  • Synced lyrics loading
  • Real-time lyric viewer with timeline controls
  • Configurable UI waiting line and artist display
  • Status text sync support

Installation

git clone https://github.com/SnyakoCode/SpooDi.git
cd SpooDi
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Run

On the first launch, SpooDi creates config.json automatically and asks for the required values in the terminal.

python main.py

Dependencies

Runtime:

  • Python 3.11+

Development:

  • pytest
  • ruff

They are installed with:

pip install -e ".[dev]"

Controls

  • a — jump back 5 seconds
  • d — jump forward 5 seconds
  • space — pause or resume
  • q — close the lyric viewer
  • .settings — open config editor
  • .exit / .quit — exit the app

API Keys

SpooDi asks for these values on the first run and stores them in your local config.json.

Spotify API

You need:

  • Spotify client ID
  • Spotify client secret

How to get them:

  1. Open the Spotify Developer Dashboard.
  2. Log in with your Spotify account.
  3. Create an app.
  4. Open the app settings.
  5. Copy the Client ID.
  6. Reveal and copy the Client Secret.

Discord Values

If you use the current status sync setup, SpooDi also asks for:

  • Discord user token
  • Discord user ID

For the user ID:

  1. Open Discord settings.
  2. Enable Developer Mode.
  3. Right-click your profile or target user.
  4. Click Copy User ID.

Notes

  • config.json is local and should not be committed.
  • Secrets should stay only on your machine.
  • ui.waiting_line controls the text shown before the first synced lyric line.
  • ui.show_artist controls whether the artist name is shown in UI and notes output.

Development

pytest
python -m compileall src tests

Project Structure

  • src/spoodi/ — app source code
  • tests/ — test suite
  • assets/spoodi-logo.png — repository logo

License

This project is licensed under the MIT License. See LICENSE.

About

SpooDi - Spotify lyrics parser that syncs timed lyrics to your Discord status in real time

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages