Skip to main content

mopidy-nowplaying

Mopidy extension that renders the current track, album art, and synced lyrics onto a display and exposes them over HTTP for browser access.

This project is primarily a Mopidy service. It can render to a framebuffer and it also serves a small web UI and live image/stream endpoints for local access.

Features

  • Render album art and lyrics to a framebuffer or local display surface
  • Serve live status JSON
  • Serve live image streams:
    • /nowplaying/stream.png
    • /nowplaying/stream.mjpg
  • Expose a control page at /nowplaying/
  • Toggle framebuffer output, HTTP stream output, and lyrics on/off

Installation

Install from PyPI:

python3 -m pip install mopidy-nowplaying

For local development:

git clone https://github.com/natumbri/mopidy-nowplaying.git
cd mopidy-nowplaying
python3 -m pip install -e .

Configuration

Add the extension to your Mopidy config file:

[nowplaying]
enabled = true
lyrics_enabled = true
lyrics_offset_ms = 0
lyrics_font =

Available settings:

  • enabled: enable the extension
  • lyrics_enabled: show synced lyrics when available
  • lyrics_offset_ms: offset lyric timing in milliseconds
  • lyrics_font: optional font path for lyrics rendering

If you are using the framebuffer output, the user running Mopidy must have permission to access the display device or framebuffer. On Linux this often means adding the Mopidy user to the video group.

HTTP endpoints

When the Mopidy HTTP extension is enabled, the Now Playing app is exposed under the Mopidy web root:

  • http://<host>:6680/nowplaying/ - control page
  • http://<host>:6680/nowplaying/status - JSON status
  • http://<host>:6680/nowplaying/stream.png - PNG snapshot
  • http://<host>:6680/nowplaying/stream.mjpg - MJPEG stream
  • http://<host>:6680/nowplaying/toggle?name=framebuffer&value=off - toggle control

Development

Set up a dev environment

cd mopidy-nowplaying
python3 -m pip install -U pip
python3 -m pip install -e .[dev]

Run tests

pytest

Run linting and typing

ruff check .
ruff format .
pyright .

Run the full tox matrix

tox

Project resources

Credits

Metadata

Release files for mopidy-nowplaying 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mopidy-nowplaying 0.1.0
File Size Uploaded Provenance Actions
mopidy_nowplaying-0.1.0.tar.gz 23.7 kB With provenance Details for mopidy_nowplaying-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mopidy-nowplaying 0.1.0
File Interpreter ABI Platform Actions
mopidy_nowplaying-0.1.0-py3-none-any.whl Python 3 none any Details for mopidy_nowplaying-0.1.0-py3-none-any.whl

Total release size: 46.7 kB

Release files / mopidy_nowplaying-0.1.0.tar.gz

Download URL mopidy_nowplaying-0.1.0.tar.gz
Size 23.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5faee817237428ac9de54fa6b79b6cb259cbcfe51ae79f0b208f342e58dc30df
BLAKE2b-256 checksum
How to use checksums
f55a657b3b79cd63f3bc5b8ae2fe5cee4e731e0c2756029a5ca5c5bbcd7931b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Release files / mopidy_nowplaying-0.1.0-py3-none-any.whl

Download URL mopidy_nowplaying-0.1.0-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
feb1008863ba7f3d6ccd68d394d066268cbacb8984ed475c6c5eae6cee0af5be
BLAKE2b-256 checksum
How to use checksums
dbf7441818a590255141b47f22d8def1b2af8baa059cbc4bde9fa68ca0c71a91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 3, 2026.

Transparency log

Security for mopidy-nowplaying 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mopidy_nowplaying-0.1.0.tar.gz

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 Nov 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page