PyNowify
A simple app to display your currently playing Spotify track on a Raspberry Pi, made with python-tk.
This repo is a re-implementation of Nowify in python
PyNowify will:
- ✅ - Use Spotify Web API to get your current track
- ✅ - Only access that and no other data
- ✅ - Use Access and Refresh Tokens to ensure that you're kept logged in between sessions
- ✅ - Display the current track artist, cover, and a matching vibrant background colour
Preview:
How to use
Prerequisites
You will need:
- Python >= 3.10 (with Tk)
- Spotify Client Keys
- A device to display Nowify
Installation
- Clone this repository or install from Pypi
- Create Spotify client keys
- Create the
.envfile with the keys and you configuration
Usgae
Launch py-nowify from the directory your .env resides
Alternatively you can create a launcher to run it on stratup
Create Spotify Client keys
- Go to the Spotify Developer Dashboard.
- Log in and click Create an App.
- Copy the Client ID and Client Secret.
- In your app settings on the dashboard, add
http://127.0.0.1:3000(or your custom URI) under Redirect URIs. - Copy down the Client Secret and Client ID and save your app in the Spotify Dashboard.
- Copy your parameters into a file named
.envin the root of your project directory.- Replace
<SPOTIFY_CLIENT_ID>and<SPOTIFY_SECRET>with your actual credentials.
- Replace
Configuration
This document provides details for configuring the environment variables required by the application. Create a .env file in the directory from which you will run the app.
Variable Reference
🎵 Spotify API Credentials
| Variable | Type | Default Value | Description |
|---|---|---|---|
SPOTIPY_CLIENT_ID |
String |
Required | Your Spotify Developer Application Client ID. Obtained from the Spotify Developer Dashboard. |
SPOTIPY_CLIENT_SECRET |
String |
Required | Your Spotify Developer Application Client Secret. Keep this secure and never commit it to public repositories. |
SPOTIPY_REDIRECT_URI |
String |
http://127.0.0.1:3000 |
The URI to redirect to after user authentication. Must match one of the Redirect URIs specified in your Spotify App settings. |
🖥️ Display & Window Settings
| Variable | Type | Default Value | Description |
|---|---|---|---|
FULLSCREEN |
Boolean |
false |
Controls whether the application launches in fullscreen mode (true or false). |
WINDOW_HEIGHT |
Integer |
480 |
Sets the initial vertical height of the application window in pixels. |
WINDOW_WIDTH |
Integer |
800 |
Sets the initial horizontal width of the application window in pixels. |
LOCK_ASPECT_RATIO |
Boolean |
false |
Determines whether to enforce a fixed aspect ratio when the window is resized (true or false). |
RESIZEABLE |
Boolean |
true |
Allows users to manually resize the application window (true or false). |
Example .env File
SPOTIPY_CLIENT_ID="<SPOTIFY_CLIENT_ID>"
SPOTIPY_CLIENT_SECRET="<SPOTIFY_SECRET>"
SPOTIPY_REDIRECT_URI="http://127.0.0.1:3000"
FULLSCREEN=false
WINDOW_HEIGHT=480
WINDOW_WIDTH=800
LOCK_ASPECT_RATIO=false
RESIZEABLE=true
Metadata
Release files for PyNowify 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pynowify-0.1.1.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pynowify-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / pynowify-0.1.1.tar.gz
| Download URL | pynowify-0.1.1.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d937c12e1bc228207ec261b6c6e3f28cc10c2c0c69fc1db1485413ca91293988
|
|
BLAKE2b-256 checksum How to use checksums |
416cd97aced800d5d5fec7886146c1dae2d616df4be268d0abbb49775ff02dd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / pynowify-0.1.1-py3-none-any.whl
| Download URL | pynowify-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2970c04543cb0176fc3b58f44359f2d51a8fcb2e8fd649a14712bcd9f30a18ba
|
|
BLAKE2b-256 checksum How to use checksums |
bfc699f5b6b6850565d4f946afa2b5a2ba88cbe94ecfe8043b2766beccee3558
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency log