Mopidy-Songhive
Mopidy extension for playing music from a Songhive instance.
Features
- Browse libraries, playlists, artists, albums, genres and tags
- Favorite tracks exposed as a browsable folder
- Full text search across tracks, albums and artists (plus cached federated objects)
- Playlist editing: create, delete, rename, add/remove/reorder tracks
- Streams through Songhive's
/api/v1/stream/{track_id}endpoint, including optional server-side transcoding - Federated content: remote objects resolve and play through the instance's remote lookup
- Direct URL lookup — paste any Songhive or federated URL prefixed with
songhive:(e.g.songhive:https://music.example.com/tracks/abc123) - Track metadata is fetched once per session and cached; resolving many tracks at once (queueing an album or playlist) uses concurrent requests
Requirements
- Mopidy >= 4.0
- Python >= 3.9
Installation
Install by running:
pip install mopidy-songhive
Or install the development version:
pip install -e .
Configuration
Add the extension to your mopidy.conf:
[songhive]
enabled = true
hostname = https://music.example.com
api_token = <your api token>
api_token is optional: without it the extension runs anonymously and
only sees public content; playlists and favorites become read-only.
Create a token on the Songhive web interface under Settings → API
tokens. Tokens are sent as Authorization: Bearer headers and, for
audio streaming, injected into GStreamer's HTTP source — they are only
ever sent to the configured hostname.
Additional options:
# Comma-separated allowlist of library names to show (default: all)
libraries = Music, Audiobooks
# Format for displaying album names (default: {title})
album_format = {title} ({release_year})
# Optional server-side transcoding for streams
transcode_format = opus # mp3|ogg|flac|aac|opus
transcode_bitrate = 128 # kbps
URI scheme
songhive:track:123, songhive:album:123, songhive:artist:123,
songhive:playlist:123, songhive:library:123,
songhive:genre:rock, songhive:tag:favorites,
songhive:remote:<object_id> for federated content, and
songhive:<http(s) url> for direct URL lookups.
Metadata
Release files for Mopidy-Songhive 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mopidy_songhive-0.1.2.tar.gz | 31.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mopidy_songhive-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.0 kB
Release files / mopidy_songhive-0.1.2.tar.gz
| Download URL | mopidy_songhive-0.1.2.tar.gz |
|---|---|
| Size | 31.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3a9fdb00c87d357cf44a504e66af6dd8230b2d60254988c523cfc1dc99fd5b8
|
|
BLAKE2b-256 checksum How to use checksums |
363cc42a1b6b84e21280007b6509686ebf635a1eb670ea7822e368b689a04a92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.14.7
|
Release files / mopidy_songhive-0.1.2-py3-none-any.whl
| Download URL | mopidy_songhive-0.1.2-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba184fe699ac7fa3a3d43e533c0bd499d1bb5e207475c5aee3caf6eec18dd5f5
|
|
BLAKE2b-256 checksum How to use checksums |
42778d72a63a9b58b0a40a26ad3149465d06c4618c11413e9ba9e3d0dbbf8a15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.14.7
|