Files
awesome-copilot/cookbook/copilot-sdk/python/recipe
Anthony Shaw 1074e34682 Add SDK features to all Ralph loop recipes
- Add WorkingDirectory/working_directory to pin sessions to project root
- Add OnPermissionRequest/on_permission_request for unattended operation
- Add tool execution event logging for visibility
- Add See Also cross-links to error-handling and persisting-sessions
- Add best practices for WorkingDirectory and permission auto-approval
- Consistent across all 4 languages (Node.js, Python, .NET, Go)
2026-02-11 11:56:11 -08:00
..

Runnable Recipe Examples

This folder contains standalone, executable Python examples for each cookbook recipe. Each file can be run directly as a Python script.

Prerequisites

  • Python 3.8 or later
  • Install dependencies (this installs the SDK from PyPI):
pip install -r requirements.txt

Running Examples

Each .py file is a complete, runnable program with executable permissions:

python <filename>.py
# or on Unix-like systems:
./<filename>.py

Available Recipes

Recipe Command Description
Error Handling python error_handling.py Demonstrates error handling patterns
Multiple Sessions python multiple_sessions.py Manages multiple independent conversations
Managing Local Files python managing_local_files.py Organizes files using AI grouping
PR Visualization python pr_visualization.py Generates PR age charts
Persisting Sessions python persisting_sessions.py Save and resume sessions across restarts

Examples with Arguments

PR Visualization with specific repo:

python pr_visualization.py --repo github/copilot-sdk

Managing Local Files (edit the file to change target folder):

# Edit the target_folder variable in managing_local_files.py first
python managing_local_files.py

Local SDK Development

The requirements.txt installs the Copilot SDK package from PyPI. This means:

  • You get the latest stable release of the SDK
  • No need to build from source
  • Perfect for using the SDK in your projects

If you want to use a local development version, edit requirements.txt to use -e ../.. for editable mode development.

Python Best Practices

These examples follow Python conventions:

  • PEP 8 naming (snake_case for functions and variables)
  • Shebang line for direct execution
  • Proper exception handling
  • Type hints where appropriate
  • Standard library usage

For isolated development:

# Create virtual environment
python -m venv venv

# Activate it
# Windows:
venv\Scripts\activate
# Unix/macOS:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Learning Resources