Skip to main content

OpenVoiceOS Bus Client

This module is a simple interface for the OVOS messagebus and can be used to connect to OVOS, send messages and react to messages sent by the OpenVoiceOS system.


🤖 Persona Integration

The project also includes the ovos-solver-bus-plugin, a plugin for interacting with ovos-core wherever a solver can be used.

example persona.json

{
  "name": "Open Voice OS",
  "solvers": [
    "ovos-solver-bus-plugin",
    "ovos-solver-failure-plugin"
  ],
  "ovos-solver-bus-plugin": {
    "autoconnect": true,
    "host": "192.168.1.200",
    "port": 8181
  }
}

Use Cases:


📡 HiveMind Integration

This project includes native integration with HiveMind Plugin Manager, enabling seamless interoperability within the HiveMind ecosystem.

hivemind-ovos-agent-plugin is a hivemind Agent Protocol responsible for handling HiveMessages and translating them to the OpenVoiceOS messagebus


🐍 Python Usage

MycroftBusClient()

The MycroftBusClient() object can be setup to connect to any host and port as well as any endpont on that host. this makes it quite versitile and will work on the main bus as well as on a gui bus. If no arguments are provided it will try to connect to a local instance of OVOS on the default endpoint and port.

NOTE: we kept the original pre-fork class name for compatibility reasons

Message()

The Message object is a representation of the messagebus message, this will always contain a message type but can also contain data and context. Data is usually real information while the context typically contain information on where the message originated or who the intended recipient is.

Message('MESSAGE_TYPE', data={'meaning': 42}, context={'origin': 'A.Dent'})

Examples

Below are some a couple of simple cases for sending a message on the bus as well as reacting to messages on the bus

Sending a message on the bus.

from ovos_bus_client import MessageBusClient, Message

print('Setting up client to connect to a local OVOS instance')
client = MessageBusClient()
client.run_in_thread()

print('Sending speak message...')
client.emit(Message('speak', data={'utterance': 'Hello World'}))

Catching a message on the messagebus

from ovos_bus_client import MessageBusClient, Message

print('Setting up client to connect to a local OVOS instance')
client = MessageBusClient()

def print_utterance(message):
    print('OVOS said "{}"'.format(message.data.get('utterance')))


print('Registering handler for speak message...')
client.on('speak', print_utterance)

client.run_forever()

Metadata

Release files for ovos-bus-client 1.5.0

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-bus-client 1.5.0
File Size Uploaded Provenance Actions
ovos_bus_client-1.5.0.tar.gz 52.3 kB Without provenance Details for ovos_bus_client-1.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovos-bus-client 1.5.0
File Interpreter ABI Platform Actions
ovos_bus_client-1.5.0-py3-none-any.whl Python 3 none any Details for ovos_bus_client-1.5.0-py3-none-any.whl

Total release size: 111.6 kB

Release files / ovos_bus_client-1.5.0.tar.gz

Download URL ovos_bus_client-1.5.0.tar.gz
Size 52.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b07986be7c915d90b0f577cf84a7cddfa4e68daf0229ff9e9bf0428f1733a01f
BLAKE2b-256 checksum
How to use checksums
5bff6e8ce665f9e2bc9b26c6e338c8f73e9cf29766757ab8c0bf0a4cda1b2e72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ovos_bus_client-1.5.0-py3-none-any.whl

Download URL ovos_bus_client-1.5.0-py3-none-any.whl
Size 59.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3f80c21012122bb8c6ba8545e7da5a9674ab916ce50cee5cec600b8a07d5297
BLAKE2b-256 checksum
How to use checksums
946164679824227877eb0d8a06983243d87727a89a0e6d7014ad57146e803b48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for ovos-bus-client 1.5.0

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.

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files No provenance

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