This release is a pre-release and may not be stable for production use.
ovos-media-provider-pyradios
OVOS MediaProvider plugin for internet radio. It replaces the deprecated
OCP search skill ovos-skill-pyradios.
Instead of broadcasting ovos.common_play.query over the bus and waiting for
skills to answer, the OCP pipeline loads MediaProvider plugins in-process,
gates them by routing, and calls search() directly. This plugin wraps the
pyradios client for the
radio-browser.info API.
pyradios ships no mediavocab bridge, so this plugin builds
mediavocab.Release objects
itself from the raw station dicts: each station becomes a MediaType.RADIO
Work plus a continuous-stream Release that points at the resolved stream
URL.
Install
pip install ovos-media-provider-pyradios
Usage
OCP loads this plugin through its opm.media.provider entry point, so most
users never call it directly. To use it as a standalone library, call
search() with a mediavocab.Signals object:
from mediavocab import Signals
from ovos_media_provider_pyradios import PyRadiosMediaProvider
provider = PyRadiosMediaProvider()
releases = provider.search(Signals(title="BBC Radio 1"))
for release in releases:
print(release.work.title, release.uri)
search() queries radio-browser by station name. If signals carries genre
or content tags, the plugin passes them through as a radio-browser
tag_list filter. It returns an empty list when the request carries neither
a title nor genres, or when the radio-browser API is unreachable.
Routing
| Axis | Value |
|---|---|
media |
RADIO |
playback_type |
AUDIO |
genre_filter |
(none) |
Entry point
[project.entry-points."opm.media.provider"]
pyradios = "ovos_media_provider_pyradios:PyRadiosMediaProvider"
Configuration
| Key | Default | Description |
|---|---|---|
max_results |
10 |
Maximum number of stations returned per search. |
Related projects
ovos-plugin-manager: loads and gates MediaProvider plugins for the OCP pipeline.mediavocab: defines theWork/Release/Signalstypes this plugin builds and consumes.ovos-skill-pyradios: the deprecated OCP search skill this plugin replaces.ovos-media-provider-somafm,ovos-media-provider-tunein,ovos-media-provider-radio-tuga,ovos-media-provider-radio-spain: sibling radio MediaProvider plugins.
License
Apache-2.0
Metadata
Release files for ovos-media-provider-pyradios 0.0.1a4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ovos_media_provider_pyradios-0.0.1a4.tar.gz | 10.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovos_media_provider_pyradios-0.0.1a4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.7 kB
Release files / ovos_media_provider_pyradios-0.0.1a4.tar.gz
| Download URL | ovos_media_provider_pyradios-0.0.1a4.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
822543564f25800151d07732672d90c0590d7f72e063f8279980249563282a9a
|
|
BLAKE2b-256 checksum How to use checksums |
eeed720ec1ac5dcf4cbdf3f5caa31f3befa304dc1edc3de8a8cc55e4a908cba7
|
| 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_provider_pyradios-0.0.1a4-py3-none-any.whl
| Download URL | ovos_media_provider_pyradios-0.0.1a4-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9674c5a8a83019db34c9fa7065b5de56bf0171d1a592c2eb9d07a40db6a5d453
|
|
BLAKE2b-256 checksum How to use checksums |
6360514a81130ad4729572fdd455a660953aadc9b72e49cb5b213bacf0112d2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|