Metadata-Version: 2.4
Name: pixoo-spotify
Version: 0.0.3
Summary: Show the currently playing Spotify artwork and track info on a Divoom Pixoo64 pixel display.
Author-email: Yuichi Tateno <hotchpotch@gmail.com>
Maintainer-email: Yuichi Tateno <hotchpotch@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/hotchpotch/pixoo-spotify
Project-URL: Repository, https://github.com/hotchpotch/pixoo-spotify
Project-URL: Documentation, https://github.com/hotchpotch/pixoo-spotify
Project-URL: Issues, https://github.com/hotchpotch/pixoo-spotify/issues
Keywords: pixoo,divoom,spotify,pixel-art,gif,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Home Automation
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.28.1
Requires-Dist: langdetect>=1.0.9
Requires-Dist: pillow>=12.1.0
Requires-Dist: platformdirs>=4.5.1
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pydantic-settings>=2.12.0
Requires-Dist: rich>=14.2.0
Requires-Dist: spotipy>=2.25.2
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
Requires-Dist: typer>=0.21.1
Provides-Extra: dev
Requires-Dist: pytest>=9.0.2; extra == "dev"
Requires-Dist: pytest-cov>=7.0.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
Requires-Dist: ruff>=0.14.11; extra == "dev"
Requires-Dist: ty>=0.0.10; extra == "dev"
Requires-Dist: tox-uv>=1.29.0; extra == "dev"
Requires-Dist: tox>=4.34.0; extra == "dev"
Dynamic: license-file

# pixoo_spotify

pixoo_spotify shows the currently playing Spotify artwork and track info on a Divoom Pixoo64 64x64 Pixel Art LED Display.
Because the artwork is rendered at 64x64, it preserves the pixel art feel nicely.

Divoom’s official app supports Spotify playback, but it does not show the artwork, so this project fills that gap.

## Install

Install uv first. This gives you the uvx command.
https://docs.astral.sh/uv/getting-started/installation/

## Spotify setup (client ID)

- Register at https://developer.spotify.com/
- Create an app at https://developer.spotify.com/dashboard
  - Copy the Client ID
  - Set the Redirect URI to http://127.0.0.1:8888/callback

Then authenticate once with your Client ID:

```
uvx pixoo-spotify auth --client-id "CLIENT ID"
```

## Fonts (optional)

By default, a bundled 8‑pixel font that supports English and Japanese (Misaki) is used:
https://littlelimit.net/misaki.htm

If you want Latin/CJK/Korean coverage, install additional fonts:

```
uv run pixoo-spotify font-install
```

This downloads pixel fonts from:
https://github.com/TakWolf/fusion-pixel-font

## Run

```
uvx pixoo-spotify run
```

If you run with no options, the app will try to infer the Spotify language from your environment and discover the Pixoo device on your local network. You can also provide all values manually.

## Troubleshooting

When the Pixoo device accesses the server, it needs permission to reach port 18080 on the machine running pixoo_spotify. If the OS firewall blocks this port, allow or open it.

## License

- Source code: MIT

## Author

- Yuichi Tateno (@hotchpotch)
