Skip to content

Data Nodes

General-purpose value handling: get/set on arbitrary objects, conditionals, sorting and selection, UUID generation, JSON parsing/serialization and length capping.

11 nodes.

Node Registry path
Cap Length data/CapLength
Contains data/Contains
Get data/Get
JSON data/JSON
Length data/Length
Select Item data/SelectItem
Set data/Set
Set Conditional data/SetConditional
Sort data/Sort
Update Object data/UpdateObject
UUID data/UUID

Cap Length

data/CapLength

Applies a maximum length to an iterable (string or list), removing items from the specified side

Inputs

Input Type Description
state any The graph state
iterable str, list Iterable (string or list) to cap
max_length int Maximum length to cap the iterable to (optional)

Outputs

Output Type Description
state any The state input, passed through
capped str, list Capped iterable (same type as input)

Properties

Property Type Default Description
max_length int 100 Maximum length to cap the iterable to
side str "right" Side to pop values from. Choices: left, right.

Contains

data/Contains

Checks if a value is in a list or dictionary

Inputs

Input Type Description
object any Object (list, dict, etc.) - if a generator is provided, it will be converted to a list
value any Value

Outputs

Output Type Description
contains bool True if value is in object, False otherwise

Properties

Property Type Default Description
value any unset Value

Get

data/Get

Get a value from an object using getattr

Dictionaries are read by key (missing keys yield None). Lists, tuples and sets are read by index - the attribute must be an integer, and an out-of-range index yields UNRESOLVED. Any other object is read via getattr, yielding None if the attribute does not exist.

Inputs

Input Type Description
object any Object to read from
attribute str Attribute name, dict key, or index

Outputs

Output Type Description
value any The retrieved value
attribute str The attribute input, passed through
object any The object input, passed through

Properties

Property Type Default Description
attribute str unset Attribute

JSON

data/JSON

Node that converts a JSON string to a Python object

Inputs

Input Type Description
json str JSON string

Outputs

Output Type Description
data dict,list Python object (dict or list)

Length

data/Length

Gets the length of an iterable

Inputs

Input Type Description
object any Object (list, dict, etc.)

Outputs

Output Type Description
length int Length of the object (number of items)

Select Item

data/SelectItem

Node that takes in a list of items and selects one based on the selection function

  • random: picks a random item
  • cycle: picks the next item on each execution, wrapping around
  • sorted_cycle: like cycle, but iterates the items in sorted order
  • direct: picks the item at the index property

The cycle position is stored in the graph state per node, so it persists across executions within a run.

Inputs

Input Type Description
items list List of items
except any (optional) Item (or list of items) to exclude from selection

Outputs

Output Type Description
selected_item any Selected item

Properties

Property Type Default Description
index int 0 index
cycle_index int 0 cycle index. Read-only.
selection_function str "cycle" Selection function. Choices: random, cycle, sorted_cycle, direct.

Set

data/Set

Set a value on an object using setattr

Dictionaries are written by key. Lists are written by index - the attribute must be an integer. Any other object is written via setattr. The object is modified in place.

Inputs

Input Type Description
object any Object to modify
attribute str Attribute name, dict key, or list index
value any Value to set

Outputs

Output Type Description
object any The modified object
attribute str The attribute input, passed through
value any The value input, passed through

Properties

Property Type Default Description
attribute str unset Attribute

Set Conditional

data/SetConditional

Same as Set, but with a state passthrough so it can be placed in a conditional execution chain

Dictionaries are written by key, lists by integer index, any other object via setattr. The object is modified in place.

Inputs

Input Type Description
state any The graph state
object any Object to modify
attribute str Attribute name, dict key, or list index
value any Value to set

Outputs

Output Type Description
state any The state input, passed through
object any The modified object
attribute str The attribute input, passed through
value any The value input, passed through

Properties

Property Type Default Description
attribute str unset Attribute

Sort

data/Sort

Sorts a list of items

If sort_keys is provided, items are sorted by the named attributes (read via getattr) in order. A sort_keys string input is parsed as JSON. Without sort_keys, items are sorted by their natural order. The input list is not modified; a sorted copy is returned.

Inputs

Input Type Description
state any The graph state
items list List of items to sort
sort_keys str, list Attribute name(s) to sort by - list, or JSON string (optional)

Outputs

Output Type Description
state any The state input, passed through
sorted_items list Sorted list of items

Properties

Property Type Default Description
reverse bool False Reverse sort
sort_keys list unset Sort keys

Update Object

data/UpdateObject

Updates an object (dict or attribute-based) with values collected from dynamic inputs. New item sockets appear as connections are made.

For each connected item the key to update is inferred: if the value is a (key, value) tuple that key is used; otherwise the key is derived from the source socket - for sockets named value, the source node's name, key or attribute input is used, falling back to the source socket name. Dicts are updated by key, other objects via setattr.

Inputs

Input Type Description
state any The graph state
object any The object to update

This node supports dynamic inputs - additional input sockets can be added in the editor as needed, and connected values are collected with key inference (see Collector Nodes).

Outputs

Output Type Description
state any The state input, passed through
object any The updated object

UUID

data/UUID

Generates a UUID string

Inputs

Input Type Description
state any (optional) The graph state
max_length int (optional) Maximum number of characters to return

Outputs

Output Type Description
state any The state input, passed through
uuid str A UUID string (e.g., "550e8400-e29b-41d4-a716-446655440000")

Properties

Property Type Default Description
max_length int 36 Maximum number of characters to return