Files
agent-framework/python/samples/getting_started/azure_functions
T
Eduard van Valkenburg 390f93344c Python: Add samples syntax checking with pyright (#3710)
* Add samples syntax checking with pyright

- Add pyrightconfig.samples.json with relaxed type checking but import validation
- Add samples-syntax poe task to check samples for syntax and import errors
- Add samples-syntax to check and pre-commit-check tasks
- Fix 78 sample errors:
  - Update workflow builder imports to use agent_framework_orchestrations
  - Change content type isinstance checks to content.type comparisons
  - Use Content factory methods instead of removed content type classes
  - Fix TypedDict access patterns for Annotation
  - Fix various API mismatches (normalize_messages, ChatMessage.text, role)

* fixed a bunch of samples and tweaks to pre-commit

* updated lock

* updated lock

* fixes

* added lint to samples
390f93344c · 2026-02-07 07:10:47 +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

Windows (PowerShell):

python -m venv .venv
.venv\Scripts\Activate.ps1

Linux/macOS:

python -m venv .venv
source .venv/bin/activate

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 AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_CHAT_DEPLOYMENT_NAME for Azure OpenAI authentication. The samples use AzureCliCredential by default, so ensure you're logged in via az login.

      • Alternatively, you can use API key authentication by setting AZURE_OPENAI_API_KEY and updating the code to use AzureOpenAIChatClient() without the credential parameter.
      • 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.