> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open-metadata.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipeline Mixin

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/pipeline_mixin.py#L0")

# module `pipeline_mixin`

Mixin class containing Pipeline specific methods

To be used by OpenMetadata class

***

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/pipeline_mixin.py#L30")

## class `OMetaPipelineMixin`

OpenMetadata API methods related to the Pipeline Entity

To be inherited by OpenMetadata

***

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/pipeline_mixin.py#L39")

### method `add_pipeline_status`

```python theme={null}
add_pipeline_status(fqn: str, status: PipelineStatus) → Pipeline
```

Given a pipeline and a PipelineStatus, send it to the Pipeline Entity

***

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/pipeline_mixin.py#L51")

### method `add_task_to_pipeline`

```python theme={null}
add_task_to_pipeline(pipeline: Pipeline, *tasks: Task) → Pipeline
```

The background logic for this method is that during Airflow backend lineage, we compute one task at a time.

Let's generalise a bit the approach by preparing a method capable of updating a tuple of tasks from the client.

Latest changes leave all the task management to the client. Therefore, a Pipeline will only contain the tasks sent in each PUT from the client.

***

[<img src="https://img.shields.io/badge/-source-cccccc?style=flat-square" />](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/pipeline_mixin.py#L95")

### method `clean_pipeline_tasks`

```python theme={null}
clean_pipeline_tasks(pipeline: Pipeline, task_ids: List[str]) → Pipeline
```

Given a list of tasks, remove from the Pipeline Entity those that are not received as an input.

e.g., if a Pipeline has tasks A, B, C, but we only receive A & C, we will remove the task B from the entity

***
