A polished CustomTkinter desktop client that surfaces the track currently playing on your Spotify account. The application shows the title, artists, album artwork, and playback progress using a minimal, dark themed interface.
- Real-time Spotify integration powered by the official Web API.
- Modern interface implemented with CustomTkinter widgets.
- Smooth marquee labels that automatically scroll long song titles or artist lists.
- Album artwork rendering with rounded corners for a consistent look.
- Responsive progress indicator displaying both elapsed and total track time.
The spotify_now_playing package exposes reusable service and UI layers, while main.py remains as a backwards-compatible launcher.
- Python 3.8 or later
- A Spotify Developer application with a client ID and client secret
- An active Spotify account
- Clone the repository and create a virtual environment:
git clone https://github.com/your-username/spotify-now-playing.git cd spotify-now-playing python -m venv .venv source .venv/bin/activate # On Windows use `.venv\\Scripts\\activate`
- Install the dependencies:
pip install -r requirements.txt
- Provide your Spotify credentials. Create a
.envfile in the project root with the following values:SPOTIPY_CLIENT_ID=your_spotify_client_id SPOTIPY_CLIENT_SECRET=your_spotify_client_secret SPOTIPY_REDIRECT_URI=your_registered_redirect_uri
After completing the setup steps above, you can start the desktop client using either of the following commands:
python -m spotify_now_playing
# or
python main.pyOn first launch a browser window will prompt you to authorize the application against your Spotify account. Once authorized, the window will continuously display the track currently playing on your account.
The application expects the following environment variables (set via .env or your shell):
SPOTIPY_CLIENT_IDSPOTIPY_CLIENT_SECRETSPOTIPY_REDIRECT_URI
Missing or empty values will raise an informative error during start-up.
This project is released under the MIT License.