Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OVOS MessageBus

ovos-messagebus is the WebSocket message bus server for OpenVoiceOS. Every OVOS service connects to this bus and exchanges Message objects with it. The bus does not route or filter messages. It broadcasts each message to every connected client.

Install

pip install ovos-messagebus

Usage

Start the server from the command line:

ovos-messagebus

Or run it as a module:

python -m ovos_messagebus

The server reads its connection settings from mycroft.conf under the websocket key:

{
  // The mycroft-core messagebus websocket
  "websocket": {
    "host": "0.0.0.0",
    "port": 8181,
    "route": "/core",
    "ssl": false,
    // in mycroft-core all skills share a bus, this allows malicious skills
    // to manipulate it and affect other skills, this option ensures each skill
    // gets its own websocket connection
    "shared_connection": true,
    // filter out messages of certain types from the bus logs
    "filter": false,
    // which messages to filter if filter is enabled
    "filter_logs": ["gui.status.request", "gui.page.upload"]
  }
}

See docs/configuration.md for the full list of options, docs/server.md for the server internals, and docs/events.md for the message types that flow through the bus.

Alternative implementations

ovos-messagebus also ships an optional Rust-powered backend (webrockets) alongside its default Tornado backend. See docs/backends.md for setup and benchmark results.

Related projects

  • ovos-bus-client: the client library all services and skills use to connect to this bus.
  • ovos-core: intent pipeline and skill orchestration. It connects to this bus as a client.
  • ovos-audio: TTS rendering and audio playback. It connects to this bus as a client.
  • ovos-gui: GUI namespace management. It bridges skills to GUI clients over this bus.
  • ovos-dinkum-listener: wake word detection and STT transcription. It connects to this bus as a client.
  • ovos-PHAL: the hardware abstraction layer. It connects to this bus as a client.

License

Apache-2.0. See LICENSE.

Download files

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

Source Distribution

ovos_messagebus-0.2.1a2.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

ovos_messagebus-0.2.1a2-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file ovos_messagebus-0.2.1a2.tar.gz.

File metadata

  • Download URL: ovos_messagebus-0.2.1a2.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ovos_messagebus-0.2.1a2.tar.gz
Algorithm Hash digest
SHA256 92aa1f8f4460e22ffd454eae7e4a600389d9b22fbf39cf6612a5c38479f8e1b2
MD5 9181f29ed9d832098e2358d8bed9fd38
BLAKE2b-256 8e51b003ae275a69fd6416aa1ac066cb343fd495308664763247a7aa6d395836

See more details on using hashes here.

File details

Details for the file ovos_messagebus-0.2.1a2-py3-none-any.whl.

File metadata

File hashes

Hashes for ovos_messagebus-0.2.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 915d1e0b8690b0691881dc3be6942e94ebf2835ce883bd4f6882289111ce5aea
MD5 97c9190e18bd0beb02846fe536f959c9
BLAKE2b-256 75b0ac1fb657d187ee3f4ec3856428da6d9887a6c21eb74957052568d5f8a4e9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1a2 This release

2 files

0.0.10

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

1 file

Supported by

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