---
title: "ExecutionContext.progress"
description: "Create or return a progress indicator for the currently executing task."
image: "https://tilebox.com/images/tilebox-docs-social-preview.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://tilebox.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ExecutionContext.progress

import { Fragment } from "astro/jsx-runtime";

import ApiReference from "@docs/components/ApiReference.astro";

import ParamField from "@docs/components/ParamField.astro";

```python
def ExecutionContext.progress(label: str | None = None) -> ProgressUpdate
```

Create or return a progress indicator for the currently executing task.

Progress updates are attached to the task result and are visible in job execution state. Calling `progress` again with the same label returns the same progress indicator.

## Parameters

**label**

type: str | None

Optional label for the progress indicator. Empty strings are treated as `None`.

## Returns

A `ProgressUpdate` object for tracking total and completed work.

<h2 id="request-example">Usage example</h2>

```python
def execute(
    self, context: ExecutionContext
) -> None:
    progress = context.progress("download-scenes")
    progress.add(len(self.scenes))

    for scene in self.scenes:
        download(scene)
        progress.done(1)
```

Source: https://tilebox.com/docs/api-reference/python/tilebox.workflows/ExecutionContext.progress/index.mdx
