Skip to main content

Core Concepts

The vocabulary used throughout these docs. Each concept has one name, and this page defines it.

The three components​

TermMeaning
StudioThe app where you design workflows. It never reads your data itself.
ServerThe service that executes workflows and returns previews. It does all data processing.
HubThe optional team platform that manages users, shared connections, schedules and audit logs.

Workflows, tools, wires and sockets​

A workflow is a graph of tools joined by wires. Data moves along the wires from left to right. The graph cannot contain loops.

  • A tool does one job: read a file, filter rows, join two datasets, and so on.
  • A socket is a connection point on a tool. Inputs are on the left and outputs are on the right.
  • A wire joins one output socket to one input socket.

Some tools have several sockets, and Studio labels them:

LabelMeaningTool
T, FRows where the condition is true or falseFilter
U, DUnique rows and duplicate rowsUnique
L, RLeft and right inputsJoin
L, J, RUnmatched left rows, joined rows, unmatched right rowsJoin
MAccepts many wires on one inputConcatenate

An output can feed many inputs. An input takes one wire unless it is marked M.

Workflows are saved as .swwf files. A .swwf file is JSON, so you can diff it and keep it in Git.

Tool names​

Studio's palette uses short names. Workflow files, exported code, the API and the AI assistant use the tool's type name. This documentation uses the palette name and gives the type name on each tool page.

Palette nameType namePalette category
ReadInputConnect
WriteOutputConnect
FilterFilterCompute
SchemaSelectCompute
SortSortCompute
CalculateFormulaCompute
SampleSampleCompute
UniqueUniqueCompute
ConcatenateUnionCombine
JoinJoinCombine
AggregateSummarizeReshape
PivotPivotReshape
UnpivotUnpivotReshape

Lazy evaluation and blocking tools​

Loom builds on Polars' lazy engine. Adding tools to a workflow does not run anything. The Server assembles a query plan and Polars optimizes it, so it can skip columns you do not use and stream data instead of loading it all.

Some operations cannot stream, because they must see every row before they can output one. Studio marks these with a warning triangle on the tool. Examples are Sort, Join, Aggregate and Pivot. The Server caches their results so that editing a tool downstream of them stays fast. See Performance and Caching.

You can turn the triangles off in Settings > Appearance.

Preview, profile and run​

ActionHowWhat it does
PreviewClick a socketRuns the tools upstream of that socket and shows the first rows.
ProfileRight-click a socket, then Profile DataComputes column statistics and data-quality checks over the full data.
Preview AllHeader button or Ctrl+PEvaluates the workflow for previews, skipping Write tools.
RunHeader button or F5Runs the whole workflow, including Write tools.

Expressions​

Filter and Calculate can take Polars expressions such as pl.col("price") * 1.1. Both tools have a visual Basic mode that covers most needs, and a Custom mode for expressions. See Expressions.

Connections​

A connection stores how to reach a database. There are three kinds:

KindStored inManaged byCredentials visible to you
ClientYour machine, in the operating system's credential storeYouYes, you entered them
HubHub, encryptedAn administratorNo
ServerThe Server's own encrypted storeA Server administratorNo

Studio's Connection Manager creates client connections. Hub connections appear when you are logged in to Hub. Workflows store only a connection ID, never credentials. See Managing Connections.

Execution modes​

The execution mode decides which Server runs your workflow. Change it in Settings > Execution.

ModeWhere the work happensTypical use
BundledA Server that ships inside the Full desktop app.One person, one machine. Default.
ExternalA Server you run and address by URL.Your own or a shared Server.
HubA Server that Hub selects, after you log in to Hub.Teams. See Using Hub.

Where to go next​