All docs
Run your first pipeline
Build a Load · Shape · Deliver pipeline on the LSD canvas with no code — add nodes, wire them, run, and watch caching skip the work that didn't change.
A pipeline is a graph of nodes, each doing one step: load data, shape it, deliver a result. Let's build one on the canvas — no Python required.
1. Open a project#
Launch the desktop app and create a new project. The canvas is empty; the add-node palette (the
+ on the canvas, or right-click) lists every step from the packages that are active.
2. Add a Load node#
Open the palette and pick a load step — for example a "Load CSV" or "Load file" node. It appears on the canvas with a form on the right (its parameters) and an output port on its edge. Point it at a data file.
3. Add a Shape node and wire it#
Add a shape step (a filter, a sort, a transform). Drag from the load node's output port to the shape node's input port — that wire means "feed this table in." Edit the shape node's parameters in its form.
4. Add a Deliver node#
Add a deliver step (write a CSV, export, render). Wire the shape node's output into it. Deliver nodes produce a side effect — a file, an export, a view — rather than another table.
5. Run#
Press Run. LSD executes the graph in order (Load → Shape → Deliver) and each node turns green as it finishes. Every output is cached on disk.
6. Change a parameter#
Edit one parameter and Run again. Only the nodes downstream of the change recompute — everything whose inputs and parameters are unchanged is served from cache. This is what makes big pipelines fast to iterate.
What you built#
You assembled a real pipeline visually. Behind the canvas is the same engine you can drive from Python — and the nodes you used are just decorated Python functions. Ready to make your own?
Related#
Learn — Write your first tool · The Package Manager
Examples — Your first tool · Clean a CSV
Frequently asked questions
Do I need to write Python for this?
No. Every node in this walkthrough comes from the step palette. You only write Python when you want a custom node — see "Write your first tool".
What does "cached" mean here?
Each node stores its output on disk keyed by its parameters and inputs. Re-running skips a node whose inputs and parameters are unchanged, so big pipelines re-run fast.