Clients

Covers Engine 2.0.0

Overview

Choose a client for analysis, dashboards, or external C++ nodes.

Clients connect another application to a running DARTWIC engine. Use the DARTWIC libraries for channel-aware helpers, or TEMPEST directly when you need the transport’s lower-level operation and telemetry APIs.

ClientBest fitConnection
PythonChannel discovery, recorded ranges, and analysis scripts.TEMPEST ZeroMQ, engine base port and base port + 1.
Node.jsNode services, live data, and recorded-data analysis.TEMPEST ZeroMQ, base port and base port + 1.
C++Native analysis tools and ordinary engine operations.Bundled TEMPEST ZeroMQ with automatic reconnect.
ReactCustom browser dashboards with live channel state.TEMPEST web endpoint, derived from the engine base port.
C++ ShareExternal nodes exchanging channels, commands, and ARGUS events.Managed ZeroMQ/TEMPEST plus Share readiness.
Custom Share applicationAn external node using your own frame delivery.Share Protocol SDK with an application-supplied transport.

Download and install locally

DARTWIC clients are distributed as release archives through Downloads. Download the client you need, extract it, and follow its guide to install it locally. They are not currently published on PyPI or npm.

ClientInstall the downloaded release
PythonUse pip with the path to the extracted package directory.
Node.js and ReactUse npm pack on the extracted directory, then npm install the resulting local .tgz file in your application.
C++ and C++ ShareBuild and install the extracted source with CMake, then link the installed target.

Each DARTWIC client archive bundles its TEMPEST transport. pip and npm still fetch third-party dependencies; C++ dependency requirements are listed in the guides. Use the downloaded release directory for these instructions: release packaging adds the bundled transport to the repository’s client sources.

Operations and telemetry

An operation requests work and returns a response. Telemetry arrives asynchronously. Check a response’s error before reading its payload; a timeout does not prove a state-changing operation failed to execute. Query the resulting state before retrying a command.

External clients obey the same command authority as the interface. Timing-critical reactions belong in the engine’s inline calculations or events, not a dashboard refresh loop.

See Using TEMPEST for endpoint, envelope, telemetry, and detached-job contracts.