Skip to content

Latest commit

 

History

History
126 lines (91 loc) · 5.58 KB

File metadata and controls

126 lines (91 loc) · 5.58 KB
title Durable Task SDKs overview
description Learn about the portable Durable Task SDKs for .NET, Python, Java, and JavaScript/TypeScript. Build durable orchestrations on any compute platform.
author hhunter-ms
ms.author hannahhunter
ms.reviewer azfuncdf
ms.date 02/27/2026
ms.topic get-started
ms.service durable-task
ms.subservice durable-task-sdks

Durable Task SDKs overview

The Durable Task SDKs are portable, open-source libraries for building durable orchestrations, activities, and entities using ordinary code. They work on any compute platform—Azure Container Apps, Kubernetes, or VMs. Each SDK connects to the Durable Task Scheduler as its managed backend.

Tip

Not sure whether to use the Durable Task SDKs or Durable Functions? See Choose your orchestration framework. For a broader overview of the Durable Task ecosystem, see What is Durable Task?.

Available SDKs

The following table summarizes the available Durable Task SDKs, their packages, and where to find source code and samples.

Language Packages Status Source Samples
.NET Microsoft.DurableTask.Worker.AzureManaged
Microsoft.DurableTask.Client.AzureManaged
GA durabletask-dotnet .NET samples
Python durabletask-azuremanaged GA durabletask-python Python samples
Java durabletask-client
durabletask-azure-managed
GA durabletask-java Java samples
JavaScript / TypeScript @microsoft/durabletask-js
@microsoft/durabletask-js-azuremanaged
Preview durabletask-js JS samples

Installation

Each SDK ships two packages:

  • A worker package for defining orchestrations and activities
  • A client package for scheduling and managing orchestration instances.

Install both packages to get started.

dotnet add package Microsoft.DurableTask.Worker.AzureManaged
dotnet add package Microsoft.DurableTask.Client.AzureManaged

The .NET SDK works with any .NET hosting model: ASP.NET Core, console apps, or worker services. It supports type-safe orchestration and activity definitions with source generators, and integrates with dependency injection.

pip install durabletask-azuremanaged

The Python SDK works with any Python 3.9+ hosting. It supports generator-based orchestrations and async or await.

<dependency>
    <groupId>com.microsoft</groupId>
    <artifactId>durabletask-client</artifactId>
    <version>1.7.0</version>
</dependency>
<dependency>
    <groupId>com.microsoft</groupId>
    <artifactId>durabletask-azure-managed</artifactId>
    <version>1.7.0</version>
</dependency>

The Java SDK works with any Java 8+ hosting, including Spring Boot applications.

npm install @microsoft/durabletask-js @microsoft/durabletask-js-azuremanaged

The JavaScript or TypeScript SDK requires Node.js 22 or higher. It supports generator-based orchestrations and durable entities.

Note

The JavaScript or TypeScript SDK is currently in preview. It isn't compatible with the Azure Durable Functions JavaScript SDK (durable-functions).


Get started

All SDKs follow the same pattern:

  1. Install the worker and client packages for your language. See Installation.

  2. Start the emulator for local development using Docker:

    docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest
  3. Define orchestrations and activities in your application code.

  4. Start a worker to process orchestration and activity work items.

  5. Use the client to schedule new orchestration instances and query their status.

For a walkthrough with working code, see Quickstart: Create an app with Durable Task SDKs.

Feature comparison

The following table shows the features each SDK supports.

Feature .NET Python Java JavaScript
Orchestrations
Activities
Sub-orchestrations
Durable timers
External events
Durable entities
Retry policies
Continue-as-new
Suspend/Resume

Next steps

[!div class="nextstepaction"] Quickstart: Create an app with Durable Task SDKs