FlowMaker SDKs (by language)

FlowMaker SDK support exists in TypeScript, Python, and C#/.NET with a shared runtime model:

  • Registration (id/version, IO contracts, UI config)
  • Runtime event loop (INIT, CURRENT, CAN_SEND_NEXT, DESTROY, heartbeat)
  • Header-driven serialization (msgpack / json)
  • Worker logging and widget events over Socket.IO

Language sections

TypeScript SDK (@industream/flowmaker-sdk)

Python SDK (industream-flowmaker-sdk)

C# / .NET SDK (Industream.FlowMaker.Sdk)


Shared runtime contract (high level)

  1. Worker registers FlowBox implementations with runtime.
  2. Scheduler sends ZeroMQ messages containing routing frames, IO id, header, and payload.
  3. SDK dispatches by event id from header bytes.
  4. Serializer is selected from header serialization bytes.
  5. Source/pipe/sink handlers process and acknowledge flow-control events.

Common payload convention used in docs and examples

{
  "temperature": 21.7,
  "pressure": 1.8,
  "$$meta": {
    "temperature": { "entryId": "dc-entry-temp" },
    "pressure": { "entryId": "dc-entry-pressure" }
  },
  "$$timestamp": "2026-04-10T16:00:00.000Z"
}
  • Root keys: measured tags.
  • $$meta: per-tag mapping metadata.
  • $$timestamp: event time.