---
title: core
sidebarTitle: core
---

# `prefect.deployments.steps.core`



Core primitives for running Prefect deployment steps.

Deployment steps are YAML representations of Python functions along with their inputs.

Whenever a step is run, the following actions are taken:

- The step's inputs and block / variable references are resolved (see [the `prefect deploy` documentation](https://docs.prefect.io/v3/how-to-guides/deployments/prefect-yaml#templating-options) for more details)
- The step's function is imported; if it cannot be found, the `requires` keyword is used to install the necessary packages
- The step's function is called with the resolved inputs
- The step's output is returned and used to resolve inputs for subsequent steps


## Functions

### `run_step` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/deployments/steps/core.py#L108" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
run_step(step: dict[str, Any], upstream_outputs: dict[str, Any] | None = None) -> dict[str, Any]
```


Runs a step, returns the step's output.

Steps are assumed to be in the format `{"importable.func.name": {"kwarg1": "value1", ...}}`.

The 'id and 'requires' keywords are reserved for specific purposes and will be removed from the
inputs before passing to the step function:

This keyword is used to specify packages that should be installed before running the step.


### `run_steps` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/deployments/steps/core.py#L146" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
run_steps(steps: list[dict[str, Any]], upstream_outputs: dict[str, Any] | None = None, print_function: Any = print, deployment: Any | None = None, flow_run: Any | None = None, logger: Any | None = None) -> dict[str, Any]
```

## Classes

### `StepExecutionError` <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/deployments/steps/core.py#L43" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>


Raised when a step fails to execute.

