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.0a1

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.0a1
File Size Uploaded Provenance Actions
ovos_media_plugin_mass-0.1.0a1.tar.gz 19.8 kB Without provenance Details for ovos_media_plugin_mass-0.1.0a1.tar.gz

Built distribution (wheel)

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

Total release size: 35.5 kB

Release files / ovos_media_plugin_mass-0.1.0a1.tar.gz

Download URL ovos_media_plugin_mass-0.1.0a1.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
610a19197cba4ec17b921e24c339e8f88a74de073d3b08e28277550ddfc72be6
BLAKE2b-256 checksum
How to use checksums
330270e8ceca5e57b8dc67cadb52ea7c4dbf5d0260d369186775248c51bcfa93
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.0a1-py3-none-any.whl

Download URL ovos_media_plugin_mass-0.1.0a1-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8350f2f6be2e19df9e1330b2ddad0f02dbe05498f1fe3ccb4b6ce5fc21809f85
BLAKE2b-256 checksum
How to use checksums
ccb981a8b51d7a3b7e9e35c721b9c0b86910f0f63e9994ac86f4f53d5163cc48
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.0a1

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