Skip to main content

Mopidy-Songhive

Mopidy extension for playing music from a Songhive instance.

Features

  • Browse libraries, playlists, artists, albums, genres and tags
  • Followed podcasts exposed in their own folder, one sub-folder per show; episodes stream straight from the source enclosure URL
  • 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 cached on disk and seeded straight from collection listings, so queueing a browsed album, playlist or podcast needs no extra requests; metadata is re-fetched when a track plays to stay fresh, and the remaining lookups run concurrently

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})

# Format for displaying playlist names (default: {name}).
# Available keys: name, provider, owner — e.g. disambiguate playlists
# synced from multiple external providers:
playlist_format = {name} [{provider}]

# 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:podcast:123 / songhive:podcast_episode:123 for podcasts, songhive:remote:<object_id> for federated content, and songhive:<http(s) url> for direct URL lookups.

Metadata

Release files for Mopidy-Songhive 0.1.5

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-Songhive 0.1.5
File Size Uploaded
mopidy_songhive-0.1.5.tar.gz 38.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Mopidy-Songhive 0.1.5
File Interpreter ABI Platform
mopidy_songhive-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 70.2 kB

Release files / mopidy_songhive-0.1.5.tar.gz

Download URL mopidy_songhive-0.1.5.tar.gz
Size 38.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9a59810a3c3b06fd829c0bd7201c93a0c665bbf66701abb3e599e613b3f70aed
BLAKE2b-256 checksum
How to use checksums
ec29d0346439131e52e31ce4ab294c9cf0d8d9105729a119a09366ce2585e148
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.14.8

Release files / mopidy_songhive-0.1.5-py3-none-any.whl

Download URL mopidy_songhive-0.1.5-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
019e0772500747fad7c6ff448a8e85be618733309a62e059e4a665925fcaad40
BLAKE2b-256 checksum
How to use checksums
259b06c4e8c7ec658fd8a42d6870d019f199b05203321bd950625d555035cfd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

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