| 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 |
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?.
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.AzureManagedMicrosoft.DurableTask.Client.AzureManaged |
GA | durabletask-dotnet | .NET samples |
| Python | durabletask-azuremanaged |
GA | durabletask-python | Python samples |
| Java | durabletask-clientdurabletask-azure-managed |
GA | durabletask-java | Java samples |
| JavaScript / TypeScript | @microsoft/durabletask-js@microsoft/durabletask-js-azuremanaged |
Preview | durabletask-js | JS samples |
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.AzureManagedThe .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-azuremanagedThe 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-azuremanagedThe 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).
All SDKs follow the same pattern:
-
Install the worker and client packages for your language. See Installation.
-
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
-
Define orchestrations and activities in your application code.
-
Start a worker to process orchestration and activity work items.
-
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.
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 | ✅ | ✅ | ✅ | ✅ |
[!div class="nextstepaction"] Quickstart: Create an app with Durable Task SDKs