# Engine.load
URL: https://lsd.tools/docs/api-engine-load
Updated: 2026-07-17

## Parameters

| name | type | default | description |
|---|---|---|---|
| `path` | `str` | — | the `.lsd` file (or JSON) written by [`save`](/docs/api-engine-save) |
| `event_bus` | `EventBus \| None` | `None` | bus to attach; a fresh one is created when omitted |
| `workspace` | `str \| None` | `None` | override the stored workspace path |

## Example

```python
from lsdtools import Engine

engine = Engine.load("survey.lsd")
engine.run_all(resume=True)
```

## Notes

Loads the project's declared **packages first**, so every step/entity class is registered before
deserialization. Reattaches persisted step outputs, so cached results are reused without re-running.
The `workspace` override lets a host define a project by where its `.lsd` file lives (portable, and
sibling projects in one folder share input data).

## See also

**API:** [save](/docs/api-engine-save) · [ephemeral](/docs/api-engine-ephemeral) · [run_all](/docs/api-engine-run-all)
