All docs
API Reference
PackageManager
PackageManager is the desktop-side API behind the Package Manager — list, install, enable, disable, and inspect packages. Reference for every method.
PackageManager is the desktop-side API behind the Package Manager UI and the
lsd CLI — the one object that discovers, installs, enables, disables, reloads, and inspects
packages. Most users never construct it; the desktop and CLI call these methods for you. Reach it
from lsdtools.advanced when you need to script package flows.
Usage#
Python
from lsdtools.advanced import PackageManager
pm = PackageManager()
for info in pm.installed():
print(info.name, info.version)
# → every package installed for this user
Where to start#
Learn — The Package Manager · Develop a package · Dependencies · Plans & licensing
Examples — A complete package
API — lsd_package.json · CLI commands · lsdtools.advanced
Properties
- search_paths the package search directories, in priority order
Methods
- add_local register a package folder by reference (editable, no copy)
- available list every loadable package, merged by name
- blocked report packages found but not loaded, with the reason
- dependency_report check a package's declared dependencies against what's installed
- dependents_of list installed packages that depend on a given package
- disable disable a package and drop its live contributions now
- enable enable a package so it loads on the next launch
- install install a package from a local directory, .zip, or .lsdpkg
- install_url install a package from an http(s) archive or GitHub repo url
- installed list the packages recorded as installed for this user
- license_of lease terms for one loaded paid package, or none
- licenses lease terms for every loaded paid package
- load load only the named packages into the running host
- load_all load every discoverable package into the running host
- load_project_scripts load or reload loose .py step files beside a project
- loaded_names names of the packages loaded into the registry this session
- reload hot-reload a directory package to pick up code edits
- reload_path hot-reload the directory package at a given path in place
- remove uninstall a package by name
By LSD Team · Last updated Jul 17, 2026
Ask on Discord
View as Markdown