Skip to main content

OVOS Messagebus Client

Project description

OpenVoiceOS Bus Client

A Python client for the OVOS messagebus. Connect to OVOS, emit messages, and react to system events.

The OVOS messagebus is the nervous system of an OVOS install. Every component — STT, intent parsing, skills, TTS, audio, GUI — talks over it. This package is the Python client.

⚠️ The bus is private. It has no authentication — every connected client can issue any natural-language command, speak through the speakers, take over any subsystem, and read every other client's traffic. Keep it bound to 127.0.0.1 (the default), never expose it on a network interface, and never put it behind a reverse proxy. For remote access, use HiveMind, which adds encryption, identity, and policy enforcement on top.

Install

pip install ovos-bus-client

Quick start

from ovos_bus_client import MessageBusClient, Message

client = MessageBusClient()
client.run_in_thread()
client.connected_event.wait()

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

Listening for messages:

from ovos_bus_client import MessageBusClient

client = MessageBusClient()

def on_speak(message):
    print('OVOS said:', message.data.get('utterance'))

client.on('speak', on_speak)
client.run_forever()

CLI tools

Command Description
ovos-speak <text> [lang] Ask OVOS to speak a phrase
ovos-say-to <text> [lang] Inject an utterance into the intent pipeline
ovos-listen Trigger the wake-word / listen cycle
ovos-simple-cli [lang] Interactive text REPL for OVOS

Configuration

MessageBusClient reads the websocket block of your OVOS config (loaded by ovos-config) — defaults to ws://127.0.0.1:8181/core. Override at construction:

MessageBusClient(host='127.0.0.1', port=8181)

Do not change host to anything routable. See the security callout above.

Migrating from 1.x

Two modules were removed in 2.0.0. Install their replacement packages if you used them:

Removed Replacement Install
ovos_bus_client.hpm.OVOSProtocol hivemind-ovos-agent-plugin pip install hivemind-ovos-agent-plugin
ovos_bus_client.opm.OVOSMessagebusSolver ovos-messagebus-chat-plugin pip install ovos-messagebus-chat-plugin

The HiveMind agent entry point (hivemind.agent.protocol) and the solver entry point (neon.plugin.solver) are no longer registered by this package. See docs/migration.md for details.

Documentation

Full developer docs live in docs/:

Related

License

Apache 2.0. See LICENSE.md.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovos_bus_client-2.5.1a3.tar.gz (61.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ovos_bus_client-2.5.1a3-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file ovos_bus_client-2.5.1a3.tar.gz.

File metadata

  • Download URL: ovos_bus_client-2.5.1a3.tar.gz
  • Upload date:
  • Size: 61.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ovos_bus_client-2.5.1a3.tar.gz
Algorithm Hash digest
SHA256 9e2fd9eda9b71fac685b5d5aba8f9a9f1207fba0c3e0e67036a935ebc779a6b3
MD5 e8ca5dc127832c7a86b6d49457b4c087
BLAKE2b-256 f26b31d39862dc66db89cc7ad5e859bdfec49e2ee4bbc6c91478ea6e3a7f3fd2

See more details on using hashes here.

File details

Details for the file ovos_bus_client-2.5.1a3-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_bus_client-2.5.1a3-py3-none-any.whl
Algorithm Hash digest
SHA256 bb73a41f1d2eaad8abb6dcf423b0733c26c7f500c32861fe34134a470d419618
MD5 0f6ec6b088b525de0461ba7c3afc7ba6
BLAKE2b-256 013aaa426b9435e0f4fcdf058800d782ce1e7737c1991763b974e4cb96a873cf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page