These are common instructions for setting up your environment for every sample in this directory. These samples illustrate the Durable extensibility for Agent Framework running in Azure Functions.
All of these samples are set up to run in Azure Functions. Azure Functions has a local development tool called CoreTools which we will set up to run these samples locally.
Install and verify these tools before Environment Setup:
- Azure Functions Core Tools – run samples locally with
func start - Azurite – local storage emulator; must be running before
func start - uv – create virtual environments (recommended, especially on Windows)
- Azure CLI – authenticate with
az loginforAzureCliCredential
Windows (PowerShell):
winget install Microsoft.Azure.FunctionsCoreTools
npm install -g azurite
irm https://astral.sh/uv/install.ps1 | iex
winget install Microsoft.AzureCLImacOS:
brew tap azure/functions
brew install azure-functions-core-tools@4
npm install -g azurite
curl -LsSf https://astral.sh/uv/install.sh | sh
# Azure CLI: https://learn.microsoft.com/cli/azure/install-azure-cliLinux:
npm install -g azure-functions-core-tools@4 --unsafe-perm true
npm install -g azurite
curl -LsSf https://astral.sh/uv/install.sh | sh
# Azure CLI: https://learn.microsoft.com/cli/azure/install-azure-cliVerify:
func --version
azurite --version
uv --version
az account showStart Azurite in a separate terminal before func start:
azurite-
Install Azure Functions Core Tools 4.x
-
Install Azurite storage emulator
-
Create an Azure AI Foundry project with an OpenAI model deployment. Note the Foundry project endpoint and deployment name, and ensure you can authenticate with
AzureCliCredential. -
Install a tool to execute HTTP calls, for example the REST Client extension
-
[Optionally] Create an Azure Function Python app to later deploy your app to Azure if you so desire.
Using uv (recommended):
Windows (PowerShell):
uv venv .venv
.venv\Scripts\Activate.ps1Linux/macOS:
uv venv .venv
source .venv/bin/activateNote:
python -m venv .venvalso works, but can hang indefinitely on Windows with Microsoft Store Python due to a knownensurepipissue. Useuv venv .venvto avoid this.
-
Inside each sample:
-
Install Python dependencies – from the sample directory, run
pip install -r requirements.txt(or the equivalent in your active virtual environment). -
Copy
local.settings.json.templatetolocal.settings.json, then updateFOUNDRY_PROJECT_ENDPOINTandFOUNDRY_MODEL. The samples useAzureCliCredential, so ensure you're logged in viaaz login.- Keep
TASKHUB_NAMEset todefaultunless you plan to change the durable task hub name.
- Keep
-
Run the command
func startfrom the root of the sample -
Follow each sample's README for scenario-specific steps, and use its
demo.httpfile (or provided curl examples) to trigger the hosted HTTP endpoints.
-