All docs
PackageManager.reload
hot-reload a directory package to pick up code edits
reload(name: str, bus: Any = None) -> ReloadResult
Returns ReloadResult — the added / removed / kept class names
Parameters#
| name | type | default | description |
|---|---|---|---|
name |
str |
— | the loaded directory package to reload |
bus |
EventBus |
None |
optional desktop event bus for re-wiring contributions |
Example#
from lsdtools.advanced import PackageManager
pm = PackageManager()
result = pm.reload("my-pkg")
print(result.added, result.removed, result.kept)
Notes#
The authoring loop: edit a step's source, call reload(name), and the registry reflects the new code
immediately. Classes deleted from the source are unregistered, edited classes pick up the new code
(the per-step code fingerprint forces a rerun), and new classes appear. It finds the package on the
search paths or installed record and delegates to
reload_path. Sealed and pip packages are not
directory-reloadable — for those this is a no-op returning an empty ReloadResult. The returned
ReloadResult carries added, removed, and kept class-name lists.
See also#
API: reload_path · load_project_scripts · add_local
Guides: Develop a package · A complete package