***

layout: overview
slug: nemo-curator/nemo\_curator/backends/xenna/executor
title: nemo\_curator.backends.xenna.executor
--------------------------------------------

## Module Contents

### Classes

| Name                                                                   | Description                                      |
| ---------------------------------------------------------------------- | ------------------------------------------------ |
| [`XennaExecutor`](#nemo_curator-backends-xenna-executor-XennaExecutor) | Executor that runs pipelines using Cosmos-Xenna. |

### API

<Anchor id="nemo_curator-backends-xenna-executor-XennaExecutor">
  <CodeBlock showLineNumbers={false} wordWrap={true}>
    ```python
    class nemo_curator.backends.xenna.executor.XennaExecutor(
        config: dict[str, typing.Any] | None = None,
        ignore_head_node: bool = False
    )
    ```
  </CodeBlock>
</Anchor>

<Indent>
  **Bases:** [BaseExecutor](/nemo-curator/nemo_curator/backends/base#nemo_curator-backends-base-BaseExecutor)

  Executor that runs pipelines using Cosmos-Xenna.
  This executor provides integration between the nemo-curator pipeline framework
  and the Cosmos-Xenna execution engine for distributed processing.

  <ParamField path="_default_pipeline_config" />

  <Anchor id="nemo_curator-backends-xenna-executor-XennaExecutor-_get_pipeline_config">
    <CodeBlock showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.backends.xenna.executor.XennaExecutor._get_pipeline_config(
          key: str
      ) -> typing.Any
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Get configuration value with fallback to defaults.
  </Indent>

  <Anchor id="nemo_curator-backends-xenna-executor-XennaExecutor-execute">
    <CodeBlock links={{"nemo_curator.stages.base.ProcessingStage":"/nemo-curator/nemo_curator/stages/base#nemo_curator-stages-base-ProcessingStage","nemo_curator.tasks.Task":"/nemo-curator/nemo_curator/tasks/tasks#nemo_curator-tasks-tasks-Task"}} showLineNumbers={false} wordWrap={true}>
      ```python
      nemo_curator.backends.xenna.executor.XennaExecutor.execute(
          stages: list[nemo_curator.stages.base.ProcessingStage],
          initial_tasks: list[nemo_curator.tasks.Task] | None = None
      ) -> list[nemo_curator.tasks.Task]
      ```
    </CodeBlock>
  </Anchor>

  <Indent>
    Execute the pipeline using Cosmos-Xenna.

    **Parameters:**

    <ParamField path="stages" type="list[ProcessingStage]">
      The stages to run
    </ParamField>

    <ParamField path="initial_tasks" type="list[Task]" default="None">
      The initial tasks to run. Empty list of Task is used if not provided.
    </ParamField>

    **Returns:** `list[Task]`

    list\[Task]: List of output tasks from the pipeline
  </Indent>
</Indent>
