Releases: Donkey-Development-Kit/donkey-development-kit
Release list
v0.1.0 — Phase 1: Build the MVP
The first release of Donkey Development Kit (donkey-kit), completing Phase 1 — Build the MVP. The package is alpha (Development Status :: 3 - Alpha).
pip install "donkey-kit[llm,langgraph]"What's in 0.1.0
The wrapper is the skeleton: one shared transport (DonkeyAsyncClient) that every request enters and every response leaves, so the whole six-piece minimum attaches without per-call wiring.
- Governed model access.
donkey.llm.client()is the framework-free OpenAI-compatible client.Donkey.openai()returns a nativeopenai.AsyncOpenAI. Client-ID and JWT/Model Wallet auth modes are supported for the LLM proxy data plane. - Typed refusals.
classify()maps gateway rejections to a typed taxonomy (PIIDetected,PolicyViolation,AuthError,GatewayUnavailable, and others). EveryPolicyViolationcarries a non-empty remediation. Policy refusals are terminal, so the openai client's built-in retry never fires on them. - Budgets and pacing.
Budgetis parsed from the gateway's rate-limit headers, withpace(),wait_for_reset()andBudgetReserveReached. - Local gateway simulator.
donkey mockreplays real rejection fixtures and scripts PII, budget and injection scenarios. Every simulated response is marked with thex-donkey-simulatorheader. - Testing.
donkey.simulate()injects refusals in process. The customer-facing conformance pytest plugin runs aspytest --donkey-conformance --agent=...and is installed by thetestextra. - Telemetry. OTel GenAI spans at a pinned semconv version, plus a stable
donkey.*namespace, with zero-config OTLP export and a one-flag opt-out. Per-call and per-run correlation IDs come fromdonkey.run(), and cost-attribution tags are validated. Prompt and completion content is kept out of spans by default. - Framework support: one deep, seven shallow. The raw client and LangGraph are conformance-tested. Google ADK, Strands, Microsoft Agent Framework, OpenAI Agents SDK, Anthropic SDK, CrewAI and LlamaIndex are supported through
connection_kwargs(). - CLI.
donkey init,donkey doctoranddonkey mock. - Decorators.
@donkey.governedand@donkey.tool. - Gateway awareness.
last_callexposes gateway identity, the semantic-routing topic and score, semantic-cache hits, and cached and reasoning token counts.
Verification status (§0.3)
The LLM proxy data plane is live-verified: base URL shape, the client_id/client_secret header pair, streaming, the OAuth2 token path, and the documented rejection shapes. Amazon Bedrock Guardrails refusals were flipped to verified (live) in this cycle. Still blocked on verification: Exchange→MCP tool discovery and the provisioning control plane. These raise NotImplementedError("blocked on verification: …") rather than guessing. See docs/verified-apis.md for the full ledger.
Breaking changes / migration
This is the first published release, so there is no earlier donkey-kit on PyPI to upgrade from. If you integrated the pre-rebrand SDK from source, the move is a clean break: no import shims, env fallbacks, or OpenTelemetry dual-emit. OTel attributes moved from fabric.* to donkey.*. MIGRATION.md maps every renamed import, class, CLI, config key and environment variable.
Extras (§8.4)
There is one extra per framework (langgraph, adk, strands, agent_framework, openai-agents, anthropic, crewai, llamaindex), plus llm, mcp, a2a, otel, cli, local, test and all. All dependencies use >= floors only, with no upper pins.
Links
- Documentation: https://donkey-development-kit.github.io/donkey-development-kit/
- Demos: https://github.com/Donkey-Development-Kit/donkey-development-kit-demos
"Agent Fabric", MuleSoft, Anypoint and Omni Gateway are Salesforce trademarks. Donkey Development Kit is an independent, community-maintained project. It is not affiliated with, endorsed by, or supported by Salesforce or MuleSoft, and it is provided as-is under Apache-2.0.