Skip to content

Python: Add Donkey Development Kit to the Python community projects - #10086

Merged
Eduard van Valkenburg (eavanvalkenburg) merged 1 commit into
microsoft:mainfrom
tommasobolis:docs/community-donkey-kit
Nov 4, 2026
Merged

Eduard van Valkenburg (eavanvalkenburg) merged 1 commit into
microsoft:mainfrom
tommasobolis:docs/community-donkey-kit

Conversation

@tommasobolis

Copy link
Copy Markdown

Motivation & Context

I maintain the Donkey Development Kit (DDK), so I'm affiliated with the project this row lists. DDK is an open-source Python SDK that puts agents under MuleSoft Agent Fabric governance: model calls go through an LLM proxy on MuleSoft Omni Gateway, which enforces policies such as PII detection, content safety and token budgets. This PR adds DDK's Agent Framework integration to the Middleware section of the Python catalog.

The integration is published for the Python SDK. donkey-kit 0.2.0 is on PyPI (pip install "donkey-kit[agent-framework]", pypi.org/project/donkey-kit), from a public Apache-2.0 repository at https://github.com/Donkey-Development-Kit/donkey-development-kit. The Agent Framework part works like this:

  • policy_middleware() returns a @chat_middleware for Agent(..., middleware=[...]). Both OpenAI chat clients wrap an openai error in a ChatClientException; the middleware sees through that wrapper and raises DDK's typed refusal instead (for example PIIDetected or TokenBudgetExceeded), so the run ends with a specific exception carrying the gateway's correlation id. The original exception is kept on .framework_error. Streaming runs are covered: the conversion is attached to each pull of the response stream.
  • chat_client() returns an OpenAIChatClient bound to the proxy, and per-call gateway data (served model, token usage) is readable after each call.

The row is listed for the middleware, not for the OpenAI-compatible client, since the catalog excludes plain OpenAI-compatible endpoints. The row links to DDK's Agent Framework docs page, and issues go to https://github.com/Donkey-Development-Kit/donkey-development-kit/issues/new/choose.

Description & Review Guide

  • What are the major changes? One row in the Middleware section of python/samples/community-projects.md, in alphabetical order between BotsRated and Tracekit.
  • What is the impact of these changes? Documentation only.
  • What do you want reviewers to focus on? The wording of the row. I'm happy to change it or move it.

Related Issue

N/A - trivial change: one catalog row in the format the catalog criteria define, no code.

AI Assistance

  • No material AI assistance was used.
  • This is an AI-assisted contribution. I reviewed, understood, and verified all submitted content and accept responsibility for it.

AI assistance details: an AI assistant drafted the catalog row and this description.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR links to an agreed issue with no competing open PR, or the Related Issue section documents a trivial-change or repository-automation exception.
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

🤖 Generated with Claude Code

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

A maintainer must confirm the missing required Markdown link-check workflow result before finalizing catalog eligibility, despite passing local checks.

No open issues 🎉

What changed in this PR

Adds Donkey Development Kit’s Python integration to the community-project catalog as middleware.

Changes:

  • Describes typed gateway policy refusals and per-call gateway data.
  • Links to integration documentation and the external issue-creation page.
  • Places the entry alphabetically between BotsRated and Tracekit.
File Description
python/​samples/​community-projects.md Adds the Donkey Development Kit row to the Middleware table; documentation only.

Review effort: Balanced

Merged via the queue into microsoft:main with commit 8533256 Nov 4, 2026
55 of 56 checks passed

This branch was previously deployed

1 inactive deployment
github-app-auth — bdb8cc27 Deployed Nov 4, 2026 by tommasobolis via team_check #8679
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs python Usage: [Issues, PRs], Target: Python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants