All docs
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