Skip to content

Latest commit

 

History

History
103 lines (70 loc) · 4.53 KB

File metadata and controls

103 lines (70 loc) · 4.53 KB

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.

Quick Prerequisites Checklist

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 login for AzureCliCredential

Windows (PowerShell):

winget install Microsoft.Azure.FunctionsCoreTools
npm install -g azurite
irm https://astral.sh/uv/install.ps1 | iex
winget install Microsoft.AzureCLI

macOS:

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-cli

Linux:

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-cli

Verify:

func --version
azurite --version
uv --version
az account show

Start Azurite in a separate terminal before func start:

azurite

Environment Setup

1. Install dependencies and create appropriate services

2. Create and activate a virtual environment

Using uv (recommended):

Windows (PowerShell):

uv venv .venv
.venv\Scripts\Activate.ps1

Linux/macOS:

uv venv .venv
source .venv/bin/activate

Note: python -m venv .venv also works, but can hang indefinitely on Windows with Microsoft Store Python due to a known ensurepip issue. Use uv venv .venv to avoid this.

3. Running the samples

  • Start the Azurite emulator

  • 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.template to local.settings.json, then update FOUNDRY_PROJECT_ENDPOINT and FOUNDRY_MODEL. The samples use AzureCliCredential, so ensure you're logged in via az login.

      • Keep TASKHUB_NAME set to default unless you plan to change the durable task hub name.
    • Run the command func start from the root of the sample

    • Follow each sample's README for scenario-specific steps, and use its demo.http file (or provided curl examples) to trigger the hosted HTTP endpoints.