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:
- Expose
ovos-coreto any OpenAI-compatible project via ovos-persona-server- Chat with OVOS via the Open Web UI
- Expose OVOS as an agent for Home Assistant
- Integrate OpenVoiceOS into a Mixture Of Solvers (MOS)
📡 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.