class timeflux_ui.nodes.ui.UI(host='localhost', port=8000, routes={}, settings={}, debug=False)[source]

Bases: timeflux.core.node.Node

Interact with Timeflux from the browser.

This node provides a web interface, available at http://localhost:8000 by default. Bi-directional communication is available through the WebSocket protocol.

A real-time data stream visualization application is provided at http://localhost:8000/monitor/. Other example applications (such as P300 and EEG signal quality) are provided in the apps directory of this package.

This node accepts any number of named input ports. Streams received from the browser are forwarded to output ports.

  • i_* (Port) – Dynamic inputs, expect DataFrame.

  • o_* (Port) – Dynamic outputs, provide DataFrame.



  - nodes:
    - id: data1
      module: timeflux.nodes.random
      class: Random
        columns: 8
        rows_min: 10
        rows_max: 10
        value_min: -100
        value_max: 100
        seed: 1
    - id: data2
      module: timeflux.nodes.random
      class: Random
        columns: 2
        rows_min: 1
        rows_max: 1
        value_min: -100
        value_max: 100
        seed: 1
    - id: ui
      module: timeflux_ui.nodes.ui
      class: UI
    - id: events
      module: timeflux.nodes.debug
      class: Display
    - id: test
      module: timeflux.nodes.debug
      class: Display
    - source: data1
      target: ui:test1
    - source: data2
      target: ui:test2
    - source: ui:events
      target: events
    - source: data1
      target: test
    rate: 5
  • host (string) – The host to bind to.

  • port (int) – The port to listen to.

  • routes (dict) – A dictionary of custom web apps. Key is the name, value is the path.

  • settings (dict) – An arbitrary configuration file that will be exposed to web apps.

  • debug (bool) – Show dependencies debug information.


Update the input and output ports.


Perform cleanup upon termination.