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/ API Reference/ PackageManager/ load_project_scripts
PackageManager· method

PackageManager.load_project_scripts

load or reload loose .py step files beside a project

Python
load_project_scripts(project_dir: Any, bus: Any = None) -> ReloadResult

Returns ReloadResult — the added / removed / kept class names

Parameters#

name type default description
project_dir str | Path the project folder whose loose *.py files hold steps
bus EventBus None optional desktop event bus; a file's register(bus) is called if present

Example#

Python
from lsdtools.advanced import PackageManager

pm = PackageManager()
pm.load_project_scripts("~/projects/site-survey")

Notes#

The zero-config on-ramp: drop a steps.py (or any top-level *.py, or files under a scripts/ subdir) beside your project and its @load / @shape / @deliver or class-based steps register automatically — no manifest needed. Dunder/hidden files (__init__, _helpers) are skipped. Call it again after an edit to hot-reload: deleted classes are unregistered, edited ones pick up the new code, new ones appear — the returned ReloadResult reports the diff.

See also#

API: reload · add_local · load

Guides: Develop a package · Package anatomy

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