Dependencies

July 31, 2026 · View on GitHub

All dependency policy lives in pyproject.toml. There is no requirements.txt, setup.py, or MANIFEST.in. The browser-side package.json only declares the ws dev-dependency used by the Node JS e2e test (the page itself loads HiveMind-js from a CDN). Packaged web assets ship via [tool.setuptools.package-data].

Runtime dependencies

PackageConstraintRole
tornadoanyThe HTTP server that serves the chat page
ovos-utilsanyLogging / daemon helpers used by the bridge + launcher
hivemind-bus-client>=0.9.2a1,<1.0.0The optional headless WebchatBridge connection to the hub

The HTTP server (WebChat) only needs tornado. hivemind-bus-client and ovos-utils are pulled in for the optional headless bridge. The browser does not use them, since it loads HiveMind-js in-page.

Why the pre-release floor (the bus-client 2.x story)

The HiveMind 2.x protocol stack (hub, agent plugin, harness) lives in the pre-releases. hivemind-bus-client>=0.9.2a1 is the 2.x line and rides ovos-bus-client>=2.0.0a3. Flooring the bus-client at its alpha is enough for uv/pip to select the 2.x-compatible versions. A pre-release min-version pin is sufficient, so --pre / pre_install_pip is never used.

Test / e2e dependencies ([e2e] extra)

The e2e extra adds the in-process hub + harness used by tests/e2e/:

PackageConstraintRole
pytest, pytest-timeoutanyTest runner
hivescope>=0.5.2a1In-process hub + loopback WebSocket + assertions
hivemind-core>=4.6.2a1Real hub master booted in-process
ovos-bus-client>=2.0.0a3,<3.0.0OVOS Message / bus on the 2.x line
ovos-plugin-manager>=2.4.1a1,<3.0.0Transitive floor so the OVOS alphas allow bus-client 2.x
hivemind-ovos-agent-plugin>=0.3.1a1Hub agent protocol / policy chain
hivemind-plugin-manager>=0.8.0a1Hub protocol plugin manager

hivemind-core's own transitive pre-release floors (json-database, hivemind-sqlite-database, hivemind-json-db-plugin, hivemind-websocket-protocol, ovos-utils, ovos-workshop) are restated in the e2e extra so the resolver picks those alphas without --pre. Without these floors the stable hivemind-core 4.0.0 line (old bus-client pin) wins and conflicts with the prerelease bus-client (ResolutionImpossible).

A test alias (hivemind_webchat[e2e]) is kept for shared-CI compatibility.

Resolving locally

uv pip install -e ".[e2e]"

← Deployment · Home · Testing →