All docs
Docs/ Start/ Install LSD
Start

Install LSD

Install the public SDK for Python authoring, use Hub to manage exact Desktop runtimes, and add the separate CLI when needed.

TL;DRInstall lsdtools in your authoring environment. On Windows, LSD Hub manages Desktop runtimes and machine package inventory. The lsd command belongs to the separate lsd-cli distribution. Source profiles cannot switch an installed runtime away from its authenticated server target.

Use the Python SDK to write tools and run supported headless pipelines. Use LSD Hub to manage the installed Windows product and launch projects in their exact Desktop runtime.

The SDK#

Install the authoring library in your project environment:

bash
python -m pip install lsdtools
Python
from lsdtools import Tool, Engine
# ... define a tool, wire steps, Engine().run(...)

Import package-authoring APIs from lsdtools and its supported facades. Declared extension helpers live in lsdtools.extend; lsd.* remains private implementation. The current public API contract is lsdtools.API_VERSION == "1.0". It is distinct from the Python distribution version and the selected Desktop runtime version.

Install the dependencies needed by your particular tool in its authoring environment. The SDK alone does not supply every optional scientific service or native UI dependency.

The desktop app#

Download the Windows installer from lsd.tools/get. It installs the native Hub launcher. Hub obtains authenticated Desktop runtimes and their pinned shared Base, then selects the runtime required by a project's saved pin. The installer itself contains no Python.

Hub owns machine package discovery, installation, updates, downgrades and removal. Once a package is available, Desktop's Settings → Project Packages controls its activation in the open project. See The Package Manager.

Opening a .lsd file is data-only. Neighboring Python runs only after the human uses Enable project code… and reviews an immutable Run Once snapshot or trusted live-folder development. See Develop a package.

The CLI#

The lsd command belongs to the separate lsd-cli distribution. Installing lsdtools does not itself install that console command. Add the CLI to your development environment when needed:

bash
python -m pip install lsd-cli
lsd --help
lsd api describe --json

A product source checkout can invoke the same CLI with python -m lsd_cli. Installed Desktop runtimes contain their own LSDCli.exe; exact runtime selection and project launch belong to Hub. The retired find_runtime and Runtime SDK helpers are not supported ways to search for or launch an installed interpreter. See the runtime migration note and CLI guide.

Pointing at a backend (profiles)#

A source runtime can select a named backend profile. Inspect the effective selection:

powershell
lsd profile list
lsd profile show
$env:LSD_PROFILE = 'local'
lsd profile show

The built-ins are prod (https://lsd.tools) and local (http://127.0.0.1:8080). Source selection uses LSD_PROFILE, then the saved default in ~/.lsd/profiles.json, then prod. A direct source URL override can take precedence; profile show reports the effective backend.

An installed runtime is locked to its build-authenticated development or production server identity. It ignores source profile and URL selectors and refuses profile changes. Profiles do not select a Desktop version or a default package set.

Next#

LearnDevelop a package

APICLI commands · lsdtools reference

Frequently asked questions

Do I need Desktop to write a tool?

No. lsdtools supports Python authoring and headless engine use with the dependencies needed by your code. Desktop adds the visual project workspace and views.

Which Python version does the SDK require?

lsdtools declares Python 3.10 or newer. Optional services can have additional platform or dependency requirements. Hub selects the packaged Desktop runtime independently of your authoring interpreter.

By LSD Team · Last updated Sep 09, 2026 Ask a question View as Markdown
Type to search every doc, guide, and tutorial.
↑↓ navigate openesc close