All docs
Install LSD
Install the public SDK for Python authoring, use Hub to manage exact Desktop runtimes, and add the separate CLI when needed.
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:
python -m pip install lsdtools
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:
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:
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#
- Run your first pipeline on the canvas.
- Write your first tool in Python.
Related#
Learn — Develop a package
API — CLI 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.