Module: programming

Traditional programming constructs.

These nodes implement operations for handling the essential data structure types in programming languages, and are useful to provide the functional "glue" in a more complex processing workflow. The essential data types implemented here are strings, lists, and dictionaries (key-value mappings), but a library of other standard operations is provided as well.

And

Logical AND operation.

Returns True if all of the inputs are True in a boolean context. If nothing is wired in, the result is always True. Note that, unlike in some programming languages, this operation is not 'short-circuiting', meaning that all inputs will always be evaluated.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Input data 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Input data 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Input data 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Input data 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Input data 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Input data 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Input data 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Input data 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Input data 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Input data 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional input data.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • outdata
    Result.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Bind

Bind arguments to positional or named parameters in the given function or graph.

The result is a new graph that can be called with fewer arguments. Specifically, any positional arguments that were left unassigned in the Bind usage remain as positional arguments in the resulting function. Any named arguments that were used in Bind will be fixed to the given values in the resulting function, and this assignment will take precedence over any later bindings to the same names. Expert tips: Bind with positional arguments only is a form of partial function application and is analogous to bind() functions in many of today's programming languages. Bind with name-value arguments can be used to assign values to free placeholders in an free-form graph, similar to the "let" clause in some functional programming languages.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • function
    Function whose arguments to bind.

    • verbose name: Function
    • default value: None
    • port type: GraphPort
    • value type: Graph (can be None)
  • function__signature
    Signature for the "function" input. This represents the signature for the subgraph that is wired into the "function" port. This is formatted as in (a,b,c) ~> (b,c) where a,b,c are names of placeholders that are expected in the subgraph that goes in, and out of, the "function" port. Alternatively, it can also be provided in data structure form as a list of lists, as in: [['a','b','c'], ['b','c'].

    • verbose name: Function [Signature]
    • default value: (~)
    • port type: Port
    • value type: object (can be None)
  • funcname
    Function name to call.

    • verbose name: Funcname
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • arg1
    Argument 1.

    • verbose name: Arg1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg2
    Argument 2.

    • verbose name: Arg2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg3
    Argument 3.

    • verbose name: Arg3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg4
    Argument 4.

    • verbose name: Arg4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg5
    Argument 5.

    • verbose name: Arg5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg6
    Argument 6.

    • verbose name: Arg6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg7
    Argument 7.

    • verbose name: Arg7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg8
    Argument 8.

    • verbose name: Arg8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg9
    Argument 9.

    • verbose name: Arg9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • argN
    Additional arguments.. .

    • verbose name: Argn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val1
    Value 1.

    • verbose name: Val1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val2
    Value 2.

    • verbose name: Val2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val3
    Value 3.

    • verbose name: Val3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val4
    Value 4.

    • verbose name: Val4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val5
    Value 5.

    • verbose name: Val5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val6
    Value 6.

    • verbose name: Val6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val7
    Value 7.

    • verbose name: Val7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val8
    Value 8.

    • verbose name: Val8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val9
    Value 9.

    • verbose name: Val9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • nameN
    Additional argument names.. .

    • verbose name: Namen
    • default value: None
    • port type: ListPort
    • value type: list (can be None)
  • valN
    Additional named argument values.. .

    • verbose name: Valn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • arg0
    Argument 0.

    • verbose name: Arg0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • val0
    Value 0.

    • verbose name: Val0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

BreakStructure

Break up a structure/dictionary into its items based on their name.

The outputs are matched based on user-settable keys, i.e., if the third name argument is 'blah' and there is a value in the dictionary that is associated with the name 'blah', then that value will be output over the third output port of this node. Note that this node is essentially equivalent to DictSplit.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indict
    Input dict.

    • verbose name: Indict
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default1
    Default value for output 1.

    • verbose name: Default1
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out1
    Output 1.

    • verbose name: Out1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default2
    Default value for output 2.

    • verbose name: Default2
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out2
    Output 2.

    • verbose name: Out2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default3
    Default value for output 3.

    • verbose name: Default3
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out3
    Output 3.

    • verbose name: Out3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default4
    Default value for output 4.

    • verbose name: Default4
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out4
    Output 4.

    • verbose name: Out4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default5
    Default value for output 5.

    • verbose name: Default5
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out5
    Output 5.

    • verbose name: Out5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default6
    Default value for output 6.

    • verbose name: Default6
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out6
    Output 6.

    • verbose name: Out6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default7
    Default value for output 7.

    • verbose name: Default7
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out7
    Output 7.

    • verbose name: Out7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default8
    Default value for output 8.

    • verbose name: Default8
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out8
    Output 8.

    • verbose name: Out8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default9
    Default value for output 9.

    • verbose name: Default9
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out9
    Output 9.

    • verbose name: Out9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name10
    Name 10.

    • verbose name: Name10
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default10
    Default value for output 10.

    • verbose name: Default10
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out10
    Output 10.

    • verbose name: Out10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name11
    Name 11.

    • verbose name: Name11
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default11
    Default value for output 11.

    • verbose name: Default11
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out11
    Output 11.

    • verbose name: Out11
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name12
    Name 12.

    • verbose name: Name12
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default12
    Default value for output 12.

    • verbose name: Default12
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out12
    Output 12.

    • verbose name: Out12
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name13
    Name 13.

    • verbose name: Name13
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default13
    Default value for output 13.

    • verbose name: Default13
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out13
    Output 13.

    • verbose name: Out13
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name14
    Name 14.

    • verbose name: Name14
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default14
    Default value for output 14.

    • verbose name: Default14
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out14
    Output 14.

    • verbose name: Out14
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • defaults_type
    Type of the default values. If set to object, the default values are (safely) evaluated.

    • verbose name: Defaults Type
    • default value: str
    • port type: EnumPort
    • value type: str (can be None)
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default0
    Default value for output 0.

    • verbose name: Default0
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out0
    Output 0.

    • verbose name: Out0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ByReference

Pass a given value by reference into the next node.

This is a special-purpose node that should not be used frequently, and only then with care and a clear understanding. It addresses the following: in NeuroPype, nodes generally do not modify the data that is passed into them -- if a node might modify their received value, they will create a copy beforehand so that that does not happen. This is called pass-by-value. In rare cases, you may wish to override this behavior and allow a node to act on a "reference" to some wired-in data, which causes any modifications to that data to be reflected in the original input and thus be visible on the "left-hand" side of the node. This is called "pass-by-reference". The node has two modes of operation: it can either mark the value that flows through the node as being passed by reference to the next node ('value' mode), so that that value becomes marked as a reference value, OR it can mark the graph that contains this node as being passed by reference ('graph mode'). In the first scenario, the marking applies to the first node that accepts a value, and does not propagate any further. The second scenario is more involved: the most common case in which a graph is created and then passed to a node, is when a node accepts a value of type "Graph", but the preceding node does not emit a value of type "Graph"; in that case, NeuroPype will extract a portion of the preceding graph (subject to some rules) and pass that to the next node (rendered as a dotted line in some UIs). If that portion includes a ByReference node (or any other node that accepts graphs) near its end that is set to 'graph' mode, then that graph is treated by reference by the receiving node. Furthermore, since the node remains in the graph, if the node passes the graph back out, then any receiving node will also treat it by reference (unless the ByReference node is removed again). A graph being treated by reference has the consequence that, if a node executes the graph, any state changes in its contained nodes will persist across subsequent executions of that graph, and this is the main use case for this variant. A second way to end up with a graph that contains a ByReference node is to construct it as such (e.g., inside a node). To make matters slightly more nuanced, be aware that graphs can also flow as "ordinary" values over edges, which occurs when both the sending and receiving node use the type Graph for their ports (typically the sending node would be some sort of graph transformation or generation node). Consequently, you can insert a ByReference node into the graph-transporting edge, and set it to 'value' mode, and it will mark the graph that flows though it to be received by reference by the next node (like an ordinary value), whether the flowing graph contains a ByReference node or not (however, you could not simply "insert" such a node into the graph that flows by without employing some sort of graph transformation). It is important to note, however, that when you replace the Graph-to-Graph edge by a Graph-ByReference-Graph edge, you need to wire out of the data_asgraph output of the ByReference node to tell NeuroPype that a graph is travelling over the edge (otherwise NeuroPype's rule to construct a graph from the preceding nodes would be triggered).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Pass-through data.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • data_asgraph
    Pass-through data, as a graph.

    • verbose name: Data Asgraph
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • apply_to
    indicates what shall be passed by reference. If set to 'value', the value travelling through this node is passed by reference and not copied before received by the next node. If set to 'graph', any graphs that contain this node in their tail will themselves always be passed by reference.

    • verbose name: Apply To
    • default value: value
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastPacketToFloat

Cast the given input packet to a float (floating-point number).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indata
    Input packet.

    • verbose name: Indata
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: IN
  • outdata
    Output floating-point value.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: float (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastPacketToInt

Cast the given input packet to an int (integer number).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indata
    Input packet.

    • verbose name: Indata
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: IN
  • outdata
    Output int value.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastPacketToList

Cast the given input packet to a list of floats.

The dimensions of the contained block will all be flattened into a 1d array.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indata
    Input packet.

    • verbose name: Indata
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: IN
  • outdata
    Output list value.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastPacketToString

Cast the given input marker stream packet to a string.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indata
    Input packet.

    • verbose name: Indata
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: IN
  • outdata
    Output string value.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastToGraph

Cast an object of unknown type to type graph, or otherwise pass out None if the object was not a graph.

This node is useful when some node returns a graph value, but the type information that this is a graph is lost, for example if we have to pass the value through a generic node like Passthrough, IfElse, or Call. Now we have an object of unknown type, and let's suppose we want to pass it to a node that accepts as graph. In almost all circumstances, such a node will capture the preceding nodes that are wired into it into a verbatim graph, which is then evaluated. However, we would like to hand that node a graph that we already have as a plain value instead of our input being captured into a graph. By using this node we make clear that our value is of type Graph, namely the output port of this node has type graph. If we now connect this node to to the graph-accepting node, we have an edge going from type graph to type graph, and this is an ordinary value-passing scenario (solid edge in some GUIs), as opposed to a graph-capturing scenario (dotted edge).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • input
    Input value.

    • verbose name: Input
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • graph
    Input graph or None.

    • verbose name: Graph
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CastToType

Cast the input value to a certain type.

One use case is for converting a string representation of a type (i.e., a list) into that type, in order to pass into a node requiring that type. Another use case is to convert a value of a certain type (i.e., int or list) into a string representation of that type. Other use cases include converting between different container types (e.g., list, set, dict, array) or numeric type (int vs float). Conversions to bool generally result in True except for empty objects. The node can also seamlessly convert a 1-element list or array to a numeric type (int or float). Note that the node may also receive None values, which are passed through unless pass_through_none is False, in which case they're convertible to bool (False) and string ("None"). Cast to object is a trivial pass-through operation.

Version 1.0.1

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • input
    Input value to cast.

    • verbose name: Input
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • output
    Output value in the selected format.

    • verbose name: Output
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • cast_type
    The type to which the input value will be cast. Note that additional nested casts beyond some of the most common listed cases are permitted, although not every combination will make sense.

    • verbose name: Cast Input To
    • default value: str
    • port type: ComboPort
    • value type: str (can be None)
  • pass_through_none
    If set, then None values will silently pass through unconverted, even if cast_type is bool or string.

    • verbose name: Pass Through None
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ChainIterator

An iterator that emits first all elements of the first iterable, then all elements from the second iterable, and so forth, until the last iterable is exhausted.

Thus, this effectively chains the elements of the iterables together.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curitems
    Current list of items.

    • verbose name: Curitems
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • iterable1
    Data to iterate over.

    • verbose name: Iterable1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable2
    Data to iterate over.

    • verbose name: Iterable2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable3
    Data to iterate over.

    • verbose name: Iterable3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable4
    Data to iterate over.

    • verbose name: Iterable4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable5
    Data to iterate over.

    • verbose name: Iterable5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable6
    Data to iterate over.

    • verbose name: Iterable6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable7
    Data to iterate over.

    • verbose name: Iterable7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable8
    Data to iterate over.

    • verbose name: Iterable8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable9
    Data to iterate over.

    • verbose name: Iterable9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterableN
    Additional iterables.

    • verbose name: Iterablen
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • iterable0
    Data to iterate over.

    • verbose name: Iterable0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CollectParams

Iterates over the ParameterPorts in the graph and collects the values.

The result is a dictionary where the keys are the names of the ParameterPorts in the graph. This can be wired into ExportText, CreateStructure (to save to a PKL file), ReportGeneration, etc.

Version 0.9.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • body
    Graph to traverse. This should always be (*).

    • verbose name: Body
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • body__signature
    Signature for the "body" input. This represents the signature for the subgraph that is wired into the "body" port. This is formatted as in (a,b,c) where a,b,c are names of placeholders that are expected in the subgraph that goes into the "body" port. Alternatively, it can also be provided in data structure form as a list of lists, as in: [['a','b','c']].

    • verbose name: Body [Signature]
    • default value: (*)
    • port type: Port
    • value type: object (can be None)
  • result
    A dictionary of settings, where the keys are the names of the ParameterPorts and the values are the node's corresponding values.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: OUT
  • output_type
    The format in which the result is output. By default this is a dictionary, but can also be a string representation of the dictionary (useful for wiring into ExportText), or a string representation that can be written to CSV (with 2 columns representing name and value, and one row per setting).

    • verbose name: Output Type
    • default value: dict
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConditionSwitch

Control the flow of execution (acting as a dispatcher) based on matching conditions.

The node has one input which receives the value to be tested from another node (this value can be of any type, i.e., string, number, array, Packet, etc.), and several outputs (named out1 through out5), which will each send a value of 1 (True) or 0 (False), depending on whether the value of their corresponding value1 through value5 property matches the input condition (i.e., out2 and out3 will be set to 1 if value2 and value3 match the input). There is also an out_default output which will be set to 1 if none of the other outputs match. Note that unlike the Switch node which only triggers the first matching output, this node will set all matching outputs to 1. A typical use case for this node is to wire the output(s) into the enabled port of one or more Passthrough nodes in order to turn those gates on or off (thereby enabling or disabling the execution of all nodes downstream of the Passthrough node) based on the input condition. Besides this, the outN ports can be wired to any other nodes that have a parameter that accepts a bool (True/False) in order to set that parameter at or during runtime based on some condition. You can also wire a ParameterPort node into the input of this node in order to set the value to be tested (i.e., session type, metric to compute, etc.) at runtime over the NeuroPype API and thereby control which branches of your pipeline are executed dynamically at launch or even while the pipeline is running. The Switch and ConditionSwitch nodes differ in their use in that the Switch node is used to control the execution of an upstream branch and return its result downstream, whereas the ConditionSwitch is used to control the execution of downstream nodes (usually by wiring it into the Passthrough node to "turn off" execution at a given point in the pipeline).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • input
    Condition (can be of any type) to be evaluated.

    • verbose name: Input
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • value1
    Value to compare to. Must be of the same type as input.

    • verbose name: Value1
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out1
    Set to True (1) if input matches value1 and False (0) otherwise.

    • verbose name: Out1
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value2
    Value to compare to. Must be of the same type as input.

    • verbose name: Value2
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out2
    Set to True (1) if input matches value2 and False (0) otherwise.

    • verbose name: Out2
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value3
    Value to compare to. Must be of the same type as input.

    • verbose name: Value3
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out3
    Set to True (1) if input matches value3 and False (0) otherwise.

    • verbose name: Out3
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value4
    Value to compare to. Must be of the same type as input.

    • verbose name: Value4
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out4
    Set to True (1) if input matches value4 and False (0) otherwise.

    • verbose name: Out4
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value5
    Value to compare to. Must be of the same type as input.

    • verbose name: Value5
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out5
    Set to True (1) if input matches value5 and False (0) otherwise.

    • verbose name: Out5
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • out_default
    Set to True (1) if input does not match any of value1 through value5 and and False (0) if there was a match.

    • verbose name: Out Default
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConditionTest

Basic condition test node.

The node has one input of arbitrary type and two outputs that can take on values 0 or 1, named true and false. Further, the node has a predefined value to compare to, and optionally the type of comparison can be specified. If the comparison between the value and the input yields True, then the output named "true" outputs 1, and otherwise the output named "false" yields 1. These outputs can be wired to the "update" port of subsequent nodes to control whether these nodes shall execute (i.e., be updated) or not.

Version 1.0.1

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • input
    Input condition.

    • verbose name: Input
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • true
    True branch. Executed if condition is true.

    • verbose name: True
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • false
    False branch. Executed if condition is false.

    • verbose name: False
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value
    The value to compare to. Usually a scalar.

    • verbose name: Comparison Value
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • operator
    Comparison operator to use. Tests whether the input is greater/less/etc than the given value.

    • verbose name: Comparison Operator
    • default value: equal
    • port type: EnumPort
    • value type: str (can be None)
  • collapse_op
    Collapse operation. This is optional and only used if the input is an array.

    • verbose name: Collapse Operation
    • default value: all
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantArray

Create an array that can be wired into another node.

This node is analogous to Constant list, but returns an array instead. The node can take a single string or numeric value (float, int) and convert it into an array located on the desired numeric backend. Or, if parse_string is True, it will attempt to convert a string with comma separated values (i.e., "one, two"), into a list and will return an error if unsuccessful (i.e., the string is a malformed list). Note that in the rare case that you wish to enter a non-numeric (i.e., string-valued) single-element array, you cannot use the freestyle (unquoted) syntax and must instead enter it in in strict Python syntax, such as either ['mystring'] or 'mystring', where the former is a 1-dimensional, 1-element array and the latter is a 0-dimensional 1-element array, also known as a 'scalar' array.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: AnyArray (can be None)
    • data direction: OUT
  • value
    Constant value. Typically in the same format as in the Constant List node.

    • verbose name: Value
    • default value: []
    • port type: Port
    • value type: object (can be None)
  • parse_string
    Attempt to parse free-form string values into a multi-element array. This will accept entries such as 0 1 as a 2-element array.

    • verbose name: Parse Free-Style String
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • backend
    Optional compute backend to use. Keep is the current default, which resolves to that of the template array if one is provided and otherwise numpy unless overridden. Numpy is the standard CPU backend that underpins most of NeuroPype's operations. The others require one or more GPUs to be present on the system, except for torch-cpu. For best performance, keep all arrays that interact with each other (via processing nodes) on the same backend.

    • verbose name: Backend
    • default value: keep
    • port type: EnumPort
    • value type: str (can be None)
  • precision
    Numeric precision to use. Keep resolves to the precision of the template array if one is provided, and otherwise to the current default (usually 64-bit). Can be reduced to save memory (e.g. if running on GPU).

    • verbose name: Precision
    • default value: keep
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantBool

Declare a boolean constant.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantComplex

Declare a complex-valied constant.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: complex (can be None)
    • data direction: OUT
  • real
    Real part.

    • verbose name: Real
    • default value: None
    • port type: FloatPort
    • value type: float (can be None)
  • imag
    Imaginary part.

    • verbose name: Imag
    • default value: None
    • port type: FloatPort
    • value type: float (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantFloat

Declare a floating-point constant.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: float (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: None
    • port type: FloatPort
    • value type: float (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantGraph

Declare a constant graph.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Graph to emit.

    • verbose name: Data
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • data__signature
    Signature for the "data" input. This represents the signature for the subgraph that is wired into the "data" port. This is formatted as in (a,b,c) where a,b,c are names of placeholders that are expected in the subgraph that goes out of the "data" port. Alternatively, it can also be provided in data structure form as a list of lists, as in: [['a','b','c']].

    • verbose name: Data [Signature]
    • default value: (~)
    • port type: Port
    • value type: object (can be None)
  • value
    Graph constant.

    • verbose name: Value
    • default value: None
    • port type: Port
    • value type: Graph (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantInt

Declare an integer constant.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantList

Create a list that can be wired into another node.

This node can take a single string or numeric value (float, int) and convert it into a list. Or, if parse_string is True, it will attempt to convert a string with comma separated values (i.e., "one, two"), into a list and will return an error if unsuccessful (i.e., the string is a malformed list). If parse_string is False, any string value will be converted to a single-item list.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: []
    • port type: Port
    • value type: object (can be None)
  • parse_string
    Attempt to parse string values into a multi-item list.

    • verbose name: Parse String
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantString

Declare a string constant.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ConstantValue

Declare a constant of any type.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Value to emit.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • value
    Constant value.

    • verbose name: Value
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Contains

Check if the given object contains a specified item or, depending on context, field.

Specifically, for nodes and axes, the item can be the name of a port or axis array or property field to check for. For dictionaries, the contains test checks the keys but not the values. For strings, the contains test checks if the item is a substring of the string. For arrays, the test checks all elements of the flattened array. Note that, if the data is None, the result will be None, but if the item is None, the result is True or False depending on the outcome of the query.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Container to check.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • item
    Candidate item.

    • verbose name: Item
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Copy

Make a shallow or deep copy of an object.

For objects that contain other objects (e.g., items in a list or dict, nodes in a graph, chunks in a packet, etc), there are two ways to copy the object. One is to make an independent copy of both the object and its contained items, and their contained items etc (deep copy). The other is to make an independent copy of the object, but to share the contained items with the original (shallow copy). Deep copies are slower than shallow copies, but easier to reason about. Shallow copies are faster, but can lead to subtle bugs if the contained items are referenced by multiple objects (perhaps unintentionally) and are modified in one of them.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to copy.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • deep
    Perform a deep copy. If set to False, a shallow copy is made wherein an independent copy of the object is made, but the object's contents (e.g., items in a list or dict, nodes in a graph, chunks in a packet etc) are shared with the original.

    • verbose name: Deep
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CreateDict

Create a dictionary (a lookup table from names to items) from a list of names and values.

Names must be contiguous, i.e., intermediate names that are None are not allowed. Data items may or may not be None, and whether such items are included in the output is governed by include_nones. This node is a companion to CreateStructure, which mainly differs in its default behavior, which treats None as a special value that is not included in the output. However, each node can be configured to behave the same way as the other in this regard, and the resulting data structure is identical. CreateStructure is however more lenient about missing names, which can lead to subtle bugs going undetected. For these reasons, Create Dictionary is better suited for code that requires 100% consistent behavior, while Create Structure is best suited for pipelines where empty data should be automatically dropped from the output.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • outdict
    Output dict.

    • verbose name: Outdict
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: OUT
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in1
    Input 1.

    • verbose name: In1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in2
    Input 2.

    • verbose name: In2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in3
    Input 3.

    • verbose name: In3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in4
    Input 4.

    • verbose name: In4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in5
    Input 5.

    • verbose name: In5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in6
    Input 6.

    • verbose name: In6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in7
    Input 7.

    • verbose name: In7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in8
    Input 8.

    • verbose name: In8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in9
    Input 9.

    • verbose name: In9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • nameN
    Additional item names in list form.

    • verbose name: Additional Names
    • default value: None
    • port type: ListPort
    • value type: list (can be None)
  • inN
    Additional data inputs.

    • verbose name: Inn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • include_nones
    Include named inputs in the dictionary even if they have a value of None.

    • verbose name: Include None Data
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • none_if_empty
    Output None if all inputs are empty.

    • verbose name: Output None If All Empty
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Enable verbose diagnostics output.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in0
    Input 0.

    • verbose name: In0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CreateList

Create a list from the given input values.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • outlist
    Output list.

    • verbose name: Outlist
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • in1
    Input 1.

    • verbose name: In1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in2
    Input 2.

    • verbose name: In2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in3
    Input 3.

    • verbose name: In3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in4
    Input 4.

    • verbose name: In4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in5
    Input 5.

    • verbose name: In5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in6
    Input 6.

    • verbose name: In6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in7
    Input 7.

    • verbose name: In7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in8
    Input 8.

    • verbose name: In8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • in9
    Input 9.

    • verbose name: In9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • inN
    Additional inputs.. .

    • verbose name: Inn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • require_contiguous
    Require that inputs are wired in or assigned in contiguous fashion. This means, if you skip some arguments, you get an error.

    • verbose name: Require Contiguous
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • skip_none
    Skip None inputs. This will implicitly filter out any arguments that had a None value.

    • verbose name: Skip None
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • none_if_empty
    Output None if the resulting list would be empty. None is sometimes used as a Null value in NeuroPype.

    • verbose name: Output None If List Empty
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Enable verbose output.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • in0
    Input 0.

    • verbose name: In0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CreateSelectionInterval

Define a selection interval (slice) that can be used to select items from a collection, e.g

., using SelectRange. Slices consist of a start index, a stop index, and a step size, and the end value is by convention not included in the range unless the inclusive option is set to True. The default slice (with none of the values overridden) selects all data. Note that, when the endpoints are data values along a real-valued domain (i.e., when they represent "coordinate" values along a continuous axis such as time or frequency), it is necessary to specify the domain explicitly as 'float' for the inclusive option to work as expected correctly. Both the start and end value are optional, and if not given, range from/to the respective end of the data. When specifying integer-valued slices, note that slices use 0-based indexing, and negative integers count from the end of the collection that they are used with, where -1 is the last element, -2 the second-to-last etc. Also, negative steps run in reverse. Alterantively, one may also provide a start index and a length (leaving the other parameters at their default); then, stop is derived as start+length and the inclusive option does not apply. Note that, for real-valued endpoints, negative values do NOT count from the "end" of the range; these are merely treated as negative values along the domain.

Version 1.0.1

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • selection
    Selection range.

    • verbose name: Selection
    • default value: None
    • port type: DataPort
    • value type: slice (can be None)
    • data direction: OUT
  • start
    Start value of the range. If this is not specified, the selection will start from the beginning of the data (first item of a collection or array).

    • verbose name: Start
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • stop
    End value of the range. Not included in the range unless the inclusive option is set to True. If this is not specified, the selection will run up to and include the last item in the data. This should also be omitted if start and length are given, in which case the range is already fully determined.

    • verbose name: Stop
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • step
    Step size of the range, in terms of generated indices. If not given, the interval will cover all elements from start to stop (setting this to 1 will achieve the same in most cases, although passing an integer is not guaranteed to trigger exactly the same code behind the scenes, depending on the data structure that is being indexed, and not all data structure may support an integer here). If set to a negative value, the range runs in reverse, and if set to, e.g., 2, will yield every other element. Note that the range will NOT automatically count in reverse if start is greater than stop, but instead the range will then be empty.

    • verbose name: Step
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • length
    Alternative way to specify the range in terms of the number of elements to retain and the start index. Note that the current implementation does not support stop and length being specified at the same time.

    • verbose name: Length
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • inclusive
    Whether the stop value is inclusive or exclusive. The start value is always inclusive. Remember to set the domain to a value other than unspecified to avoid warnings.

    • verbose name: Stop Included In Range
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • domain
    The domain of the interval endpoints. This is necessary for the inclusive option to work correctly.

    • verbose name: Endpoint Domain
    • default value: unspecified
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

CreateStructure

Create a data structure (dictionary) from a list of names and values and filter out missing values (indicated by None).

When the output structure is empty, a None value is emitted in its place. This node is a companion node of Create Dictionary, but differs in its default behavior: Create Dictionary will always output a dictionary, even if it is empty, and None values are treated as regular data items that do not trigger special behavior. Therefore, Create Dictionary is better suited for code that requires robust and consistent handling of data structures, while Create Structure is more suited for generating data structures that are automatically pruned, e.g., in simple feed-forward data flows where None is typically used as a signal to skip subsequent processing steps. Nevertheless, each node can be configured to behave like the other with regards to None values, although Create Structure is more lenient about missing names.

Version 1.2.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • outdict
    Output dict.

    • verbose name: Outdict
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: OUT
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in1
    Input 1.

    • verbose name: In1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in2
    Input 2.

    • verbose name: In2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in3
    Input 3.

    • verbose name: In3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in4
    Input 4.

    • verbose name: In4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in5
    Input 5.

    • verbose name: In5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in6
    Input 6.

    • verbose name: In6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in7
    Input 7.

    • verbose name: In7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in8
    Input 8.

    • verbose name: In8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in9
    Input 9.

    • verbose name: In9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • nameN
    Additional names.

    • verbose name: Namen
    • default value: None
    • port type: ListPort
    • value type: list (can be None)
  • inN
    Additional data inputs.

    • verbose name: Inn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • include_nones
    Include named inputs in the structure even if they have a value of None.

    • verbose name: Include Nones
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • none_if_empty
    Output None if all inputs are empty.

    • verbose name: Output None If All Empty
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • auto_naming
    Optionally auto-generate names for dictionary keys instead of using explicitly assigned names. If 'no', then this is disabled (default). If set to 'first-nonmarker-stream', then if an input is a packets, its key will be taken as the name of the packet's first non-marker stream. If a packet is present that has no such stream, it will be called unnamed.

    • verbose name: Auto Naming
    • default value: no
    • port type: ComboPort
    • value type: str (can be None)
  • verbose
    Enable verbose output.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • names
    Legacy alias for names, deprecated.

    • verbose name: Names (Legacy)
    • default value: None
    • port type: ListPort
    • value type: list (can be None)
  • get_names_from_chunks
    Get the names of the dictionary keys from the chunk names instead of explicitly specifying them.

    • verbose name: Names From Chunks (Deprecated)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in0
    Input 0.

    • verbose name: In0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictIterator

Iterate over a key/value pairs in a dictionary.

This node accepts a dictionary of items. On each successive update this node will then output a two-element list consisting of the key and associated value at a time, until the dict is exhausted.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curkey
    Current key.

    • verbose name: Curkey
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • curvalue
    Current value.

    • verbose name: Curvalue
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • dict
    Dictionary to iterate over. This node will output one key/value pair on each update, until the dict is exhausted.

    • verbose name: Dict To Iterate Over
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictKeys

Get the keys of a dictionary as a list.

If the dictionary is None, None is returned.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Input dictionary.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • keys
    List of keys.

    • verbose name: Keys
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictMerge

Merge one or more dictionaries, optionally allowing keys to be overridden by later dictionaries.

Dictionaries that are None are ignored.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Dictionary 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data2
    Dictionary 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data3
    Dictionary 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data4
    Dictionary 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data5
    Dictionary 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data6
    Dictionary 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data7
    Dictionary 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data8
    Dictionary 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • data9
    Dictionary 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • dataN
    Dictionary N.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • outdata
    Merged dictionary.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: OUT
  • allow_override
    Allow overriding of existing keys. If set to False, an error is raised if a key is already present in an earlier dictionary.

    • verbose name: Allow Override
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictRemove

Get a dictionary with a specific item removed.

If the input dictionary is None, None is returned.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Dictionary to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: INOUT
  • removed
    Removed item.

    • verbose name: Removed
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • item
    Name of item to remove.

    • verbose name: Item
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • missing
    Behavior if item is not present. If 'error', raise an error. If 'same', return the original dict.

    • verbose name: If Missing
    • default value: error
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictSplit

Break up a structure/dictionary into its items based on their name.

The outputs are matched based on user-settable keys, i.e., if the third name argument is 'blah' and there is a value in the dictionary that is associated with the name 'blah', then that value will be output over the third output port of this node. It is also possible to reference nested keys by using dot-separated paths, e.g., 'something.else' will look up the else key under the something key. The dictionary minus the listed (top-level) keys is emitted via the rest port.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indict
    Input dict.

    • verbose name: Indict
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default1
    Default value for output 1.

    • verbose name: Default1
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out1
    Output 1.

    • verbose name: Out1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default2
    Default value for output 2.

    • verbose name: Default2
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out2
    Output 2.

    • verbose name: Out2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default3
    Default value for output 3.

    • verbose name: Default3
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out3
    Output 3.

    • verbose name: Out3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default4
    Default value for output 4.

    • verbose name: Default4
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out4
    Output 4.

    • verbose name: Out4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default5
    Default value for output 5.

    • verbose name: Default5
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out5
    Output 5.

    • verbose name: Out5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default6
    Default value for output 6.

    • verbose name: Default6
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out6
    Output 6.

    • verbose name: Out6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default7
    Default value for output 7.

    • verbose name: Default7
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out7
    Output 7.

    • verbose name: Out7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default8
    Default value for output 8.

    • verbose name: Default8
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out8
    Output 8.

    • verbose name: Out8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default9
    Default value for output 9.

    • verbose name: Default9
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out9
    Output 9.

    • verbose name: Out9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name10
    Name 10.

    • verbose name: Name10
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default10
    Default value for output 10.

    • verbose name: Default10
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out10
    Output 10.

    • verbose name: Out10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name11
    Name 11.

    • verbose name: Name11
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default11
    Default value for output 11.

    • verbose name: Default11
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out11
    Output 11.

    • verbose name: Out11
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name12
    Name 12.

    • verbose name: Name12
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default12
    Default value for output 12.

    • verbose name: Default12
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out12
    Output 12.

    • verbose name: Out12
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name13
    Name 13.

    • verbose name: Name13
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default13
    Default value for output 13.

    • verbose name: Default13
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out13
    Output 13.

    • verbose name: Out13
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name14
    Name 14.

    • verbose name: Name14
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default14
    Default value for output 14.

    • verbose name: Default14
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out14
    Output 14.

    • verbose name: Out14
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • defaults_type
    Type of the default values. If set to object, the default values are (safely) evaluated.

    • verbose name: Defaults Type
    • default value: str
    • port type: EnumPort
    • value type: str (can be None)
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default0
    Default value for output 0.

    • verbose name: Default0
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • out0
    Output 0.

    • verbose name: Out0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • rest
    Remaining dictionary.

    • verbose name: Rest
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictUpdate

Get a new dictionary in which specific name/value pairs have been overridden.

This will not modify the original dictionary.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Dictionary to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: INOUT
  • name1
    Name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in1
    Input 1.

    • verbose name: In1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name2
    Name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in2
    Input 2.

    • verbose name: In2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name3
    Name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in3
    Input 3.

    • verbose name: In3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name4
    Name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in4
    Input 4.

    • verbose name: In4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name5
    Name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in5
    Input 5.

    • verbose name: In5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name6
    Name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in6
    Input 6.

    • verbose name: In6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name7
    Name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in7
    Input 7.

    • verbose name: In7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name8
    Name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in8
    Input 8.

    • verbose name: In8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • name9
    Name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in9
    Input 9.

    • verbose name: In9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • nameN
    Additional item names in list form.

    • verbose name: Additional Names
    • default value: None
    • port type: ListPort
    • value type: list (can be None)
  • inN
    Additional data inputs.

    • verbose name: Inn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • verbose
    Enable verbose diagnostics output.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • name0
    Name 0.

    • verbose name: Name0
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • in0
    Input 0.

    • verbose name: In0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

DictValues

Get the values of a dictionary as a list.

If the dictionary is None, None is returned.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Input dictionary.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: dict (can be None)
    • data direction: IN
  • values
    List of dictionary values.

    • verbose name: Values
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

EnumerateIterator

An iterator that yields 2-element lists made up of an index and the next item from a source iterable.

Can be used to iterate over a collection while keeping track of the current index. This node can be wired into a ForEach loop to iterate over a collection while keeping track of the current index. With each iteration, the integer and the item are yielded as a 2-element list to the ForEach node, which will then pass that list to the Placeholder node. You can then use BreakList after the Placeholder node to separate the index and the item in order to wire them into separate nodes in the loop body.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curindex
    Current index.

    • verbose name: Curindex
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • curitem
    Current item.

    • verbose name: Curitem
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • iterable
    Data to iterate over.

    • verbose name: Iterable
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Equal

Test whether two input objects are equal.

Note that this always compares whole objects and is not an elementwise operation (see Equal (Elementwise) for that).

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Input data 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Input data 2.

    • verbose name: Data2
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • outdata
    Result.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • equal_type
    Require the type to be equal as well. Note that types of nested objects are not checked, so eg [1,2,3] and [1.0, 2.0, 3.0] will be considered equal even if this is set to True.

    • verbose name: Equal Type
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

GetField

Access a field with a specific name on an object.

If the field is not found, return the value specified by the 'notfound' port or raise an error (notfound is respected regardless of whether the object has a fixed set of fields or an open-ended set). However, if the key is of the wrong data type (e.g. indexing an array with a string) or is syntactically malformed, an error will be raised even if notfound is not set to '(error)'. The available fields depend on the object being accessed, and can be looked up in the documentation. Typically, the error message will also indicate the available fields. If either the field or the data are none, the output will be None.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • field
    Field to access.

    • verbose name: Field
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • notfound
    Value to return if the field is not found. If set to special value '(error)', raise an error. This can also be set to None or a default value.

    • verbose name: If Not Found
    • default value: (error)
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

GetItem

Get the item with the specific key or index.

If the item is not found, return the value specified by the 'notfound' port or raise an error. This can also access fields of NeuroPype objects by specifying the field name starting with a leading : (colon), as in: :field_name. The available fields depend on the object being accessed, and can be looked up in the documentation. Typically, the error message will also indicate the available fields. Note that when accessing incorrect fields of an object whose fields are not an open-ended collection (e.g., Packet), an error will be raised even if notfound is not set to '(error)'. This is because this is indicative of a programming error. In contrast, when accessing missing fields of an object with open-ended fields, such as an axis, a node, or a port object, the notfound value is respected. If either the field or the data are None, the output will be None.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • item
    Extracted item.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • key
    Lookup key or index of the element to extract. Depending on the object of which the item is extracted, this can be an integer index (e.g., for a list) or a string key (e.g., for a dictionary). Integer indices count from 0, and can also be negative, in which case they count from the end of the list or array (e.g., -1 is the last element). For NeuroPype objects that have pre-defined fields (e.g., Packets, Chunk, Axis, and so forth), this can also be a field name starting with a leading : (colon), as in: :myfield. However, it is recommended to use the Get Field node for the latter purpose as it more clearly reflects intent.

    • verbose name: Key
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • notfound
    Value to return if key is not found. If set to special value '(error)', raise an error. This can also be set to None or a default value.

    • verbose name: If Not Found
    • default value: (error)
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

GetNested

Access a nested field or item of a specified object, which is identified by a path, analogous to a file path (or a chain of ".f

ield[10]['key'].something.else" syntax in some programming languages). The path is specified using a syntax that can be selected using the 'syntax' parameter. If the field is not found, return the value specified by the 'notfound' port or raise an error (notfound is respected regardless of whether the object has a fixed set of fields or an open-ended set). However, if the key is of the wrong data type (e.g. indexing an array with a string) or is syntactically malformed, an error will be raised even if notfound is not set to '(error)'. The available fields depend on the object being accessed, and can be looked up in the documentation. Typically, the error message will also indicate the available fields. If either the field or the data are none, the output will be None. Using this node requires some knowledge of the structure of the incoming data Packet. Objects use a : prefix (:block). For example, to extract a list of names from a feature axis for a stream (Chunk object) called "eeg", one would set the "path" property to: :chunks|eeg|:block|:axes|:feature|:names. This will return a list. To extract the last item along the Feature axis (a string), the syntax would be: :chunks|eeg|:block|:axes|:feature|:names|-1. To extract the list of event markers from a stream named markers, the syntax would be: :chunks|markers|:block|:axes|:instance|:data|Marker. You can view the structure of your packet using InspectPacket or Print nodes. The Packet class has some special methods you can use in the path, the most useful perhaps is :first(), which returns the first stream (chunk) in the packet. It also accepts additional criteria, i.e., :first(nonempty=True) will return the first nonempty stream. The full list of arguments that can be passed to first() is the same as the enumerate_chunks() Python function (see the documentation for the packet submodule in the developer documentation). Example: :first()|:block|:axes|:instance|:data|Marker.

Version 1.2.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • path
    Path to field/item. See syntax option for details.

    • verbose name: Path
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • syntax
    Syntax of the path. The pipe syntax looks as in " :field | 10 | 'quoted string key' | unquoted string key | 15 | :other_field | 5" where item may be a single-, double-, or unquoted string, a number, or one of the special symbols True/False/None. In practice, quoted strings are only rarely needed, namely to write strings that would otherwise parse as a different type (number, True/False/None, :field) or lose any intended leading/trailing whitespace. However, for procedurally generated (string-concatenated) paths, strings should always be quoted. The lax syntax is a more permissive version of the pipe syntax, where the : is optional; this can be ambiguous in the rare case that an object both has a field named :field and an item named field. The python syntax is the index syntax known from Python, which looks as in .field[10]['quoted string key']['unquoted string key'][15]. However, note that, at present, method calls like .first() are not permitted in python mode.

    • verbose name: Syntax
    • default value: pipe
    • port type: EnumPort
    • value type: str (can be None)
  • notfound
    Value to return if the field is not found. If set to raise, an error will be raised. Ignore will proceed regardless (a None value will be output). You can also enter a custom value here that will be returned if the field is not found. (Note: The value (error) will also raise an error for backward compatibility.)

    • verbose name: If Not Found
    • default value: raise
    • port type: ComboPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

GroupwiseIterator

An iterator that emits lists of items grouped according to an optional grouping key.

The iterator emits 2-element lists of a key and a list (or iterable) of items that share that key. Note that if your input is already sorted by the key, you can set the is_sorted option to improve performance.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • iterable
    Data to iterate over.

    • verbose name: Iterable
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • key
    Grouping key function.

    • verbose name: Key
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • key__signature
    This names the argument of an optional "key" graph that can be wired into the node. The graph's job is to reduce an item from the wired-in iterable to a key that can be used to group the items. If no key is wired in, the items will be grouped according to their own identity. This graph should only involve stateless nodes.

    • verbose name: Key [Signature]
    • default value: (item)
    • port type: Port
    • value type: object (can be None)
  • curitem
    Current batch.

    • verbose name: Curitem
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • is_sorted
    Whether the input iterable is already sorted by the grouping key.

    • verbose name: Is Sorted
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • as_lists
    Whether to emit the items as lists or as iterators.

    • verbose name: As Lists
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Hash

Compute a hash of a given piece of data.

The resulting code can be used to index content-addressable data structures such as caches. None inputs can be subjected to special handling, as per the none_handling port. The running time of this operation is proportional to the complexity and size of the object. Note that the hash is not guaranteed to be stable across different versions of NeuroPype. For certain object types, including nodes (particularly those with state), graphs, and general objects, the hash may also be unstable across different runs of the same version of NeuroPype.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to hash.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • hash
    Hash code of the data.

    • verbose name: Hash
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • none_handling
    What to do when the input is None. If "hash", None will be hashed like any other value. If "passthrough", None will be emitted. If "error", an exception will be raised.

    • verbose name: None Handling
    • default value: hash
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

IsOfType

Test whether the given object is of a specific type.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Input data.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • of_type
    Type to check. Note that for the purposes of this node, strings are not considered iterable, indexable, or collections, even though these operations are technically possible.

    • verbose name: Of Type
    • default value: bool
    • port type: EnumPort
    • value type: str (can be None)
  • pass_through_none
    If set, then None values will silently pass through as None.

    • verbose name: Pass Through None
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListAppend

Append an item to a list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • item
    Item to append to list.

    • verbose name: Item
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListCount

Count the number of occurrences of an item in a list.

If the list is None, None is propagated out.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • item
    Item to count.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • count
    Number of occurrences.

    • verbose name: Count
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListFind

Find the first (or last) index at which a specific item is found.

The item may also be identified by means of a predicate (function/graph). If the item is not found, return the value specified by the 'notfound' port (default -1). If the list is None, None is propagated out.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • item
    Item whose index to return.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • pred
    Predicate to use to find the item.

    • verbose name: Pred
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • pred__signature
    Optional name of a placeholder that will receive the list element of which to compute the find predicate. Instead of searching for an item by value, you can specify a predicate function. The predicate, if specified, is a function that returns True if the current item is the one that is being searched, and False otherwise. You can define a predicate function by creating a graph that starts with a Placeholder node whose slotname must be set to the same name as listed here (e.g., "item"), followed by some computation, and whose final node returns True or False. That final node's output is then wired into the "pred" input port of ListFind. In graphical UIs this edge will show as dotted to indicate that this is not normal forward data flow but a subgraph (i.e., the predicate) being passed to the List Find node. The predicate function is then called for each element in the list, and upon encountering an item where the predicate returns True, the search terminates and returns the item in question. If the predicate is not specified, ListFind by default compares with the value in the "item" port. This graph should only involve stateless nodes.

    • verbose name: Pred [Optional Find Predicate Argument]
    • default value: (item)
    • port type: Port
    • value type: object (can be None)
  • index
    Index of item in list.

    • verbose name: Index
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • find_last
    Find the index of the last occurrence instead of the first.

    • verbose name: Find Last
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • notfound
    Value to return if the item is not found. This can also be set to None if desired.

    • verbose name: If Not Found
    • default value: -1
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListFirst

Get the first item in a list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • item
    First item of the list.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • ifempty
    Behavior if list is empty. If 'error', raise an error. If 'none', return None.

    • verbose name: If Empty
    • default value: error
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListFlatten

Flatten an arbitrarily nested list into a simple list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListInsert

Insert an item before a specific indexed item in a list.

If the index is out of bounds, the item is placed at the respective end of the list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • item
    Item to insert.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • index
    Index before which to insert the item.

    • verbose name: Index
    • default value: 0
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListIterator

Iterate over a list of objects.

This node accepts a list of items. On each successive update this node will then output one of these values at a time, until the list is exhausted.

Version 1.2.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curitem
    Current item.

    • verbose name: Curitem
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • items
    Items to iterate over. This node will output one item on each update, until the list is exhausted.

    • verbose name: Items To Iterate Over
    • default value: []
    • port type: ListPort
    • value type: list (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListLast

Get the last item in a list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • item
    Last item of the list.

    • verbose name: Item
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • ifempty
    Behavior if list is empty. If 'error', raise an error. If 'none', return None.

    • verbose name: If Empty
    • default value: error
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListPrepend

Prepend an item to a list.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • item
    Item to prepend to list.

    • verbose name: Item
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListRemove

Get a list with a specific item removed.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • index
    Index of item to remove.

    • verbose name: Index
    • default value: 0
    • port type: IntPort
    • value type: int (can be None)
  • outofbounds
    Behavior if index is out of bounds. If 'error', raise an error. If 'same', return the original list.

    • verbose name: If Out Of Bounds
    • default value: error
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListRest

Get the remainder of a list excluding the first item.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    List to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • ifempty
    Behavior if list is empty. If 'error', raise an error. If 'empty', return an empty list.

    • verbose name: If Empty
    • default value: empty
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListSort

Sort the given list, optionally with a function that extracts a comparison key from a given list element (e.g

., StringLower). The sort is stable, i.e., it preserves the relative order of elements that compare equal.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    Data to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • key
    Key extraction function.

    • verbose name: Key
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • key__signature
    Optional name of a placeholder that will receive the list element from which to extract the sort key. You can define a key extraction function by creating a graph that starts with a Placeholder node whose slotname must be set to the same name as listed here (e.g., "item"), followed by some computation (e.g., a use of GetNested), and whose final node returns the sort key. That final node is then wired into the "key" input port of ListSort). In graphical UIs this edge will show as dotted to indicate that this is not normal forward data flow but a subgraph (i.e., the key function) is being passed to the List Sort node. The key extraction function is called for each element in the list, and the result of the function is used to sort the list. If the key extraction function is not specified, the list elements are sorted directly. This graph should only involve stateless nodes.

    • verbose name: Key [Optional Sort Key Argument]
    • default value: (item)
    • port type: Port
    • value type: object (can be None)
  • reversed
    If True, sort in reverse order.

    • verbose name: Reversed
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListSplit

Destructure a list into multiple items.

This node is primarily extract a series of values, such as channel names, file names, etc. from a list to pass on to multiple nodes.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • list
    List to split

    • verbose name: List
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • out1
    list item 1

    • verbose name: Out1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out2
    list item 2

    • verbose name: Out2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out3
    list item 3

    • verbose name: Out3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out4
    list item 4

    • verbose name: Out4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out5
    list item 5

    • verbose name: Out5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out6
    list item 6

    • verbose name: Out6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out7
    list item 7

    • verbose name: Out7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out8
    list item 8

    • verbose name: Out8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • out9
    list item 9

    • verbose name: Out9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • outN
    list items 10 and up

    • verbose name: Outn
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • out0
    list item 0 (no longer used)

    • verbose name: Out0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ListUnique

Reduce list to its unique items.

This will preserve the order of appearance. One may optionally specify a key extraction function that will be used to determine uniqueness.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • lst
    Data to process.

    • verbose name: Lst
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: INOUT
  • key
    Key extraction function.

    • verbose name: Key
    • default value: None
    • port type: GraphPort
    • value type: Graph
  • key__signature
    Optional name of a placeholder that will receive the list element from which to extract the unique key. You can define a key extraction function by creating a graph that starts with a Placeholder node whose slotname must be set to the same name as listed here (e.g., "item"), followed by some computation (e.g., a use of GetNested), and whose final node returns the sort key. That final node is then wired into the "key" input port of ListSort). In graphical UIs this edge will show as dotted to indicate that this is not normal forward data flow but a subgraph (i.e., the key function) is being passed to the List Sort node. The key extraction function is called for each element in the list, and the result of the function is used so that only elements with unique keys are retained. This graph should only involve stateless nodes.

    • verbose name: Key [Optional Unique Key Argument]
    • default value: (item)
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

NWayPassthrough

Pass the input data through to the output.

Can be used to enforce sequential dependencies. Specifically, all inputs that come in before the node are evaluated before anything that comes after the node, and furthermore, inputs are evaluated in the order in which they are wired into this node. Optionally, specify the number of inputs which must contain data in order for all streams to be passed through (on each tick). This can be used to cause a branch of a pipeline to wait until multiple inputs are being received (i.e., signal data and marker stream) before passing the data through.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Data 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data2
    Data 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data3
    Data 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data4
    Data 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data5
    Data 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data6
    Data 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data7
    Data 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data8
    Data 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • data9
    Data 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: INOUT
  • required_inputs
    Required number of inputs. If data is not received in at least this many inputs, None will be output for this tick.

    • verbose name: Required Inputs
    • default value: 0
    • port type: IntPort
    • value type: int (can be None)
  • allow_empty_packets
    When determining whether the number of required inputs is satisfied, count incoming packets that have no data as valid streams. Set this to True if you want to allow Marker streams through as they are likely to intermittently have empty data packets.

    • verbose name: Allow Empty Packets
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Not

Logical Not operation.

Returns True if data is False, and False if data is True.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to negate.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

NumElements

Get the number of elements in the given object.

By default, this counts the elements at the top level of the object, which amounts to the number of chunks in a packet, the number of entries in a list, the number of key-value pairs in a dictionary, the number of characters in a string, the total number of elements in an array, block, or chunk, the length of an axis, the number of nodes in a graph, and 1 for all other objects (except None, which is 0 unless count_none is set). If recursive is set, it will instead inspect the content of the individual elements and descend into lists, sets, dictionaries and the chunks of packets, and sum up the number of elements in each contained sub-object, and ultimately only tally the corresponding indivisable "leaf" elements. This is most useful to detect packets containing only empty chunks, the total count of numbers contained in a list of lists, the total number of list elements excluding None's, and so forth. Note that for a list of strings, this will count the total number of characters in the contained strings, and nothing more or less; thus, if those strings are present but all empty, the recursive count can be lower (i.e. 0) than the non-recursive count (i.e. the number of strings). The same applies to lists of empty lists, packets with only empty chunks, and so forth. Since None is treated by default as 0, this can also be used as a generic pass/fail check for empty objects. For programmers: note that this will not return the len() or .size of any other object types that may have this defined that are not listed above. None is treated as an empty object, unless pass_through_none is set, in which case None is emitted.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Input object.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • recursive
    If set, then the number of elements will be calculated recursively, that is the number of elements in each contained object will be calculated and summed up. For Packets, by default (if disabled) this will count only the chunks (regardless of contents), but if enabled, it will instead return the sum of numeric entries across chunks; note that this can be zero if chunks are present but contain no data. The node also descends into lists, dictionaries, and sets. None can optionally be counted as 0 or 1 depending on the count_none port. See the overall node documentation for additional details.

    • verbose name: Recursive
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • count_none
    If set, then None values will be counted as 1, otherwise 0.

    • verbose name: Count None
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • pass_through_none
    If set, then None values will silently pass through as None, otherwise it will be treated as an empty object.

    • verbose name: Pass Through None
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Or

Logical OR operation.

Returns True if any of the input values are True in a boolean context. If nothing is wired in, the node always outputs False. Note that, unlike in some programming languages, this operation is not 'short-circuiting', meaning that all inputs will always be evaluated.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Input data 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Input data 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Input data 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Input data 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Input data 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Input data 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Input data 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Input data 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Input data 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Input data 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional input data.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • outdata
    Result.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

PacketIterator

Iterate over the chunks and their names in a Packet.

On each successive update this node will then output a two-element list holding the chunk name and the chunk object at a time, until the packet is exhausted.

Version 0.9.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Packet to iterate over.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: Packet (can be None)
    • data direction: IN
  • curname
    Current name.

    • verbose name: Curname
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • curchunk
    Current chunk.

    • verbose name: Curchunk
    • default value: None
    • port type: DataPort
    • value type: Chunk (can be None)
    • data direction: OUT
  • nonempty
    Only include chunks with non-empty data. This refers to whether the n-dimensional array in the chunk's block is empty, and does not relate to properties.

    • verbose name: Nonempty
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • with_axes
    Only include chunks that have all of these axes.

    • verbose name: Only If Axes Present
    • default value: []
    • port type: SubsetPort
    • value type: list (can be None)
  • with_flags
    Only include chunks that have all of these flags.

    • verbose name: Only If Flags Present
    • default value: []
    • port type: SubsetPort
    • value type: list (can be None)
  • without_flags
    Only include chunks that have none of these flags.

    • verbose name: Only If Flags Absent
    • default value: []
    • port type: SubsetPort
    • value type: list (can be None)
  • name_matches
    Only include chunks whose name matches this wildcard pattern. May include '*' and '?'. If this starts with 're:', the remainder of the string is interpreted as a regular expression.

    • verbose name: Name Matches
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ParameterPort

Define an parameter for a pipeline that is exposed and can be easily set over the NeuroPype API.

This is particularly useful for defining and setting the specific node properties (parameters) that are frequently modified by users, or important for them to be aware of, and which you wish to expose to them through a client application, without overwhelming users with all parameters of all nodes in your pipeline. As an example, both the NeuroPype Control Panel (accessed through the "Run Pipeline..." Neuropype menu option), as well as the cloud-based NeuroScale dashboard, automatically display all the ParameterPort nodes of a selected pipeline, allowing users to set their values before running the pipeline. Parameters defined by a ParameterPort are rich objects, and include the name of the parameter, its type (e.g., integer, string, etc.), an optional help text, the default value if the parameter is not assigned, whether the parameter is a file path (which will be automatically normalized), and various other useful settings that govern how the parameter behaves in specific circumstances. Even if you're not exposing the ParameterPorts through a client application, ParameterPorts are also useful simply to define the configurable parameters of the pipeline, such as the input file path, event markers, key thresholds, variants of the pipeline (which may inform an If/Else construct in the pipeline), and so on. A user loading the pipeline in Pipeline Designer, for example, can easily identify all the configurable parameters of the pipeline. Technical deep dive: There is a close similarity between the features of a ParameterPort node, and of the Port objects, which are important properties of Nodes, and which are used to declare all the node's configurable parameters as well as data inputs and outputs. While Port objects are used in Python code to express the node's properties, the ParameterPort object is used in a flow graph to express parameters of the graph itself.

Version 1.3.4

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • value
    Value to be output.

    • verbose name: Value
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • portname
    Name of the port. This is the identifier under which the parameter is exposed. If this pipeline is meant to be with a meta-node that uses pre-defined port names, make sure that your port name matches one of those.

    • verbose name: Parameter Name
    • default value: data
    • port type: StringPort
    • value type: str (can be None)
  • default
    Default value, of the type specified in value_type, that will be passed on to the node wired into the value port. (You can also set this value at runtime over the NeuroPype API.)

    • verbose name: Default Value
    • default value:
    • port type: Port
    • value type: object (can be None)
  • value_type
    Default value type of the port. This determines what type of port is generated for the enclosing node.

    • verbose name: Value Type
    • default value: str
    • port type: EnumPort
    • value type: str (can be None)
  • domain
    Defines the acceptable values for this port in the form of a list of two value bounds (for int or float), or a list of values (for int, float or string). Also takes a special case of a dictionary in the following format: {'set1':['value1', 'value2'], 'set2':['value1', 'value2'] ...} where 'set1' and 'set2' are possible values in another parameter port defined in the 'relationships' property of this node (in this format: 'domain.key:portname'), which allow a client application to dynamically determine which set of values are the acceptable values for this port. If 'relationships' specifies a 'domain.key', then this property must contain a dictionary, whose keys match the expected values from the node defined in 'relationships'. Note: The list or dictionary for this node can be loaded from a text file by specifying the filename here in the following format: . The default expected location of this file is the 'resources' folder of the Neuropype installation.

    • verbose name: Domain
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • select
    Whether a client application should present a list of values to be selected from in a single-, multi- or combo-select format. 'limits' can be used to identify the domain as a set of numeric limits which can be displayed as such in a client.

    • verbose name: Select
    • default value: none
    • port type: EnumPort
    • value type: str (can be None)
  • desc
    Description of the port. This description may be shown in GUIs and auto-generated documentation.

    • verbose name: Description
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • port_category
    Human-readable category under which the port falls.

    • verbose name: Port Category
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • verbose_name
    Optionally the verbose (human-friendly) name of this port. Overriding this will override what is shown in the GUI (the default behavior is to derive the human-friendly name from the port name by replacing underscores with spaces, and capitalizing the first character.

    • verbose name: Human-Readable Name (Optional)
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • autocast
    Whether to automatically cast values into the type of the port. For instance, when an integer is assigned to a float port.

    • verbose name: Auto-Cast To Value Type
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • canbenone
    Whether assignments to this port can be None. Otherwise assigning None values to this port will give an error.

    • verbose name: Can Be None
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • safe
    Whether allowing users to enter arbitrary values to this port is safe. Ports that could be used for script injection (e.g., in cloud environments) would be considered not safe. This only has an effect the when the value_type is object.

    • verbose name: Safe For Network Use
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • is_filename
    Whether this port accepts file names. This has the consequence that strings will be properly path-normalized. This also applies to parameters that can be lists of file names (e.g., comma-separated).

    • verbose name: Is Filename
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • send_signal_changed
    Trigger a signal_changed flag for downstream nodes when the value of this node changes. On by default, but can be turned off if desired in certain situations (so the value can be changed without triggering signal_changed. The signal_changed flag will always be set when value_type changes.

    • verbose name: Send Signal Changed
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Verbose output for port assignments.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • expert
    Whether this port is for use by experts. Some user interfaces may not show expert ports unless the interface is set to "expert" mode itself.

    • verbose name: Expert
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • is_visible
    Whether the value of this parameter port is visible in a client application.

    • verbose name: Is Visible
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • editable
    Whether the value of this parameter port is editable in a client application.

    • verbose name: Editable
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • relationships
    Defines relationships with other parameter ports in a pipeline, which may control elements of this port, such as the domain, visibility, or editability. At present, the following syntax is supported 'domain:portname' or 'editable:portname'.

    • verbose name: Relationships
    • default value: []
    • port type: ListPort
    • value type: list (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Passthrough

Pass the input data through to the output if the enabled property is set.

Use this node to turn downstream nodes (i.e., a branch of your pipeline), "off" (or back "on") by inserting it into the pipeline at the desired checkpoint. Wire the output port of the preceeding node (usually data) into the indata port and wire the outdata port of this node into the input port (usually data) of the next node (or multiple nodes to control multiple branches at once). If enabled is False, this node will pass None through instead of the input data, which should cause any nodes downstream to not be executed on this tick. Typically a ParameterPort is wired into the enabled port to externally control whether a branch of the pipeline is executed or not at (or during) runtime using the NeuroPype API.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • indata
    Input data.

    • verbose name: Indata
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • outdata
    Output data.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • enabled
    Enable/disable the passing through of data from the indata port to the node(s) wired into the outdata port.

    • verbose name: Enabled
    • default value: True
    • port type: BoolPort
    • value type: bool
  • verbose
    Print verbose messages to the log.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Print

Print the given data.

If data is not provided, the (editable) string port is used. The data (or string) can be a format string with %s etc placeholders, in which case the arguments are taken from the arg0-arg9 ports. If a non-string object is provided as data, the object prints by default with indentation, and long arrays can optionally be abbreviated using the abbrev option (True by default). The node can write to a number of destinations that are selectable by the dest port: debug, info, warning, error, and fatal generate log messages like those emitted by any other node. The stdout and stderr options write to the command line output and error streams, respectively, which can be useful when running a pipeline from a command line script. You can additionally write the output to a file by wiring the output port to the ExportText node. Print will by default append a newline character at the end, unless the "end" port is overridden, in which case multiple successive print statements append to the same line (except for log destinations).

Version 1.4.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to print.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • output
    Printed output.

    • verbose name: Output
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • arg1
    Format argument 1.

    • verbose name: Arg1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg2
    Format argument 2.

    • verbose name: Arg2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg3
    Format argument 3.

    • verbose name: Arg3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg4
    Format argument 4.

    • verbose name: Arg4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg5
    Format argument 5.

    • verbose name: Arg5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg6
    Format argument 6.

    • verbose name: Arg6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg7
    Format argument 7.

    • verbose name: Arg7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg8
    Format argument 8.

    • verbose name: Arg8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • arg9
    Format argument 9.

    • verbose name: Arg9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • string
    String to print. This string is used when no data is given, or used to combine multiple incoming data (through the arg0 to arg9 ports) with a format string. You can do this either by using generic placeholders (%s for a string, %i for an integer, %f or %.2f for a float (with 2-digit precision), etc., in the string, which will be sequentially replaced by the data coming into the arg0 to arg9 ports (so the first % placeholder is replaced by the data coming into arg0, the second by the data coming into arg1, and so on). I.e., Num trials: %d, Num errors: %d.

    • verbose name: Print String
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • limit
    Limit prints of large collections to at most this many items. This will print only the leading and trailing limit items, with an ellipsis in the middle.

    • verbose name: Trim Items Beyond
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • summarize
    If True, print summaries of certain fields, such as arrays and chunk properties.

    • verbose name: Summarize Data
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • handle_none
    How to handle an incoming value of None. If print, None is printed as the string '(none)'. If ignore, None is ignored (replaced by an empty string), if skip, the node prints no output. If error, an exception is raised and log message printed.

    • verbose name: Handle None Values
    • default value: print
    • port type: EnumPort
    • value type: str (can be None)
  • dest
    Destination for the output. The debug/info/warn/error/critical options will go to NeuroPype's logging facility with the corresponding log level, which is also written to disk and is accessible to applications interacting with NeuroPype's API. The stdout/stderr options will go to command line/terminal output/error streams, which is more useful when a pipeline is run from a commandline script. The result-only option will only return the string result via the "output" port ONLY and not also print it (note the printed string is always available on this port regardless of the destination setting).

    • verbose name: Output Destination
    • default value: info
    • port type: EnumPort
    • value type: str (can be None)
  • flush
    When printing to a stream, flush any buffers after the print.

    • verbose name: Flush Output Stream
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • end
    String to print after the data. Defaults to a newline. This can be set to an empty string to print without a newline (note through that this will not work with log destinations - in this case you may want to first concatenate any strings and then write the result to a log.

    • verbose name: Append End String
    • default value:

    • port type: StringPort

    • value type: str (can be None)
  • respect_escape_seqs
    If True, escape sequences in the string are processed. This is useful when the string is a format string that contains escape sequences, such as \n for a newline. If False, the string is printed as is.

    • verbose name: Respect Escape Sequences
    • default value: True
    • port type: BoolPort
    • value type: bool (can be None)
  • print_once
    If True, the node will only print the first incoming value and ignore the rest. This is useful if you have a repeating value and only want to output its first occurence (less verbose).

    • verbose name: Print Once
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • arg0
    Format argument 0.

    • verbose name: Arg0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

RangeIterator

Iterate over a range of integers between start, and optionally stop, with a specified step size.

The range is by default excluding the stop value, unless inclusive is set to True. Beware: when you use this node in a script, create it with RangeIterator(stop=10) instead of RangeIterator(10), since the latter will create a node with a start value of 10, counting up indefinitely.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curvalue
    Current value.

    • verbose name: Curvalue
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • start
    Start of the range.

    • verbose name: Start
    • default value: 0
    • port type: IntPort
    • value type: int (can be None)
  • stop
    End of the range. If set to None, the range will be infinite.

    • verbose name: Stop
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • step
    Step size of the range.

    • verbose name: Step
    • default value: 1
    • port type: IntPort
    • value type: int (can be None)
  • inclusive
    Whether the stop value is inclusive or exclusive.

    • verbose name: End Is Inclusive
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ReadEnvironmentVariable

Reads in an environment variable from the system.

If the variable exists, its value is passed out as a string, which can be wired into another node's property. For example it could be used with the StringFormat node to create a filename passed into RecordToXDF. If the environment variable is not found, a warning is printed but no error is raised, and the default value is passed instead.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • result
    Value of the environment variable

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • name
    Name of the environment variable to load.

    • verbose name: Name
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • default
    Default value output in the event the environment variable is unspecified or is not found.

    • verbose name: Default
    • default value:
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

SetDifference

Calculate the difference of two sets A and B.

That is, the result will have all elements that are in A but not in B. Note that the output will have no duplicates. This node will treat sets, lists, tuples, and arrays as sets, and all other values (incl. strings, bytes, numbers, bools and dicts) as one-element sets containg the value. Note that this will not flatten lists of lists but will instead treat each inner list as a set element. n-dimensional arrays are not permitted and have to be either flattened to a 1d array, or converted into a list of array slices, whichever is desired. If at least one of the two operands was an array, the result is an array, otherwise a list. One may also pass either operand as Python's built-in set type, in which case the result will be a set, unless the result contains set elements that are themselves composite objects (e.g., lists or dicts), in which case the output remains a list. As with all set operations, the order of items in the result is not guaranteed to be the same as in the inputs and may also not be sorted. If sorted outputs are desired, one may use the Sort node on the result.

More Info...

Version 0.8.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Set 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Set 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT

SetIntersection

Calculate the intersection of two or more sets.

That is, the result will contain all elements that occur in each of the input sets. Note that the output will have no duplicates. This node will treat sets, lists, tuples, and arrays as sets, and all other values (incl. strings, bytes, numbers, bools and dicts) as one-element sets containg the value. Note that this will not flatten lists of lists but will instead treat each inner list as a set element. n-dimensional arrays are not permitted and have to be either flattened to a 1d array, or converted into a list of array slices, whichever is desired. If at least one of the operands was an array, the result is an array, otherwise a list. One may also pass either operand as Python's built-in set type, in which case the result will be a set, unless the result contains set elements that are themselves composite objects (e.g., lists or dicts), in which case the output remains a list. As with all set operations, the order of items in the result is not guaranteed to be the same as in the inputs and may also not be sorted. If sorted outputs are desired, one may use the Sort node on the result.

More Info...

Version 0.8.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Set 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Set 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Set 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Set 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Set 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Set 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Set 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Set 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Set 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Set 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional sets.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT

SetMembership

Evaluate for each element of an array A whether it is in the given set S.

This returns a boolean array of the same size as A, where each element is True if the corresponding element is in S, and False otherwise. Note that this operation is between an array and a set, and not between two sets. The set can be specified as a set, list, tuple, or array, and all other values (incl. strings, bytes, numbers, bools and dicts) are treated as a one-element set containg the value. Note that, as with all set operations, this will not flatten a list of lists provided as the set, but will instead treat each inner list as a set element. n-dimensional arrays are not permitted as the set and have to be either flattened to a 1d array, or converted into a list of array slices, whichever is desired. The result has the same shape as the 'data' (first) input and will be an array (or list) of booleans if the input was an array (or list, respectively), and otherwise a single boolean. Since the first input is not a set, it can also be a multi-dimensional array. However, note that when passing a list of lists, the meaning is ambiguous since the inner lists can either be treated as containing set elements (array mode), or the lists themselves can be considered a set element (element mode); which mode is desired can be specified using the 'lists_of_lists' property.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: AnyNumeric (can be None)
    • data direction: IN
  • set
    Set to check against.

    • verbose name: Set
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: AnyNumeric (can be None)
    • data direction: OUT
  • lists_of_lists
    How to handle the rare case of lists of lists in the left operand. If 'nested', the list is treated like a nested collection of elements (e.g., numbers) and those numbers are checked against the set. If 'nested-warn', the same happens and a warning is issued. If 'elements', the inner lists are treated as (composite) elements and it is checked whether those composits are present in the set.

    • verbose name: Lists Of Lists
    • default value: nested-warn
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

SetNested

Set a nested field or item of a specified object, which is identified by a path, analogous to a file path (or a chain of ".f

ield[10]['key'].something.else" syntax in some programming languages). The path is specified using a syntax that can be selected using the 'syntax' parameter. This generally leaves the original object unchanged, and instead returns a potentially changed object. If the field is not found, this node can either raise an error, or ignore the error and return the original object. Typically, the error message will also indicate the available fields on the object. If the data or path are is None, the output will be None. Using this node requires some knowledge of the structure of the incoming data packet. For example, to extract a list of names from a feature axis for a stream (chunk) called "eeg" (as a list), one would set the "path" property to: :chunks|eeg|:block|:axes|:feature|:names. To extract the last item along the Feature axis (as a string), the syntax would be: :chunks|eeg|:block|:axes|:feature|:names|-1. To extract the list of markers from a stream named markers (as a list), the syntax would be: :chunks|markers|:block|:axes|:instance|:data|Marker. You can view the structure of your packet using InspectPacket or Print nodes.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data
    Data to process.

    • verbose name: Data
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: INOUT
  • path
    Path to field/item. See syntax option for details.

    • verbose name: Path
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • value
    Value to set. Note if you are setting this to a string, put the string in quotes to prevent it from being interpreted as a value of some other type (e.g., number).

    • verbose name: Value
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • syntax
    Syntax of the path. The pipe syntax looks as in " :field | 10 | 'quoted string key' | unquoted string key | 15 | :other_field | 5" where item may be a single-, double-, or unquoted string, a number, or one of the special symbols True/False/None. In practice, quoted strings are only rarely needed, namely to write strings that would otherwise parse as a different type (number, True/False/None, :field) or lose any intended leading/trailing whitespace. However, for procedurally generated (string-concatenated) paths, strings should always be quoted. The lazy syntax is a more permissive version of the pipe syntax, where the : is optional; this can be ambiguous in the rare case that an object both has a field named :field and an item named field. The python syntax is the index syntax known from Python, which looks as in .field[10]['quoted string key']['unquoted string key'][15]. However, note that, at present, method calls like .first() are not permitted.

    • verbose name: Syntax
    • default value: pipe
    • port type: EnumPort
    • value type: str (can be None)
  • notfound
    Action to take if the specified field is not found. If 'error', raise an error. If 'ignore', return the original data object.

    • verbose name: If Not Found
    • default value: error
    • port type: EnumPort
    • value type: str (can be None)
  • debug
    Enable debugging of nested assignments. This allows an attached Python debugger (e.g., PyCharm) to stop in the utility routine where the error actually happens, as opposed to a location inside this node.

    • verbose name: Debug
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

SetUnion

Calculate the union of two or more sets.

That is, the result will merge all elements in the provided sets. Note that the output will have no duplicates. This node will treat sets, lists, tuples, and arrays as sets, and all other values (incl. strings, bytes, numbers, bools and dicts) as one-element sets containg the value. Note that this will not flatten lists of lists but will instead treat each inner list as a set element. n-dimensional arrays are not permitted and have to be either flattened to a 1d array, or converted into a list of array slices, whichever is desired. If at least one of the operands was an array, the result is an array, otherwise a list. One may also pass either operand as Python's built-in set type, in which case the result will be a set, unless the result contains set elements that are themselves composite objects (e.g., lists or dicts), in which case the output remains a list. As with all set operations, the order of items in the result is not guaranteed to be the same as in the inputs and may also not be sorted. If sorted outputs are desired, one may use the Sort node on the result.

More Info...

Version 0.8.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Set 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Set 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Set 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Set 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Set 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Set 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Set 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Set 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Set 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Set 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional sets.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT

SetXor

Calculate the symmetric difference (xor) of two or more sets.

That is, the result will have all items that are in exactly one of the input sets. Note that the output will have no duplicates. This node will treat sets, lists, tuples, and arrays as sets, and all other values (incl. strings, bytes, numbers, bools and dicts) as one-element sets containg the value. Note that this will not flatten lists of lists but will instead treat each inner list as a set element. n-dimensional arrays are not permitted and have to be either flattened to a 1d array, or converted into a list of array slices, whichever is desired. A subtle point is that set operations in NeuroPype allow individual input sets to have duplicates and will deduplicate each set beforehand. This means that an element that occurs twice or more in one of the sets but not in any of the other sets will be considered as being in exactly one of the sets and will thus appear in the output - as one should expect on a set- theoretic basis. If at least one of the operands was an array, the result is an array, otherwise a list. One may also pass either operand as Python's built-in set type, in which case the result will be a set, unless the result contains set elements that are themselves composite objects (e.g., lists or dicts), in which case the output remains a list. As with all set operations, the order of items in the result is not guaranteed to be the same as in the inputs and may also not be sorted. If sorted outputs are desired, one may use the Sort node on the result.

More Info...

Version 0.8.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Set 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Set 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Set 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Set 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Set 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Set 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Set 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Set 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Set 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Set 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional sets.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • result
    Result.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT

StringCheck

Check if the given string is of a specified type.

This will test whether all characters are in a given category, such as alphanumeric or numeric. Note that the rules are unicode-aware. For more information, see the associated URL.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • check
    Check whether the string is of one of the given types. Note that the rules are unicode-aware, so for example numeric includes characters like superscript 2. See the Python documentation for more details.

    • verbose name: Check
    • default value: alnum
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringComparison

Determine the ordering of the first string relative to the second string.

Returns -1 if string1 comes before string2, 0 if they are equal, and 1 if string1 comes after string2. As with all string ops, None values are generally passed through.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string1
    String 1.

    • verbose name: String1
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • string2
    String 2.

    • verbose name: String2
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    Result of the check.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • localized
    If set, use the current locale for string comparison.

    • verbose name: Localized
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringConcat

Concatenate the given values into one output string, optionally with a separator string.

Numbers can also be passed as a list to the dataN port. These will be automatically converted to strings during concatenation (i.e., to create a string with a comma-delimited list of numbers).

Version 1.2.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Input string 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data2
    Input string 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data3
    Input string 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data4
    Input string 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data5
    Input string 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data6
    Input string 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data7
    Input string 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data8
    Input string 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data9
    Input string 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • data10
    Input string 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • dataN
    Additional input strings.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • outstring
    Concatenated output string.

    • verbose name: Outstring
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • separator
    Separator string to insert between inputs. Use or to use a newline or tab as separators.

    • verbose name: Separator
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringEndsWith

Check if the given string ends with the provided suffix.

As with all string ops, None values are generally passed through.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    Result of the check.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • suffix
    String suffix to check for.

    • verbose name: Suffix
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringFind

Find the (zero-based) start index of a substring in a string.

Note that this defaults to returning -1 if the substring is not found. As with all string ops, None values are generally passed through.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    Start index if found.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: int (can be None)
    • data direction: OUT
  • substring
    Substring to find.

    • verbose name: Substring
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • notfound
    Value to return if the substring is not found. This can also be set to None if desired.

    • verbose name: If Not Found
    • default value: -1
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringFormat

Format a string with placeholders.

This node accepts a string, as well as multiple optional values. The string may contain placeholder symbols, that will be substituted by the respective values. This is similar to the printf() functionality in C and similar programming languages, and the same syntax can be used.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • result
    Formatted result string.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • string
    Format string with placeholders. The placeholders can be of the form %s where we want to splice in a string, %i if we expect an integer value, %f for float values, and so forth.

    • verbose name: String Template
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • placeholder_style
    Type of syntax to accept for placeholders. printf is the %s style syntax known from the C programming language, and format is Python's new {0} style placeholder syntax. For format, note that the {k} expressions are being indexed from 0, while the inputs are indexed from 1.

    • verbose name: Placeholder Style
    • default value: printf
    • port type: EnumPort
    • value type: str (can be None)
  • value1
    Value 1. This value, if any, will be substituted into the 1st placeholder slot.

    • verbose name: Value1
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value2
    Value 2. This value, if any, will be substituted into the 2nd placeholder slot.

    • verbose name: Value2
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value3
    Value 3. This value, if any, will be substituted into the 3rd placeholder slot.

    • verbose name: Value3
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value4
    Value 4. This value, if any, will be substituted into the 4th placeholder slot.

    • verbose name: Value4
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value5
    Value 5. This value, if any, will be substituted into the 5th placeholder slot.

    • verbose name: Value5
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value6
    Value 6. This value, if any, will be substituted into the 6th placeholder slot.

    • verbose name: Value6
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value7
    Value 7. This value, if any, will be substituted into the 7th placeholder slot.

    • verbose name: Value7
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value8
    Value 8. This value, if any, will be substituted into the 8th placeholder slot.

    • verbose name: Value8
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value9
    Value 9. This value, if any, will be substituted into the 9th placeholder slot.

    • verbose name: Value9
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • value10
    Value 10. This value, if any, will be substituted into the 10th placeholder slot.

    • verbose name: Value10
    • default value: None
    • port type: Port
    • value type: object (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringIterator

Iterate over a characters of a string.

On each successive update this node will emit the next character until the string is exhausted.

Version 1.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curchar
    Current character.

    • verbose name: Curchar
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: OUT
  • string
    String over whose characters to iterate. This node will output one character on each update, until the string is exhausted.

    • verbose name: String To Iterate Over
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringLower

Convert string to lower case.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringParse

Parse a string using a pattern with placeholders in it.

This node is essentially the reverse of StringFormat and supports different placeholder styles. This can be used to parse for example subject or session names out of file paths. Note that, if you also happen to be iterating over multiple files, the PathIterator is probably the better tool to do this parsing.

Version 0.1.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    Input string to parse.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • pattern
    String pattern for parsing. Different syntaxes are supported.

    • verbose name: Pattern
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • pattern_type
    Pattern type. The python type is modeled after Python's contemporary format string with {xxx} placeholders, the datestr type is %H%M%S style date/time format strings, and the regex type are regular expressions.

    • verbose name: Pattern Type
    • default value: python
    • port type: EnumPort
    • value type: str (can be None)
  • name1
    Placeholder name 1.

    • verbose name: Name1
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out1
    Output 1.

    • verbose name: Out1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name2
    Placeholder name 2.

    • verbose name: Name2
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out2
    Output 2.

    • verbose name: Out2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name3
    Placeholder name 3.

    • verbose name: Name3
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out3
    Output 3.

    • verbose name: Out3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name4
    Placeholder name 4.

    • verbose name: Name4
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out4
    Output 4.

    • verbose name: Out4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name5
    Placeholder name 5.

    • verbose name: Name5
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out5
    Output 5.

    • verbose name: Out5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name6
    Placeholder name 6.

    • verbose name: Name6
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out6
    Output 6.

    • verbose name: Out6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name7
    Placeholder name 7.

    • verbose name: Name7
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out7
    Output 7.

    • verbose name: Out7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name8
    Placeholder name 8.

    • verbose name: Name8
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out8
    Output 8.

    • verbose name: Out8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name9
    Placeholder name 9.

    • verbose name: Name9
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out9
    Output 9.

    • verbose name: Out9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • name10
    Placeholder name 10.

    • verbose name: Name10
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • out10
    Output 10.

    • verbose name: Out10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringRepeat

Repeat the given string n times.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • count
    Number of times to repeat the string.

    • verbose name: Count
    • default value: 1
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringReplace

Replace a pattern in a string by a subtitution string.

The pattern can either be a literal string or a regular expression.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • pattern
    Pattern to replace in string.

    • verbose name: Pattern
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • substitution
    String to insert in place of the pattern. If using regex, use \n where n is the group number, to specify matched groups in the pattern.

    • verbose name: Substitution
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • pattern_type
    Type of pattern search for. Literal means that each literal occurrence of the pattern will be substituted by the substitution string. Regex means that the pattern is interpreted as a regular expression.

    • verbose name: Pattern Type
    • default value: literal
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringSplit

Split a string into a list of strings based on a separator character or string.

If no separator is given, the string is by default split on whitespace characters.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    List of strings.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • separator
    Separator string. If not given, will split on any whitespace characters.

    • verbose name: Separator
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringSplitLines

Split a string into a list of strings at line boundaries.

This node recognizes a wide variety of line boundaries in an OS-independent fashion.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    List of strings.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringStartsWith

Check if the given string starts with the provided prefix.

As with all string ops, None values are generally passed through.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: IN
  • result
    Result of the check.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • prefix
    String prefix to check for.

    • verbose name: Prefix
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringTrim

Trim whitespace or other characters from one or both ends of a string.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • chars
    Characters to trim. If not given, then whitespace is trimmed.

    • verbose name: Chars
    • default value: None
    • port type: StringPort
    • value type: str (can be None)
  • side
    Which side to trim.

    • verbose name: Side
    • default value: both
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

StringUpper

Convert string to upper case.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • string
    String to process.

    • verbose name: String
    • default value: None
    • port type: DataPort
    • value type: str (can be None)
    • data direction: INOUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

SubrangeIterator

An iterator that emits only a subrange of another iterable.

The subrange is specified by start and stop indices (where stop is exclusive) and a step size.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • iterable
    Data to iterate over.

    • verbose name: Iterable
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • curitem
    Current item.

    • verbose name: Curitem
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • start
    Start index of the range. Negative values count from the end.

    • verbose name: Start
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • stop
    End index of the range. Negative values count from the end.

    • verbose name: Stop
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • step
    Step size of the range.

    • verbose name: Step
    • default value: 1
    • port type: IntPort
    • value type: int (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

SystemInformation

Queries a property of the ambient runtime system.

This includes machine architecture, OS, Python and NeuroPype runtime versions, and more. The following properties are available:

  • os-type: Operating system name (Windows, Linux, Darwin)
  • os-release: Operating system release version (e.g., 'NT', 'XP', '5.15.0-38-generic')
  • os-identifier: a string that precisely identifies the OS (format varies by OS)
  • arch: Machine architecture (x86_64, AMD64, arm64, i686, ia64, ppc64, sun4u, i386, etc.)
  • arch-bits: Number of bits in the machine architecture ('32bit' or '64bit')
  • hostname: Hostname of the machine
  • pid: process ID of the current process
  • python-version: Python version (e.g. '3.7.3')
  • neuropype-version: NeuroPype version (formatted as 'major.minor.patch', e.g., '2021.0.3')
  • neuropype-suffix: NeuroPype version suffix, if any (e.g., 'dev' or '')
  • neuropype-edition: NeuroPype edition (e.g., 'Enterprise')
  • neuropype-suite: NeuroPype suite
  • num-cores: Number of logical CPU cores
  • num-cuda-accelerators: Number of CUDA-capable (i.e., nVidia) accelerators (i.e., GPUs) installed.
  • total-memory-mb: Total system memory, in megabytes (actually, mebibytes); floating-point number.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • result
    Result

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • property
    System property to query. See node description for more details.

    • verbose name: Property
    • default value: os-type
    • port type: EnumPort
    • value type: str (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

TakeNested

Take a nested field and/or item from specified object and apply it to another object.

The nested field is identified by a path, analogous to a file path (or a chain of ".field[10]['key'].something.else" syntax in some programming languages). The path is specified using a syntax that can be selected using the 'syntax' parameter. This generally leaves both input objects unchanged, and instead returns a potentially updated target. If the field is not found, this node can either raise an error, or an alternative default value can be taken. Typically, the error message will also indicate the available fields on the object. If the target or path are is None, the output will be None. Using this node requires some knowledge of the structure of the incoming data packet. For example, to extract a list of names from a feature axis for a stream (chunk) called "eeg" (as a list), one would set the "path" property to: :chunks|eeg|:block|:axes|:feature|:names. To extract the last item along the Feature axis (as a string), the syntax would be: :chunks|eeg|:block|:axes|:feature|:names|-1. To extract the list of markers from a stream named markers (as a list), the syntax would be: :chunks|markers|:block|:axes|:instance|:data|Marker. You can view the structure of your packet using InspectPacket or Print nodes.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • source
    Source object.

    • verbose name: Source
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • target
    Target object.

    • verbose name: Target
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • result
    Updated target.

    • verbose name: Result
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: OUT
  • path
    Path to field/item. See syntax option for details.

    • verbose name: Path
    • default value:
    • port type: StringPort
    • value type: str (can be None)
  • syntax
    Syntax of the path. The pipe syntax looks as in " :field | 10 | 'quoted string key' | unquoted string key | 15 | :other_field | 5" where item may be a single-, double-, or unquoted string, a number, or one of the special symbols True/False/None. In practice, quoted strings are only rarely needed, namely to write strings that would otherwise parse as a different type (number, True/False/None, :field) or lose any intended leading/trailing whitespace. However, for procedurally generated (string-concatenated) paths, strings should always be quoted. The lazy syntax is a more permissive version of the pipe syntax, where the : is optional; this can be ambiguous in the rare case that an object both has a field named :field and an item named field. The python syntax is the index syntax known from Python, which looks as in .field[10]['quoted string key']['unquoted string key'][15]. However, note that, at present, method calls like .first() are not permitted.

    • verbose name: Syntax
    • default value: pipe
    • port type: EnumPort
    • value type: str (can be None)
  • debug
    Enable debugging of nested assignments. This allows an attached Python debugger (e.g., PyCharm) to stop in the utility routine where the error actually happens, as opposed to a location inside this node.

    • verbose name: Debug
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

WindowedIterator

An iterator that emits windows of items from the original iterable.

The windows will be lists of at most max_length items. If the step size is not set, the windows will be consecutive. It is possible for the windows to not evenly divide the input sequence's length, in which case by default the last window will be shorter, unless the padding option is set to a value other than no padding, in which case the emitted windows will be padded to the desired length. If consecutive windows are used, one may use the balanced option to balance the windows in length such that the last window does not have many fewer items than the others.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • iterable
    Data to iterate over.

    • verbose name: Iterable
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • curitem
    Current batch.

    • verbose name: Curitem
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • max_length
    Maximum length of the emitted windows.

    • verbose name: Max Length
    • default value: 3
    • port type: IntPort
    • value type: int (can be None)
  • step
    Step size between successive windows. The default is consecutive (i.e., non-overlapping) windows.

    • verbose name: Step
    • default value: None
    • port type: IntPort
    • value type: int (can be None)
  • padding
    Padding to use when windows would be shorter than the desired length. If set to no padding, then the emitted windows can be shorter than the desired length.

    • verbose name: Padding
    • default value: (no padding)
    • port type: Port
    • value type: object (can be None)
  • balanced
    If enabled, the batches will be balanced in length if the iterable's length is not divisible by the max length. This can only be used with consecutive windows, i.e., when step is not set.

    • verbose name: Balanced
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

Xor

Logical XOR (exclusive OR) operation.

Returns True if exactly one of the inputs is True in a boolean context.

More Info...

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • data1
    Input data 1.

    • verbose name: Data1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data2
    Input data 2.

    • verbose name: Data2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data3
    Input data 3.

    • verbose name: Data3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data4
    Input data 4.

    • verbose name: Data4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data5
    Input data 5.

    • verbose name: Data5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data6
    Input data 6.

    • verbose name: Data6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data7
    Input data 7.

    • verbose name: Data7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data8
    Input data 8.

    • verbose name: Data8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data9
    Input data 9.

    • verbose name: Data9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • data10
    Input data 10.

    • verbose name: Data10
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • dataN
    Additional input data.

    • verbose name: Datan
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • outdata
    Result.

    • verbose name: Outdata
    • default value: None
    • port type: DataPort
    • value type: bool (can be None)
    • data direction: OUT
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)

ZipIterator

An iterator that iterates over two or more source iterators and emits a list of items (one from each source iterator) with each update.

Can be used to iterate over multiple collections or iterators in parallel, for instance with a ForEach loop. This node will stop iterating when the shortest source iterator is exhausted, unless the longest option is enabled.

Version 1.0.0

Ports/Properties

  • metadata
    User-definable meta-data associated with the node. Usually reserved for technical purposes.

    • verbose name: Metadata
    • default value: {}
    • port type: DictPort
    • value type: dict (can be None)
  • curitems
    Current list of items.

    • verbose name: Curitems
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: OUT
  • iterable1
    Data to iterate over.

    • verbose name: Iterable1
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable2
    Data to iterate over.

    • verbose name: Iterable2
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable3
    Data to iterate over.

    • verbose name: Iterable3
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable4
    Data to iterate over.

    • verbose name: Iterable4
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable5
    Data to iterate over.

    • verbose name: Iterable5
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable6
    Data to iterate over.

    • verbose name: Iterable6
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable7
    Data to iterate over.

    • verbose name: Iterable7
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable8
    Data to iterate over.

    • verbose name: Iterable8
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterable9
    Data to iterate over.

    • verbose name: Iterable9
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • iterableN
    Additional iterables.

    • verbose name: Iterablen
    • default value: None
    • port type: DataPort
    • value type: list (can be None)
    • data direction: IN
  • longest
    Generate as many outputs as there are in the longest sequence. Fills the remaining outputs with None if the sequences are not of the same length.

    • verbose name: Up To Longest
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • iterable0
    Data to iterate over.

    • verbose name: Iterable0
    • default value: None
    • port type: DataPort
    • value type: object (can be None)
    • data direction: IN
  • set_breakpoint
    Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

    • verbose name: Set Breakpoint (Debug Only)
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)
  • verbose
    Whether to print the current item to the console.

    • verbose name: Verbose
    • default value: False
    • port type: BoolPort
    • value type: bool (can be None)