Files
agent-framework/python/samples/04-hosting/azure_functions
T
Evan Mattson 6582926af5 Python: docs(python/samples): recommend uv venv and document Windows ensurepip hang workaround (#5508)
* docs(samples): recommend uv venv to avoid Windows ensurepip hang

Replace bare 'python -m venv .venv' with 'uv venv .venv' as the
recommended approach in azure_functions and foundry-hosted-agents
READMEs. Add a note explaining that python -m venv can hang
indefinitely on Windows with Microsoft Store Python due to a known
ensurepip issue.

This matches the pattern already used in a2a/README.md which uses
uv run exclusively.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Python: docs(python/samples): recommend `uv venv` and document Windows ensurepip hang workaround

Fixes #5401

* fix: correct Windows venv activation commands in foundry-hosted-agents README (#5401)

Split the Windows activation section into separate PowerShell (.venv\Scripts\Activate.ps1)
and Command Prompt (.venv\Scripts\activate.bat) instructions, replacing the incorrect
extensionless `Activate` path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address review feedback for #5401: Python: [Samples][Python] `python -m venv` hangs on Windows โ€” READMEs should recommend uv or document workaround

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6582926af5 ยท 2026-05-04 04:46:17 +00:00
History
..

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.

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.