# Microsoft Agent Framework Python Samples

> Python Samples

- Skill: `tomevault-io/microsoft-agent-framework-python-samples` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/microsoft-agent-framework-python-samples`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/microsoft-agent-framework-python-samples/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/microsoft-agent-framework-python-samples

---


# Python Samples

## File Structure

Every sample file follows this order:

1. PEP 723 inline script metadata (if external dependencies needed)
2. Copyright header: `# Copyright (c) Microsoft. All rights reserved.`
3. Required imports
4. Module docstring: `"""This sample demonstrates..."""`
5. Helper functions
6. Main function(s) demonstrating functionality
7. Entry point: `if __name__ == "__main__": asyncio.run(main())`

## External Dependencies

Use [PEP 723](https://peps.python.org/pep-0723/) inline script metadata for
external packages not in the dev environment:

```python
# /// script
# requires-python = ">=3.10"
# dependencies = [
#     "some-external-package",
# ]
# ///
# Run with: uv run samples/path/to/script.py

# Copyright (c) Microsoft. All rights reserved.
```

Do **not** add sample-only dependencies to the root `pyproject.toml` dev group.

## Syntax Checking

```bash
# Format + lint samples
uv run poe syntax -S

# Check samples for syntax errors and missing imports
uv run poe pyright -S

# Lint samples only
uv run poe syntax -S -C
```

## Documentation

Samples should be over-documented:

1. Include a README.md in each set of samples
2. Add a summary docstring under imports explaining the purpose and key components
3. Mark code sections with numbered comments:
   ```python
   # 1. Create the client instance.
   ...
   # 2. Create the agent with the client.
   ...
   ```
4. Include expected output at the end of the file:
   ```python
   """
   Sample output:
   User:> Why is the sky blue?
   Assistant:> The sky is blue due to Rayleigh scattering...
   """
   ```

## Guidelines

- **Incremental complexity** — start simple, build up (step1, step2, ...)
- **Getting started naming**: `step<number>_<name>.py`
- When modifying samples, update associated README files

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/microsoft) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

