Node Types
Every node in Connectify is one of four built-in types. This page is the canonical reference for what each type is for, what I/O it carries, and what its config looks like.
Dataset
A Dataset node produces data. It's the source of every flow.
Inputs
None — Dataset nodes are roots in the graph.
Outputs
data— the primary output, typed to whatever the source produces (image, tensor,table, etc.).label(optional) — supervisory signal, label, present when the source is supervised.
Config
source— registry slug or URL (cifar-10,s3://bucket/path,file:./local.csv).split—train,val,test, or a custom slice expression.version— snapshot pin (defaults to the latest).filter(optional) — row-level filter expression.
Model
A Model node wraps a trained or trainable model.
Inputs
input— the data the model consumes. Type depends on the model (image,text, tensor).label(optional, training only) — supervisory signal during training.
Outputs
output— predictions, embeddings, or generated outputs (typed per model).checkpoint— pointer to the trained weights (after a training run).
Config
model— registry slug (llama-3-8b,resnet-50,small_cnn).mode—inference,train,lora,full_ft.hyperparameters— model-specific block (LR, epochs, batch size, LoRA rank, etc.).checkpoint(optional) — starting weights, if not the default.
Logic
A Logic node is a deterministic transformation — anything that isn't a Dataset, Model, or Custom node.
Inputs / Outputs
Vary by logic. Common shapes:
- Transforms (
resize,tokenize,normalize) — one input, one output, same type family. - Aggregations (
group_by,sum) — one table input, one table output. - Joins / merges — two inputs, one output.
- Splits — one input, multiple outputs.
- Metrics (
top1_accuracy,perplexity) — typically two inputs (predictions, labels), one float output.
Config
Determined by the specific Logic. Browse the Logic catalog inside the editor (+ Node → Logic → Browse) for the full list.
Custom
A Custom node is a user-defined Python plugin. See Extend with Plugins for how to write one.
Inputs / Outputs
Declared by the plugin author via Port declarations.
Config
Declared by the plugin author via the config dict. Connectify generates the right widget per type.
Common fields on every node
Regardless of type, every node carries:
id— unique identifier (auto-generated).label— display name (editable).name— slug, stable across renames.x,y— canvas position.color— accent color in the node header.collapsed— whether the node is rendered as a compact tile.tags— free-form labels for filtering.notes— Markdown description shown in the Inspector and tooltips.