azure-functions-durable
Durable Functions For Python
What it is and what it does
Azure Functions Durable is an extension that transforms Azure Functions from stateless request handlers into a framework for building stateful workflows and long-running orchestrations. It abstracts away the complexity of managing state, checkpoints, and restarts across distributed function invocations, letting you write orchestrator functions and entity functions using familiar Azure Functions patterns. The package depends on azure-functions, aiohttp, requests, python-dateutil, furl, and OpenTelemetry libraries for observability.
Typically used to coordinate multi-step business processes—such as approval workflows, data processing pipelines, or saga-pattern transactions—where individual steps may fail and need to be retried, or where you need to maintain state across multiple function calls. The extension handles the bookkeeping so you focus on orchestration logic. Version 1.7.0 is production-stable; a ground-up rewrite (2.0.0 beta) is available but the 1.x line will receive security patches only after 2.0.0 is released.
Use it for:
- Coordinate multi-step approval workflows where each step is a separate function and state must persist across retries.
- Build data processing pipelines that transform large datasets through sequential stages, with automatic checkpointing.
- Implement saga-pattern distributed transactions across multiple services with compensating actions on failure.
- Create fan-out/fan-in patterns where one orchestrator spawns many parallel activities and waits for all to complete.
- Build stateful AI agent workflows backed by Durable Functions orchestration (preview integration with OpenAI Agent SDK).
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extends Azure Functions to support stateful, long-running workflows and orchestrations in serverless environments by managing state, checkpoints, and restarts automatically.
Yes, if you are building stateful workflows on Azure Functions and want automatic state and checkpoint management. The package is production-stable, actively maintained, and has low install friction. Be aware that version 2.0.0 is in beta and will eventually become the standard; version 1.7.0 will receive security patches only after that transition. Requires Azure Functions Core Tools 3.0.2630+ and Python 3.10 or later.
Install
azure-functions-durable on PyPI
pip
pip install azure-functions-durableuv
uv add azure-functions-durablepoetry
poetry add azure-functions-durableInstalling azure-functions-durable
Before you install
Low install friction; distributed as a pure Python wheel. Actively maintained with a release 15 days old and recent commits. Supports Python 3.10 through 3.14.
License in practice
MIT license (permissive); you can use, modify, and distribute this package with minimal restrictions, provided you include the license notice.
Quickstart
pip install azure-functions-durable
from azure.durable_functions import orchestrator_function, DurableOrchestrationClient
@orchestrator_function
def my_orchestrator(context):
result = yield context.call_activity('my_activity', 'input')
return result
Requires Azure Functions Core Tools version 3.0.2630 or higher; designed to run within Azure Functions runtime, not as a standalone library.
Verify before relying
- Whether version 1.7.0 is recommended for new projects or if migration to the 2.0.0 beta is advised.
- Specific performance characteristics or limits on workflow complexity or execution duration.
- Whether the OpenAI Agent SDK integration (mentioned as preview) is production-ready or experimental.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — azure-functions, aiohttp, requests, python-dateutil, furl, opentelemetry-api, opentelemetry-sdk |
| Maintenance | actively maintained — 15 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 973,426/month — #4,604 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: azure_functions_durable-1.7.0-py3-none-any.whl
Keywords: azure, functions, azurefunctions, python, serverless, workflows, durablefunctions
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
aws-durable-execution-sdk-pythonBuilds long-running AWS Lambda workflows with…
permissive · top 15,000 on PyPI
azure-functionsProvides Python bindings and decorators for…
permissive · top 5,000 on PyPI
durabletask.azuremanagedProvides a Python provider implementation for…
permissive · top 15,000 on PyPI
restate-sdkRestate SDK provides a Python interface for…
unclear · top 15,000 on PyPI
agent-framework-azurefunctionsHosts Microsoft Agent Framework agents on Azure…
permissive · top 15,000 on PyPI
durabletaskDurabletask is a Python SDK for building…
permissive · top 15,000 on PyPI
agent-framework-durabletaskIntegrates Microsoft Agent Framework agents…
permissive · top 15,000 on PyPI
inngestInngest adds durable, event-driven background…
unclear · top 5,000 on PyPI
dbosDBOS adds durable workflows and queues to…
permissive · top 5,000 on PyPI
agent-framework-foundry-hostingIntegrates Agent Framework agents and workflows…
permissive · top 15,000 on PyPI