Behavioral observability for AI agents
Project description
Dunetrace SDK
Behavioral observability for AI agents. Zero-dependency Python SDK that detects failure patterns in your LLM agents in real-time.
Install
pip install dunetrace
With integrations:
pip install dunetrace[langchain] # LangChain
Quickstart
from dunetrace import Dunetrace
dt = Dunetrace(endpoint="http://localhost:8001")
with dt.run("my-agent", user_input="What is the capital of France?") as run:
# your agent logic here
run.emit("tool.called", {"tool_name": "web_search"})
What it detects
- Tool loops — same tool called repeatedly without progress
- Context bloat — prompt tokens growing 3× across steps
- Tool avoidance — agent has tools but never uses them
- Step count inflation — far more steps than needed
- First step failure — agent fails immediately
- RAG empty retrieval — retrieval returns no results
- And more (tool thrashing, retry storms, cascading failures)
Self-hosted backend
Dunetrace requires the backend to collect and analyze events:
git clone https://github.com/dunetrace/dunetrace
cd dunetrace
cp .env.example .env
docker compose up
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dunetrace-0.2.0.tar.gz.
File metadata
- Download URL: dunetrace-0.2.0.tar.gz
- Upload date:
- Size: 26.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b3902d6506bab1055fcda723d27d9bafbc62a6058e4aaaf5a1e8e8315bf729f
|
|
| MD5 |
866fbfd1a9af0d22bc41df83e8358e38
|
|
| BLAKE2b-256 |
729f4f209000148fdc4879bb19dc518819e556bc043afe29b6cfe7f967adae18
|
Provenance
The following attestation bundles were made for dunetrace-0.2.0.tar.gz:
Publisher:
publish.yml on dunetrace/dunetrace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dunetrace-0.2.0.tar.gz -
Subject digest:
0b3902d6506bab1055fcda723d27d9bafbc62a6058e4aaaf5a1e8e8315bf729f - Sigstore transparency entry: 1077243788
- Sigstore integration time:
-
Permalink:
dunetrace/dunetrace@dded5213804db5d58685d4965043f5538a79a8cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/dunetrace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dded5213804db5d58685d4965043f5538a79a8cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file dunetrace-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dunetrace-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58cec9059f34f6a419bd5d4b8cce6777e1ebdb1b2a1c2d25421c43aee34ae472
|
|
| MD5 |
e0baa62f34dcc8e464b24b7db399aabf
|
|
| BLAKE2b-256 |
9b41175d84ddd8657ddd8ccc7720c603a1846026174ccebc0d8b14858ee8b1bb
|
Provenance
The following attestation bundles were made for dunetrace-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on dunetrace/dunetrace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dunetrace-0.2.0-py3-none-any.whl -
Subject digest:
58cec9059f34f6a419bd5d4b8cce6777e1ebdb1b2a1c2d25421c43aee34ae472 - Sigstore transparency entry: 1077243801
- Sigstore integration time:
-
Permalink:
dunetrace/dunetrace@dded5213804db5d58685d4965043f5538a79a8cf -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/dunetrace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@dded5213804db5d58685d4965043f5538a79a8cf -
Trigger Event:
push
-
Statement type: