# PackageManager.reload
URL: https://lsd.tools/docs/api-package-manager-reload
Updated: 2026-07-17

## 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

```python
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`](/docs/api-package-manager-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](/docs/api-package-manager-reload-path) · [load_project_scripts](/docs/api-package-manager-load-project-scripts) · [add_local](/docs/api-package-manager-add-local)

**Guides:** [Develop a package](/docs/pkg-develop) · [A complete package](/docs/ex-full-package)
