agentreplay 0.1.2__py3-none-any.whl → 0.1.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentreplay/__init__.py +152 -10
- agentreplay/context.py +133 -0
- agentreplay/decorators.py +545 -0
- agentreplay/install_pth.py +6 -2
- agentreplay/privacy.py +452 -0
- agentreplay/sdk.py +578 -0
- agentreplay/wrappers.py +522 -0
- agentreplay-0.1.3.dist-info/METADATA +1138 -0
- {agentreplay-0.1.2.dist-info → agentreplay-0.1.3.dist-info}/RECORD +13 -9
- agentreplay-0.1.2.dist-info/METADATA +0 -285
- {agentreplay-0.1.2.dist-info → agentreplay-0.1.3.dist-info}/WHEEL +0 -0
- {agentreplay-0.1.2.dist-info → agentreplay-0.1.3.dist-info}/entry_points.txt +0 -0
- {agentreplay-0.1.2.dist-info → agentreplay-0.1.3.dist-info}/licenses/LICENSE +0 -0
- {agentreplay-0.1.2.dist-info → agentreplay-0.1.3.dist-info}/top_level.txt +0 -0
|
@@ -1,33 +1,37 @@
|
|
|
1
|
-
agentreplay/__init__.py,sha256=
|
|
1
|
+
agentreplay/__init__.py,sha256=5QRUMnltxcX40qzL_qMdfjsI5K2QZyO-3wnBFeH4dfU,5558
|
|
2
2
|
agentreplay/batching.py,sha256=SKfN_g1R9_BJakK_r8i69nITa3MGPKUOGLlfJBfQ_6E,10630
|
|
3
3
|
agentreplay/bootstrap.py,sha256=sPEvapnFxaIAwpf-K62fyahiFuyFKvPK0B6zoZu7ysk,7156
|
|
4
4
|
agentreplay/circuit_breaker.py,sha256=B_gnDv7lqr3ER-sDS7hkp7fz9pIeaDU4MUOTQ6eXSWg,10567
|
|
5
5
|
agentreplay/client.py,sha256=_PdfIiNmwdp_wAdoihmBuNrKJhyZjf-GYZzWJTsrYAY,56642
|
|
6
6
|
agentreplay/config.py,sha256=Rg5DbfphxIWHVrEIJCsedytgfUNGK8B3baTmwArCxwc,7152
|
|
7
|
-
agentreplay/context.py,sha256=
|
|
7
|
+
agentreplay/context.py,sha256=32ziidDdKItaa2IPtHdZfnUqG00kIroYr65bpifu88M,8901
|
|
8
|
+
agentreplay/decorators.py,sha256=ivOHQVnPjaJf-vPUBUAcoL_ydfnZLGByr2tMmzeadTs,17410
|
|
8
9
|
agentreplay/env_config.py,sha256=FMUj3QNMc0Rl3-FxxPcN1j6Iyopd2EtesI8RZGFlrfI,12054
|
|
9
10
|
agentreplay/env_init.py,sha256=u_ljQEedEnt8tp42SBZldSW7sCznQ4YBwtzteXH8BEw,4590
|
|
10
11
|
agentreplay/exceptions.py,sha256=bitPpI-VO34OtMU3eAIqDc1dSCHYSUwzxL3MsIE8NuI,2681
|
|
11
12
|
agentreplay/genai.py,sha256=4BZz8v_nJyUm7D5_BzF0kUXYTPSY85x5hHUtCkiDbTQ,22383
|
|
12
13
|
agentreplay/genai_conventions.py,sha256=dh_yvJhXI6Py4cWQ7T2Nf5GpaLd5v7lPuenhQnhvi6k,19624
|
|
13
|
-
agentreplay/install_pth.py,sha256=
|
|
14
|
+
agentreplay/install_pth.py,sha256=p0ilw5m1zNfHUAiE-Mr6YIiAS36h-PszEacPXO4vWus,4762
|
|
14
15
|
agentreplay/langchain_tracer.py,sha256=9L9rzrCBIEXnXqHNrc-r1ZNX4mDnWzgiUojDJFmH254,12349
|
|
15
16
|
agentreplay/models.py,sha256=yoI23FYNM5yXFof3kobPLW1K3aWng70wugroM4vlrHk,4073
|
|
16
17
|
agentreplay/otel_bridge.py,sha256=F9cuSlwAdDEEK8Nqtz9YTIG_eL53AshoU2KD8CIOgU4,9206
|
|
17
18
|
agentreplay/patch.py,sha256=x_DuIyGavQ7NvmGWXdplDqGkwXaO7Dr0tVUOYfeiVF4,9419
|
|
19
|
+
agentreplay/privacy.py,sha256=D7dz4pU8HoY7ifCsxE1EqOzMMYjn1x3yt6ChKz_56bg,13447
|
|
18
20
|
agentreplay/propagation.py,sha256=ubeh_jrOWTFmwGWVnoo8tJ3iPKvO0WGjuD65USeMpLg,10766
|
|
19
21
|
agentreplay/py.typed,sha256=E1lmZ1r_LJQ_GR6uGaKL63Zd32ZqtqSwQDYYSZtKkRE,188
|
|
20
22
|
agentreplay/retry.py,sha256=cUNzlOJaJYiQCL77ybsrtGg-SZGSfdaZm_fF9D4wOoY,5558
|
|
21
23
|
agentreplay/sampling.py,sha256=kmnzMCyyld8_X-7xBZQTaTPqjj-Kkwc7NFwhdZZLQkw,9132
|
|
24
|
+
agentreplay/sdk.py,sha256=3eLxeW1UH8PzInnxaQyggcV66gnQdv4Uq06Pxb5_pWw,18806
|
|
22
25
|
agentreplay/session.py,sha256=oS_z7ADS3ZmQUIF18KHhVZVewlSdKj5hL0wdPLq3xko,5647
|
|
23
26
|
agentreplay/sitecustomize.py,sha256=dJfBnQktxvLT32K6wvKaolegabAIs7_sQNeS1C7am9o,3454
|
|
24
27
|
agentreplay/span.py,sha256=yCX-mUjKHKTS98Do58WiD54joefEjiiGHTpEQWWboBc,9919
|
|
25
28
|
agentreplay/unified.py,sha256=tNRKa22kzGPuJ7DFTmP4zdPIUD6VKRUCwK2GbtCj7Y8,14827
|
|
29
|
+
agentreplay/wrappers.py,sha256=ilQZF3AMjJ7bpvLKqHjvhyTz2xSrUUpICcKu4SQZAT0,19191
|
|
26
30
|
agentreplay/auto_instrument/__init__.py,sha256=DBisDdlEadveofjf2zWhOGg_-kFCnTUePFT6i8l8jFI,8381
|
|
27
31
|
agentreplay/auto_instrument/openai.py,sha256=VwWah80J3OpCSLW9th92zQ3yo-kngDHyRcE29GtXpes,17390
|
|
28
|
-
agentreplay-0.1.
|
|
29
|
-
agentreplay-0.1.
|
|
30
|
-
agentreplay-0.1.
|
|
31
|
-
agentreplay-0.1.
|
|
32
|
-
agentreplay-0.1.
|
|
33
|
-
agentreplay-0.1.
|
|
32
|
+
agentreplay-0.1.3.dist-info/licenses/LICENSE,sha256=azMd5i70GEpRajD37zaPPg_Q1a4XC-FXc2EJJFHKBNU,10789
|
|
33
|
+
agentreplay-0.1.3.dist-info/METADATA,sha256=W8Jd27wjvqLwCAsGjhLGSAJyqUNYY-4wNZbNDwxWpRo,31532
|
|
34
|
+
agentreplay-0.1.3.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
35
|
+
agentreplay-0.1.3.dist-info/entry_points.txt,sha256=otUD6ffRUlIf3mqoxrZUNdSEjuR0r6oKff-Z-c92CK8,69
|
|
36
|
+
agentreplay-0.1.3.dist-info/top_level.txt,sha256=7Q1r7CGelbo4mAYhxlcUGSbWYEpBgA9tmCdUefDonDM,12
|
|
37
|
+
agentreplay-0.1.3.dist-info/RECORD,,
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: agentreplay
|
|
3
|
-
Version: 0.1.2
|
|
4
|
-
Summary: Agentreplay is a high-performance observability and tracing platform for LLM agents and AI apps, combining semantic search, specialized evals (RAGAS, G-Eval, toxicity), and Git-like versioning of prompts and responses.
|
|
5
|
-
Author-email: Sushanth <sushanth@agentreplay.dev>
|
|
6
|
-
License: Apache-2.0
|
|
7
|
-
Project-URL: Homepage, https://agentreplay.dev
|
|
8
|
-
Project-URL: Documentation, https://docs.agentreplay.dev
|
|
9
|
-
Project-URL: Repository, https://github.com/agentreplay/agentreplay
|
|
10
|
-
Project-URL: Issues, https://github.com/agentreplay/agentreplay/issues
|
|
11
|
-
Project-URL: Changelog, https://github.com/agentreplay/agentreplay/blob/main/CHANGELOG.md
|
|
12
|
-
Keywords: llm,agents,tracing,observability,ai,opentelemetry,ragas,evaluation,prompts,semantic-search
|
|
13
|
-
Classifier: Development Status :: 4 - Beta
|
|
14
|
-
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
-
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
-
Classifier: Topic :: System :: Monitoring
|
|
24
|
-
Requires-Python: >=3.8
|
|
25
|
-
Description-Content-Type: text/markdown
|
|
26
|
-
License-File: LICENSE
|
|
27
|
-
Requires-Dist: pydantic>=2.0.0
|
|
28
|
-
Requires-Dist: opentelemetry-api>=1.20.0
|
|
29
|
-
Requires-Dist: opentelemetry-sdk>=1.20.0
|
|
30
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.20.0
|
|
31
|
-
Requires-Dist: opentelemetry-instrumentation>=0.41b0
|
|
32
|
-
Requires-Dist: opentelemetry-instrumentation-openai>=0.48.0
|
|
33
|
-
Requires-Dist: httpx>=0.24.0
|
|
34
|
-
Provides-Extra: dev
|
|
35
|
-
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
36
|
-
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
37
|
-
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
38
|
-
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
39
|
-
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
40
|
-
Provides-Extra: langchain
|
|
41
|
-
Requires-Dist: langchain>=0.3.0; extra == "langchain"
|
|
42
|
-
Requires-Dist: langchain-openai>=0.2.0; extra == "langchain"
|
|
43
|
-
Provides-Extra: langgraph
|
|
44
|
-
Requires-Dist: langgraph>=0.2.0; extra == "langgraph"
|
|
45
|
-
Requires-Dist: langchain>=0.3.0; extra == "langgraph"
|
|
46
|
-
Provides-Extra: llamaindex
|
|
47
|
-
Requires-Dist: llama-index>=0.11.0; extra == "llamaindex"
|
|
48
|
-
Requires-Dist: llama-index-core>=0.11.0; extra == "llamaindex"
|
|
49
|
-
Provides-Extra: llamaindex-workflows
|
|
50
|
-
Requires-Dist: llama-index>=0.11.0; extra == "llamaindex-workflows"
|
|
51
|
-
Requires-Dist: llama-index-workflows>=0.2.0; extra == "llamaindex-workflows"
|
|
52
|
-
Provides-Extra: openai-agents
|
|
53
|
-
Requires-Dist: openai-agents>=0.5.0; extra == "openai-agents"
|
|
54
|
-
Provides-Extra: autogen
|
|
55
|
-
Requires-Dist: autogen-agentchat>=0.4.0; extra == "autogen"
|
|
56
|
-
Requires-Dist: autogen-core>=0.4.0; extra == "autogen"
|
|
57
|
-
Provides-Extra: semantic-kernel
|
|
58
|
-
Requires-Dist: semantic-kernel>=1.0.0; extra == "semantic-kernel"
|
|
59
|
-
Provides-Extra: crewai
|
|
60
|
-
Requires-Dist: crewai>=0.1.0; extra == "crewai"
|
|
61
|
-
Provides-Extra: smolagents
|
|
62
|
-
Requires-Dist: smolagents>=1.0.0; extra == "smolagents"
|
|
63
|
-
Provides-Extra: pydantic-ai
|
|
64
|
-
Requires-Dist: pydantic-ai>=1.0.0; extra == "pydantic-ai"
|
|
65
|
-
Provides-Extra: strands
|
|
66
|
-
Requires-Dist: strands-sdk>=1.0.0; extra == "strands"
|
|
67
|
-
Provides-Extra: google-adk
|
|
68
|
-
Requires-Dist: google-adk>=1.0.0; extra == "google-adk"
|
|
69
|
-
Provides-Extra: all-frameworks
|
|
70
|
-
Requires-Dist: langchain>=0.3.0; extra == "all-frameworks"
|
|
71
|
-
Requires-Dist: langchain-openai>=0.2.0; extra == "all-frameworks"
|
|
72
|
-
Requires-Dist: langgraph>=0.2.0; extra == "all-frameworks"
|
|
73
|
-
Requires-Dist: llama-index>=0.11.0; extra == "all-frameworks"
|
|
74
|
-
Requires-Dist: openai-agents>=0.5.0; extra == "all-frameworks"
|
|
75
|
-
Requires-Dist: autogen-agentchat>=0.4.0; extra == "all-frameworks"
|
|
76
|
-
Requires-Dist: semantic-kernel>=1.0.0; extra == "all-frameworks"
|
|
77
|
-
Requires-Dist: crewai>=0.1.0; extra == "all-frameworks"
|
|
78
|
-
Requires-Dist: smolagents>=1.0.0; extra == "all-frameworks"
|
|
79
|
-
Requires-Dist: pydantic-ai>=1.0.0; extra == "all-frameworks"
|
|
80
|
-
Provides-Extra: all
|
|
81
|
-
Requires-Dist: langchain>=0.3.0; extra == "all"
|
|
82
|
-
Requires-Dist: langchain-openai>=0.2.0; extra == "all"
|
|
83
|
-
Requires-Dist: langgraph>=0.2.0; extra == "all"
|
|
84
|
-
Requires-Dist: llama-index>=0.11.0; extra == "all"
|
|
85
|
-
Requires-Dist: openai-agents>=0.5.0; extra == "all"
|
|
86
|
-
Requires-Dist: autogen-agentchat>=0.4.0; extra == "all"
|
|
87
|
-
Requires-Dist: semantic-kernel>=1.0.0; extra == "all"
|
|
88
|
-
Requires-Dist: crewai>=0.1.0; extra == "all"
|
|
89
|
-
Requires-Dist: smolagents>=1.0.0; extra == "all"
|
|
90
|
-
Requires-Dist: pydantic-ai>=1.0.0; extra == "all"
|
|
91
|
-
Requires-Dist: pytest>=7.0.0; extra == "all"
|
|
92
|
-
Requires-Dist: pytest-asyncio>=0.21.0; extra == "all"
|
|
93
|
-
Dynamic: license-file
|
|
94
|
-
|
|
95
|
-
# Agent Replay Python SDK
|
|
96
|
-
|
|
97
|
-
Python SDK for Agent Replay - A purpose-built agent trace engine for LLM agents.
|
|
98
|
-
|
|
99
|
-
## Installation
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
pip install agentreplay
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### With Framework Integrations
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
# Install specific framework integrations
|
|
109
|
-
pip install agentreplay[langchain] # LangChain / LangGraph
|
|
110
|
-
pip install agentreplay[llamaindex] # LlamaIndex
|
|
111
|
-
pip install agentreplay[openai-agents] # OpenAI Agents SDK
|
|
112
|
-
pip install agentreplay[autogen] # Microsoft AutoGen
|
|
113
|
-
pip install agentreplay[semantic-kernel] # Semantic Kernel
|
|
114
|
-
pip install agentreplay[crewai] # CrewAI
|
|
115
|
-
pip install agentreplay[smolagents] # Hugging Face smolagents
|
|
116
|
-
pip install agentreplay[pydantic-ai] # PydanticAI
|
|
117
|
-
pip install agentreplay[strands] # AWS Strands Agents
|
|
118
|
-
pip install agentreplay[google-adk] # Google ADK
|
|
119
|
-
|
|
120
|
-
# Or install all framework integrations at once
|
|
121
|
-
pip install agentreplay[all-frameworks]
|
|
122
|
-
|
|
123
|
-
# For development (includes all frameworks + dev tools)
|
|
124
|
-
pip install agentreplay[all]
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Quick Start
|
|
128
|
-
|
|
129
|
-
```python
|
|
130
|
-
from agentreplay import AgentreplayClient, SpanType
|
|
131
|
-
|
|
132
|
-
# Initialize client
|
|
133
|
-
client = AgentreplayClient(
|
|
134
|
-
url="http://localhost:47100",
|
|
135
|
-
tenant_id=1,
|
|
136
|
-
project_id=0
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
# Log a trace
|
|
140
|
-
with client.trace(span_type=SpanType.ROOT) as root:
|
|
141
|
-
# Planning step
|
|
142
|
-
with root.child(SpanType.PLANNING) as planning:
|
|
143
|
-
planning.set_token_count(50)
|
|
144
|
-
planning.set_confidence(0.95)
|
|
145
|
-
|
|
146
|
-
# Tool call
|
|
147
|
-
with root.child(SpanType.TOOL_CALL) as tool:
|
|
148
|
-
tool.set_token_count(20)
|
|
149
|
-
tool.set_duration_ms(150)
|
|
150
|
-
|
|
151
|
-
# Final response
|
|
152
|
-
with root.child(SpanType.RESPONSE) as response:
|
|
153
|
-
response.set_token_count(80)
|
|
154
|
-
response.set_confidence(0.94)
|
|
155
|
-
|
|
156
|
-
# Query traces
|
|
157
|
-
edges = client.query_temporal_range(
|
|
158
|
-
start_timestamp_us=start_time,
|
|
159
|
-
end_timestamp_us=end_time
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
# Get causal relationships
|
|
163
|
-
children = client.get_children(edge_id)
|
|
164
|
-
ancestors = client.get_ancestors(edge_id)
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Framework Integrations
|
|
168
|
-
|
|
169
|
-
Agent Replay provides seamless integrations for all major AI agent frameworks:
|
|
170
|
-
|
|
171
|
-
### Supported Frameworks
|
|
172
|
-
|
|
173
|
-
| Framework | Install | Documentation |
|
|
174
|
-
|-----------|---------|---------------|
|
|
175
|
-
| **LangChain / LangGraph** | `pip install agentreplay[langchain]` | Chains, agents, workflows |
|
|
176
|
-
| **LlamaIndex** | `pip install agentreplay[llamaindex]` | Query engines, agents, workflows |
|
|
177
|
-
| **OpenAI Agents SDK** | `pip install agentreplay[openai-agents]` | Agent wrappers, sessions |
|
|
178
|
-
| **Microsoft AutoGen** | `pip install agentreplay[autogen]` | Multi-agent conversations |
|
|
179
|
-
| **Semantic Kernel** | `pip install agentreplay[semantic-kernel]` | Kernel functions, planners |
|
|
180
|
-
| **CrewAI** | `pip install agentreplay[crewai]` | Crews, tasks, collaboration |
|
|
181
|
-
| **Hugging Face smolagents** | `pip install agentreplay[smolagents]` | Code agents, tool calling |
|
|
182
|
-
| **PydanticAI** | `pip install agentreplay[pydantic-ai]` | Type-safe agents |
|
|
183
|
-
| **Strands Agents** | `pip install agentreplay[strands]` | AWS agents, multi-provider |
|
|
184
|
-
| **Google ADK** | `pip install agentreplay[google-adk]` | Gemini agents |
|
|
185
|
-
|
|
186
|
-
### Quick Integration Examples
|
|
187
|
-
|
|
188
|
-
#### LangChain
|
|
189
|
-
|
|
190
|
-
```python
|
|
191
|
-
from agentreplay.integrations.langchain import Agent ReplayCallbackHandler
|
|
192
|
-
from langchain.chains import LLMChain
|
|
193
|
-
|
|
194
|
-
callback = Agent ReplayCallbackHandler(
|
|
195
|
-
url="http://localhost:8080",
|
|
196
|
-
tenant_id=1
|
|
197
|
-
)
|
|
198
|
-
|
|
199
|
-
chain = LLMChain(llm=llm, callbacks=[callback])
|
|
200
|
-
result = chain.run("What is the weather?")
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
#### LlamaIndex
|
|
204
|
-
|
|
205
|
-
```python
|
|
206
|
-
from agentreplay.integrations.llamaindex import create_callback_manager
|
|
207
|
-
from llama_index.core import VectorStoreIndex
|
|
208
|
-
|
|
209
|
-
callback_manager = create_callback_manager(
|
|
210
|
-
agentreplay_url="http://localhost:8080",
|
|
211
|
-
tenant_id=1
|
|
212
|
-
)
|
|
213
|
-
|
|
214
|
-
index = VectorStoreIndex.from_documents(
|
|
215
|
-
documents,
|
|
216
|
-
callback_manager=callback_manager
|
|
217
|
-
)
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
#### OpenAI Agents SDK
|
|
221
|
-
|
|
222
|
-
```python
|
|
223
|
-
from agentreplay.integrations.openai_agents import Agent ReplayAgentWrapper
|
|
224
|
-
from openai_agents import Agent
|
|
225
|
-
|
|
226
|
-
agent = Agent(name="assistant", instructions="You are helpful")
|
|
227
|
-
wrapped = Agent ReplayAgentWrapper(
|
|
228
|
-
agent=agent,
|
|
229
|
-
agentreplay_url="http://localhost:8080",
|
|
230
|
-
tenant_id=1
|
|
231
|
-
)
|
|
232
|
-
|
|
233
|
-
session = wrapped.create_session()
|
|
234
|
-
response = wrapped.run(session, "Hello!")
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
#### PydanticAI
|
|
238
|
-
|
|
239
|
-
```python
|
|
240
|
-
from agentreplay.integrations.pydantic_ai import wrap_pydantic_ai_agent
|
|
241
|
-
from pydantic_ai import Agent
|
|
242
|
-
|
|
243
|
-
agent = Agent("openai:gpt-4")
|
|
244
|
-
agent = wrap_pydantic_ai_agent(
|
|
245
|
-
agent,
|
|
246
|
-
agentreplay_url="http://localhost:8080",
|
|
247
|
-
tenant_id=1
|
|
248
|
-
)
|
|
249
|
-
|
|
250
|
-
result = agent.run_sync("Process this request")
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
**📚 For detailed integration guides and examples, see [INTEGRATIONS.md](INTEGRATIONS.md)**
|
|
254
|
-
|
|
255
|
-
## Features
|
|
256
|
-
|
|
257
|
-
### Core SDK
|
|
258
|
-
- **Low-level API**: Direct control over edge creation and querying
|
|
259
|
-
- **Context Managers**: Pythonic span tracking with automatic parent-child relationships
|
|
260
|
-
- **Async Support**: Full async/await support for high-performance applications
|
|
261
|
-
- **Type Safety**: Full type hints and Pydantic models
|
|
262
|
-
- **Causal Queries**: Navigate agent reasoning graphs
|
|
263
|
-
- **Semantic Search**: Find similar traces using vector embeddings
|
|
264
|
-
|
|
265
|
-
### Framework Integrations (New in v2.0!)
|
|
266
|
-
- **10+ Framework Support**: LangChain, LlamaIndex, OpenAI Agents, AutoGen, and more
|
|
267
|
-
- **Automatic Tracking**: LLM calls, token usage, costs, and execution timing
|
|
268
|
-
- **OpenTelemetry GenAI**: Full semantic conventions support
|
|
269
|
-
- **Production Ready**: Async/sync, error resilience, connection pooling
|
|
270
|
-
- **Zero Code Changes**: Wrap existing agents with minimal modifications
|
|
271
|
-
|
|
272
|
-
## Documentation
|
|
273
|
-
|
|
274
|
-
- **Quick Start**: See above and [examples/](examples/)
|
|
275
|
-
- **Framework Integrations**: [INTEGRATIONS.md](INTEGRATIONS.md)
|
|
276
|
-
- **Full API Documentation**: https://docs.agentreplay.dev/python-sdk
|
|
277
|
-
- **Examples**:
|
|
278
|
-
- [LangChain/LangGraph](examples/integrations/langchain_langgraph_example.py)
|
|
279
|
-
- [LlamaIndex](examples/integrations/llamaindex_example.py)
|
|
280
|
-
- [OpenAI Agents](examples/integrations/openai_agents_example.py)
|
|
281
|
-
- [All Frameworks Quickstart](examples/integrations/all_frameworks_quickstart.py)
|
|
282
|
-
|
|
283
|
-
## License
|
|
284
|
-
|
|
285
|
-
Apache License 2.0 - Copyright 2025 Sushanth (https://github.com/sushanthpy)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|