Sandbox — LSD is in active testing. All systems operational·payments are test-mode (no real charges).
Overview Use Cases News Docs Tool Store Support Community Get LSD
All docs
Docs/ Start/ What is LSD?
Start

What is LSD?

LSD turns Python functions into cached, inspectable pipeline nodes you assemble on a visual canvas — author with lsdtools, run anywhere.

TL;DRLSD is a data-pipeline platform. You write a plain Python function, decorate it with lsdtools, and it appears on the canvas as a live, cached node with an auto-generated form. Pipelines run in the desktop app, in a script, or headlessly in CI — all on the same engine.

The idea#

LSD is a data-pipeline platform. A pipeline is a graph of nodes; each node is one step — load some data, shape it, or deliver a result. You build pipelines two ways, on the same engine:

  • Visually — drag nodes onto the canvas, wire them together, edit parameters in forms.
  • In Python — write a function, decorate it, and it becomes a node.

The bridge between the two is lsdtools: decorate a function and it shows up on the canvas with a generated form, live caching, and an inspector — no UI code required.

Python
from lsdtools import Tool, Table

tool = Tool("scores")

@tool.shape
def top_scores(t: Table, limit: int = 10) -> Table:
    """Keep the highest-scoring rows."""
    return t.sort("score", descending=True).head(limit)

That's a real node. t: Table is an input port you wire from an upstream node; limit: int is a parameter that renders as a number field. Run it and the result is cached — change a parameter and only what depends on it recomputes.

The two-layer rule#

There is exactly one rule to remember:

Import only lsdtools. Everything under lsd.* is private engine internals.

lsdtools is small (about twenty names) and stable. Staying on it means your tool keeps working across releases — and lsd package lint will tell you if you stray.

Where LSD runs#

The same pipeline runs in three places, unchanged:

Where What it adds
Desktop app Node-graph canvas, parameter forms, 3D viewer, the Package Manager
A Python script Engine().run(...) — automate or embed a pipeline anywhere
CI / headless The lsd CLI runs projects with no display

Start here#

  1. Install LSD — the SDK and the desktop app.
  2. Run your first pipeline — on the canvas, no code.
  3. Write your first tool — ten lines, live on the canvas.
  4. Where to next — the map of these docs.

LearnBuild a tool · Packages

APIlsdtools reference · Tool · Table

Frequently asked questions

Do I have to write Python to use LSD?

No. You can assemble pipelines from the step palette and edit parameters in forms. You write Python only when you want a custom node — and then it is one decorated function.

What is the difference between lsd and lsdtools?

lsdtools is the small, stable public API you author against. lsd is the engine and internals — private. The one rule is "import only lsdtools"; lsd package lint enforces it.

By LSD Team · Last updated Jul 17, 2026 Ask on Discord View as Markdown