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

## Parameters

| name | type | default | description |
|---|---|---|---|
| `target` | `str \| Entity \| Step` | — | an entity name, an `Entity`, or a wired step / list of steps |
| `resume` | `bool` | `True` | reuse cached step outputs whose parameters are unchanged |
| `from_step` | `str \| None` | `None` | class name of the step to force recomputation from |

## Example

```python
from lsdtools import Engine

Engine().run(top(numbers(count=6), limit=3)).print()
```

Force a recompute from one step onward:

```python
engine.run("sales", from_step="Normalize")   # rerun Normalize and everything after it
```

## Notes

The return type depends on `target`. A **wired step or list of steps** returns a friendly
[`RunResult`](/docs/api-runresult) whose `.output` is a [`Table`](/docs/api-table); an **entity name
or `Entity`** returns the low-level `PipelineResult`. `resume=True` (the default) reuses cached
outputs; `from_step` names a step **class** and reruns it and everything downstream.

## See also

**API:** [run_all](/docs/api-engine-run-all) · [plan](/docs/api-engine-plan) · [diff](/docs/api-engine-diff) · [RunResult](/docs/api-runresult)

**Guides:** [Your first tool](/docs/ex-hello-tool)
