Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ovos-media-plugin-mass

Music Assistant playback backend for OVOS. It controls Music Assistant players, playing the library://<type>/<id> uris that the Music Assistant catalog returns.

It ships one backend on both media stacks: the same plugin works with the legacy ovos-audio service and with the modern ovos-media service.

Stack Entry-point group Class
ovos-media (current) opm.media.audio MAssOCPAudioService
ovos-audio (legacy) mycroft.plugin.audioservice MAssAudioService

To search Music Assistant by voice you also need a catalog component: ovos-media-provider-mass on the ovos-media stack, or ovos-skill-music-assistant on the legacy OCP/ovos-audio stack.

Install

pip install ovos-media-plugin-mass

Configuration

The easiest way is the bundled ovos-mass-autoconfigure command, which scans your server and writes both the legacy and ovos-media player entries into mycroft.conf:

$ ovos-mass-autoconfigure
This script will auto configure Music Assistant devices under your mycroft.conf
Make sure your Music Assistant server is accessible from this device
Please enter your Music Assistant server url: http://192.168.1.100:8095

Scanning...
    - Found player: HomeLabRenderer - dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9

mycroft.conf updated!

When more than one player is found, it lists them and prompts for the default (the only player written to the legacy Audio backends and marked active: true on the ovos-media side — every other discovered player is written with active: false):

$ ovos-mass-autoconfigure
This script will auto configure Music Assistant devices under your mycroft.conf
Make sure your Music Assistant server is accessible from this device
Please enter your Music Assistant server url: http://192.168.1.100:8095

Scanning...
    - Found player: HomeLabRenderer - dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9
    - Found player: KitchenSpeaker - dlna:uuid:9a11a2f0-0a3b-4e3d-9a0e-2a5b6c7d8e9f
0 - HomeLabRenderer:dlna:uuid:4b778a71-0499-485a-a5a4-88140603fba9
1 - KitchenSpeaker:dlna:uuid:9a11a2f0-0a3b-4e3d-9a0e-2a5b6c7d8e9f
select default mass device: 0

mycroft.conf updated!

Run non-interactively (CI, provisioning scripts) with --url and --default/--player (index or player_id); without them, and with multiple players found on a non-tty stdin, the script exits with an error instead of hanging on input():

$ ovos-mass-autoconfigure --url http://192.168.1.100:8095 --default 0

It emits configuration for both stacks:

// Legacy Audio Service:
{"backends": {"mass-HomeLabRenderer:dlna": {
    "active": true, "type": "ovos_mass", "player_type": "dlna",
    "identifier": "uuid:4b778a71-0499-485a-a5a4-88140603fba9",
    "url": "http://192.168.1.100:8095"}}}

// ovos-media Service:
{"audio_players": {"mass-HomeLabRenderer:dlna": {
    "active": true, "module": "ovos-media-audio-plugin-mass", "player_type": "dlna",
    "aliases": ["HomeLabRenderer", "Home Lab Renderer"],
    "identifier": "uuid:4b778a71-0499-485a-a5a4-88140603fba9",
    "url": "http://192.168.1.100:8095"}}}

See docs/configuration.md for the field reference.

Docs

Tests

pip install -e .[test]
pytest test/                  # unit + end2end (ovoscope), network-free

The end-to-end tests (test/end2end/) drive both backends through a real ovos-audio AudioService on a FakeBus via ovoscope, with the Music Assistant HTTP client mocked.

License

Apache-2.0

Metadata

Release files for ovos-media-plugin-mass 0.1.1a1

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

Source distribution (sdist)

Source distribution for ovos-media-plugin-mass 0.1.1a1
File Size Uploaded Provenance Actions
ovos_media_plugin_mass-0.1.1a1.tar.gz 21.3 kB Without provenance Details for ovos_media_plugin_mass-0.1.1a1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovos-media-plugin-mass 0.1.1a1
File Interpreter ABI Platform Actions
ovos_media_plugin_mass-0.1.1a1-py3-none-any.whl Python 3 none any Details for ovos_media_plugin_mass-0.1.1a1-py3-none-any.whl

Total release size: 37.3 kB

Release files / ovos_media_plugin_mass-0.1.1a1.tar.gz

Download URL ovos_media_plugin_mass-0.1.1a1.tar.gz
Size 21.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4a473b9fd3f8c9fc9f99bd17108f197e63b364ba93e9687739babc32433bc2c9
BLAKE2b-256 checksum
How to use checksums
a4a8c4262ae32332b192af484bce0d57fa2414dab2b8c2ce9e6dd252fc9a4ba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / ovos_media_plugin_mass-0.1.1a1-py3-none-any.whl

Download URL ovos_media_plugin_mass-0.1.1a1-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71b4bc854a3ec48a23cf86146d2ab666c88340b2d68f414354566810b0f0f211
BLAKE2b-256 checksum
How to use checksums
aa75a78e10ff69b64650f6d7f863b03c4b234f3775f089878789e77369cd02dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for ovos-media-plugin-mass 0.1.1a1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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