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
API Reference

Tool

Tool is the one object per package you decorate functions with to make LSD nodes, commands, and views. Reference for every decorator and method.

Tool is the single registration object in a package: you create one at module scope, then hang every node and contribution off its decorators. It only declares — it never runs — so importing a package's module makes its nodes appear in the graph while an Engine (or the desktop) executes the wired steps. A node's identity is f"{tool_name}.{fn_name}", which is what keeps two packages' same-named functions from colliding.

Usage#

Python
from lsdtools import Tool, Table

tool = Tool("hello", label="Hello")

@tool.load
def numbers(count: int = 5) -> Table:
    return Table({"n": list(range(count))})
# → a node "hello.numbers" in the palette, with a count field

Where to start#

LearnThe Tool object · Parameters vs ports · Load steps · Shape steps · Deliver steps · Commands & actions · Contributing UI

ExamplesYour first tool · A CLI command · A panel · A complete package

APIContext · Source · Table · UI overview · Advanced

Methods

Decorators

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