langtrace-python-sdk 3.3.4__py3-none-any.whl → 3.3.7__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.
@@ -0,0 +1,493 @@
1
+ Metadata-Version: 2.3
2
+ Name: langtrace-python-sdk
3
+ Version: 3.3.7
4
+ Summary: Python SDK for LangTrace
5
+ Project-URL: Homepage, https://github.com/Scale3-Labs/langtrace-python-sdk
6
+ Author-email: Scale3 Labs <engineering@scale3labs.com>
7
+ License: Apache-2.0
8
+ Classifier: License :: OSI Approved :: Apache Software License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Requires-Python: >=3.9
12
+ Requires-Dist: colorama>=0.4.6
13
+ Requires-Dist: fsspec>=2024.6.0
14
+ Requires-Dist: opentelemetry-api>=1.25.0
15
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.25.0
16
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.25.0
17
+ Requires-Dist: opentelemetry-instrumentation-sqlalchemy>=0.46b0
18
+ Requires-Dist: opentelemetry-instrumentation>=0.47b0
19
+ Requires-Dist: opentelemetry-sdk>=1.25.0
20
+ Requires-Dist: sentry-sdk>=2.14.0
21
+ Requires-Dist: sqlalchemy
22
+ Requires-Dist: tiktoken>=0.1.1
23
+ Requires-Dist: trace-attributes==7.1.0
24
+ Requires-Dist: transformers>=4.11.3
25
+ Requires-Dist: ujson>=5.10.0
26
+ Provides-Extra: dev
27
+ Requires-Dist: anthropic; extra == 'dev'
28
+ Requires-Dist: boto3; extra == 'dev'
29
+ Requires-Dist: chromadb; extra == 'dev'
30
+ Requires-Dist: cohere; extra == 'dev'
31
+ Requires-Dist: embedchain; extra == 'dev'
32
+ Requires-Dist: google-cloud-aiplatform; extra == 'dev'
33
+ Requires-Dist: google-generativeai; extra == 'dev'
34
+ Requires-Dist: groq; extra == 'dev'
35
+ Requires-Dist: langchain; extra == 'dev'
36
+ Requires-Dist: langchain-community; extra == 'dev'
37
+ Requires-Dist: langchain-openai; extra == 'dev'
38
+ Requires-Dist: litellm==1.48.7; extra == 'dev'
39
+ Requires-Dist: mistralai; extra == 'dev'
40
+ Requires-Dist: ollama; extra == 'dev'
41
+ Requires-Dist: openai==1.45.0; extra == 'dev'
42
+ Requires-Dist: pinecone-client; extra == 'dev'
43
+ Requires-Dist: python-dotenv; extra == 'dev'
44
+ Requires-Dist: qdrant-client; extra == 'dev'
45
+ Requires-Dist: setuptools; extra == 'dev'
46
+ Requires-Dist: weaviate-client; extra == 'dev'
47
+ Provides-Extra: test
48
+ Requires-Dist: pytest; extra == 'test'
49
+ Requires-Dist: pytest-asyncio; extra == 'test'
50
+ Requires-Dist: pytest-vcr; extra == 'test'
51
+ Description-Content-Type: text/markdown
52
+
53
+ <div align="center">
54
+ <h1>Langtrace Python SDK</h1>
55
+ <p>Open Source & Open Telemetry(OTEL) Observability for LLM Applications</p>
56
+
57
+ ![Static Badge](https://img.shields.io/badge/License-Apache--2.0-blue)
58
+ ![Static Badge](https://img.shields.io/badge/pip_langtrace--python--sdk-1.2.8-green)
59
+ ![Static Badge](https://img.shields.io/badge/Development_status-Active-green)
60
+ [![Downloads](https://static.pepy.tech/badge/langtrace-python-sdk)](https://static.pepy.tech/badge/langtrace-python-sdk)
61
+ [![Deploy](https://railway.app/button.svg)](https://railway.app/template/8dNq1c?referralCode=MA2S9H)
62
+ </div>
63
+
64
+ ---
65
+
66
+ ## 📚 Table of Contents
67
+ - [✨ Features](#-features)
68
+ - [🚀 Quick Start](#-quick-start)
69
+ - [🔗 Integrations](#-supported-integrations)
70
+ - [🌐 Getting Started](#-getting-started)
71
+ - [⚙️ Configuration](#-configuration)
72
+ - [🔧 Advanced Features](#-advanced-features)
73
+ - [📐 Examples](#-examples)
74
+ - [🏠 Self Hosting](#-langtrace-self-hosted)
75
+ - [🤝 Contributing](#-contributions)
76
+ - [🔒 Security](#-security)
77
+ - [❓ FAQ](#-frequently-asked-questions)
78
+ - [📜 License](#-license)
79
+
80
+ Langtrace is an open source observability software which lets you capture, debug and analyze traces and metrics from all your applications that leverages LLM APIs, Vector Databases and LLM based Frameworks.
81
+
82
+ ## ✨ Features
83
+
84
+ - 📊 **Open Telemetry Support**: Built on OTEL standards for comprehensive tracing
85
+ - 🔄 **Real-time Monitoring**: Track LLM API calls, vector operations, and framework usage
86
+ - 🎯 **Performance Insights**: Analyze latency, costs, and usage patterns
87
+ - 🔍 **Debug Tools**: Trace and debug your LLM application workflows
88
+ - 📈 **Analytics**: Get detailed metrics and visualizations
89
+ - 🛠️ **Framework Support**: Extensive integration with popular LLM frameworks
90
+ - 🔌 **Vector DB Integration**: Support for major vector databases
91
+ - 🎨 **Flexible Configuration**: Customizable tracing and monitoring options
92
+
93
+ ## 🚀 Quick Start
94
+
95
+ ```bash
96
+ pip install langtrace-python-sdk
97
+ ```
98
+
99
+ ```python
100
+ from langtrace_python_sdk import langtrace
101
+ langtrace.init(api_key='<your_api_key>') # Get your API key at langtrace.ai
102
+ ```
103
+
104
+ ## 🔗 Supported Integrations
105
+
106
+ Langtrace automatically captures traces from the following vendors:
107
+
108
+ ### LLM Providers
109
+ | Provider | TypeScript SDK | Python SDK |
110
+ |----------|:-------------:|:----------:|
111
+ | OpenAI | ✅ | ✅ |
112
+ | Anthropic | ✅ | ✅ |
113
+ | Azure OpenAI | ✅ | ✅ |
114
+ | Cohere | ✅ | ✅ |
115
+ | Groq | ✅ | ✅ |
116
+ | Perplexity | ✅ | ✅ |
117
+ | Gemini | ❌ | ✅ |
118
+ | Mistral | ❌ | ✅ |
119
+ | AWS Bedrock | ✅ | ✅ |
120
+ | Ollama | ❌ | ✅ |
121
+ | Cerebras | ❌ | ✅ |
122
+
123
+ ### Frameworks
124
+ | Framework | TypeScript SDK | Python SDK |
125
+ |-----------|:-------------:|:----------:|
126
+ | Langchain | ❌ | ✅ |
127
+ | LlamaIndex | ✅ | ✅ |
128
+ | Langgraph | ❌ | ✅ |
129
+ | LiteLLM | ❌ | ✅ |
130
+ | DSPy | ❌ | ✅ |
131
+ | CrewAI | ❌ | ✅ |
132
+ | VertexAI | ✅ | ✅ |
133
+ | EmbedChain | ❌ | ✅ |
134
+ | Autogen | ❌ | ✅ |
135
+ | HiveAgent | ❌ | ✅ |
136
+ | Inspect AI | ❌ | ✅ |
137
+
138
+ ### Vector Databases
139
+ | Database | TypeScript SDK | Python SDK |
140
+ |----------|:-------------:|:----------:|
141
+ | Pinecone | ✅ | ✅ |
142
+ | ChromaDB | ✅ | ✅ |
143
+ | QDrant | ✅ | ✅ |
144
+ | Weaviate | ✅ | ✅ |
145
+ | PGVector | ✅ | ✅ (SQLAlchemy) |
146
+ | MongoDB | ❌ | ✅ |
147
+ | Milvus | ❌ | ✅ |
148
+
149
+ ## 🌐 Getting Started
150
+
151
+ ### Langtrace Cloud ☁️
152
+
153
+ <!-- Original cloud setup instructions -->
154
+ 1. Sign up by going to [this link](https://langtrace.ai).
155
+ 2. Create a new Project after signing up. Projects are containers for storing traces and metrics generated by your application. If you have only one application, creating 1 project will do.
156
+ 3. Generate an API key by going inside the project.
157
+ 4. In your application, install the Langtrace SDK and initialize it with the API key you generated in the step 3.
158
+ 5. The code for installing and setting up the SDK is shown below
159
+
160
+ ### Framework Quick Starts
161
+
162
+ #### FastAPI
163
+ ```python
164
+ from fastapi import FastAPI
165
+ from langtrace_python_sdk import langtrace
166
+ from openai import OpenAI
167
+
168
+ langtrace.init()
169
+ app = FastAPI()
170
+ client = OpenAI()
171
+
172
+ @app.get("/")
173
+ def root():
174
+ client.chat.completions.create(
175
+ model="gpt-4",
176
+ messages=[{"role": "user", "content": "Say this is a test"}],
177
+ stream=False,
178
+ )
179
+ return {"Hello": "World"}
180
+ ```
181
+
182
+ #### Django
183
+ ```python
184
+ # settings.py
185
+ from langtrace_python_sdk import langtrace
186
+ langtrace.init()
187
+
188
+ # views.py
189
+ from django.http import JsonResponse
190
+ from openai import OpenAI
191
+
192
+ client = OpenAI()
193
+
194
+ def chat_view(request):
195
+ response = client.chat.completions.create(
196
+ model="gpt-4",
197
+ messages=[{"role": "user", "content": request.GET.get('message', '')}]
198
+ )
199
+ return JsonResponse({"response": response.choices[0].message.content})
200
+ ```
201
+
202
+ #### Flask
203
+ ```python
204
+ from flask import Flask
205
+ from langtrace_python_sdk import langtrace
206
+ from openai import OpenAI
207
+
208
+ app = Flask(__name__)
209
+ langtrace.init()
210
+ client = OpenAI()
211
+
212
+ @app.route('/')
213
+ def chat():
214
+ response = client.chat.completions.create(
215
+ model="gpt-4",
216
+ messages=[{"role": "user", "content": "Hello!"}]
217
+ )
218
+ return {"response": response.choices[0].message.content}
219
+ ```
220
+
221
+ #### LangChain
222
+ ```python
223
+ from langtrace_python_sdk import langtrace
224
+ from langchain.chat_models import ChatOpenAI
225
+ from langchain.prompts import ChatPromptTemplate
226
+
227
+ langtrace.init()
228
+
229
+ # LangChain operations are automatically traced
230
+ chat = ChatOpenAI()
231
+ prompt = ChatPromptTemplate.from_messages([
232
+ ("system", "You are a helpful assistant."),
233
+ ("user", "{input}")
234
+ ])
235
+ chain = prompt | chat
236
+ response = chain.invoke({"input": "Hello!"})
237
+ ```
238
+
239
+ #### LlamaIndex
240
+ ```python
241
+ from langtrace_python_sdk import langtrace
242
+ from llama_index import VectorStoreIndex, SimpleDirectoryReader
243
+
244
+ langtrace.init()
245
+
246
+ # Document loading and indexing are automatically traced
247
+ documents = SimpleDirectoryReader('data').load_data()
248
+ index = VectorStoreIndex.from_documents(documents)
249
+
250
+ # Queries are traced with metadata
251
+ query_engine = index.as_query_engine()
252
+ response = query_engine.query("What's in the documents?")
253
+ ```
254
+
255
+ #### DSPy
256
+ ```python
257
+ from langtrace_python_sdk import langtrace
258
+ import dspy
259
+ from dspy.teleprompt import BootstrapFewShot
260
+
261
+ langtrace.init()
262
+
263
+ # DSPy operations are automatically traced
264
+ lm = dspy.OpenAI(model="gpt-4")
265
+ dspy.settings.configure(lm=lm)
266
+
267
+ class SimpleQA(dspy.Signature):
268
+ """Answer questions with short responses."""
269
+ question = dspy.InputField()
270
+ answer = dspy.OutputField(desc="short answer")
271
+
272
+ compiler = BootstrapFewShot(metric=dspy.metrics.Answer())
273
+ program = compiler.compile(SimpleQA)
274
+ ```
275
+
276
+ #### CrewAI
277
+ ```python
278
+ from langtrace_python_sdk import langtrace
279
+ from crewai import Agent, Task, Crew
280
+
281
+ langtrace.init()
282
+
283
+ # Agents and tasks are automatically traced
284
+ researcher = Agent(
285
+ role="Researcher",
286
+ goal="Research and analyze data",
287
+ backstory="Expert data researcher",
288
+ allow_delegation=False
289
+ )
290
+
291
+ task = Task(
292
+ description="Analyze market trends",
293
+ agent=researcher
294
+ )
295
+
296
+ crew = Crew(
297
+ agents=[researcher],
298
+ tasks=[task]
299
+ )
300
+
301
+ result = crew.kickoff()
302
+ ```
303
+
304
+ For more detailed examples and framework-specific features, visit our [documentation](https://docs.langtrace.ai).
305
+
306
+ ## ⚙️ Configuration
307
+
308
+ ### Initialize Options
309
+
310
+ The SDK can be initialized with various configuration options to customize its behavior:
311
+
312
+ ```python
313
+ langtrace.init(
314
+ api_key: Optional[str] = None, # API key for authentication
315
+ batch: bool = True, # Enable/disable batch processing
316
+ write_spans_to_console: bool = False, # Console logging
317
+ custom_remote_exporter: Optional[Any] = None, # Custom exporter
318
+ api_host: Optional[str] = None, # Custom API host
319
+ disable_instrumentations: Optional[Dict] = None, # Disable specific integrations
320
+ service_name: Optional[str] = None, # Custom service name
321
+ disable_logging: bool = False, # Disable all logging
322
+ headers: Dict[str, str] = {}, # Custom headers
323
+ )
324
+ ```
325
+
326
+ #### Configuration Details
327
+
328
+ | Parameter | Type | Default Value | Description |
329
+ |-----------|------|---------------|-------------|
330
+ | `api_key` | `str` | `LANGTRACE_API_KEY` or `None` | The API key for authentication. Can be set via environment variable |
331
+ | `batch` | `bool` | `True` | Whether to batch spans before sending them to reduce API calls |
332
+ | `write_spans_to_console` | `bool` | `False` | Enable console logging for debugging purposes |
333
+ | `custom_remote_exporter` | `Optional[Exporter]` | `None` | Custom exporter for sending traces to your own backend |
334
+ | `api_host` | `Optional[str]` | `https://langtrace.ai/` | Custom API endpoint for self-hosted deployments |
335
+ | `disable_instrumentations` | `Optional[Dict]` | `None` | Disable specific vendor instrumentations (e.g., `{'only': ['openai']}`) |
336
+ | `service_name` | `Optional[str]` | `None` | Custom service name for trace identification |
337
+ | `disable_logging` | `bool` | `False` | Disable SDK logging completely |
338
+ | `headers` | `Dict[str, str]` | `{}` | Custom headers for API requests |
339
+
340
+ ### Environment Variables
341
+
342
+ Configure Langtrace behavior using these environment variables:
343
+
344
+ | Variable | Description | Default | Impact |
345
+ |----------|-------------|---------|---------|
346
+ | `LANGTRACE_API_KEY` | Primary authentication method | Required* | Required if not passed to init() |
347
+ | `TRACE_PROMPT_COMPLETION_DATA` | Control prompt/completion tracing | `true` | Set to 'false' to opt out of prompt/completion data collection |
348
+ | `TRACE_DSPY_CHECKPOINT` | Control DSPy checkpoint tracing | `true` | Set to 'false' to disable checkpoint tracing |
349
+ | `LANGTRACE_ERROR_REPORTING` | Control error reporting | `true` | Set to 'false' to disable Sentry error reporting |
350
+ | `LANGTRACE_API_HOST` | Custom API endpoint | `https://langtrace.ai/` | Override default API endpoint for self-hosted deployments |
351
+
352
+ > **Performance Note**: Setting `TRACE_DSPY_CHECKPOINT=false` is recommended in production environments as checkpoint tracing involves state serialization which can impact latency.
353
+
354
+ > **Security Note**: When `TRACE_PROMPT_COMPLETION_DATA=false`, no prompt or completion data will be collected, ensuring sensitive information remains private.
355
+
356
+ ## 🔧 Advanced Features
357
+
358
+ ### Root Span Decorator
359
+
360
+ Use the root span decorator to create custom trace hierarchies:
361
+
362
+ ```python
363
+ from langtrace_python_sdk import langtrace
364
+
365
+ @langtrace.with_langtrace_root_span(name="custom_operation")
366
+ def my_function():
367
+ # Your code here
368
+ pass
369
+ ```
370
+
371
+ ### Additional Attributes
372
+
373
+ Inject custom attributes into your traces:
374
+
375
+ ```python
376
+ # Using decorator
377
+ @langtrace.with_additional_attributes({"custom_key": "custom_value"})
378
+ def my_function():
379
+ pass
380
+
381
+ # Using context manager
382
+ with langtrace.inject_additional_attributes({"custom_key": "custom_value"}):
383
+ # Your code here
384
+ pass
385
+ ```
386
+
387
+ ### Prompt Registry
388
+
389
+ Register and manage prompts for better traceability:
390
+
391
+ ```python
392
+ from langtrace_python_sdk import langtrace
393
+
394
+ # Register a prompt template
395
+ langtrace.register_prompt("greeting", "Hello, {name}!")
396
+
397
+ # Use registered prompt
398
+ response = client.chat.completions.create(
399
+ model="gpt-4",
400
+ messages=[{"role": "user", "content": langtrace.get_prompt("greeting", name="Alice")}]
401
+ )
402
+ ```
403
+
404
+ ### User Feedback System
405
+
406
+ Collect and analyze user feedback:
407
+
408
+ ```python
409
+ from langtrace_python_sdk import langtrace
410
+
411
+ # Record user feedback for a trace
412
+ langtrace.record_feedback(
413
+ trace_id="your_trace_id",
414
+ rating=5,
415
+ feedback_text="Great response!",
416
+ metadata={"user_id": "123"}
417
+ )
418
+ ```
419
+
420
+ ### DSPy Checkpointing
421
+
422
+ Manage DSPy checkpoints for workflow tracking:
423
+
424
+ ```python
425
+ from langtrace_python_sdk import langtrace
426
+
427
+ # Enable checkpoint tracing (disabled by default in production)
428
+ langtrace.init(
429
+ api_key="your_api_key",
430
+ dspy_checkpoint_tracing=True
431
+ )
432
+ ```
433
+
434
+ ### Vector Database Operations
435
+
436
+ Track vector database operations:
437
+
438
+ ```python
439
+ from langtrace_python_sdk import langtrace
440
+
441
+ # Vector operations are automatically traced
442
+ with langtrace.inject_additional_attributes({"operation_type": "similarity_search"}):
443
+ results = vector_db.similarity_search("query", k=5)
444
+ ```
445
+
446
+ For more detailed examples and use cases, visit our [documentation](https://docs.langtrace.ai).
447
+
448
+ <!-- Will be expanded in step 007 with comprehensive documentation of advanced features -->
449
+
450
+ ## 📐 Examples
451
+
452
+ <!-- Will be added in step 008: Framework-specific examples and usage patterns -->
453
+
454
+ ## 🏠 Langtrace Self Hosted
455
+
456
+ <!-- Original self-hosted documentation -->
457
+ Get started with self-hosted Langtrace:
458
+
459
+ ```python
460
+ from langtrace_python_sdk import langtrace
461
+ langtrace.init(write_spans_to_console=True) # For console logging
462
+ # OR
463
+ langtrace.init(custom_remote_exporter=<your_exporter>, batch=<True or False>) # For custom exporter
464
+ ```
465
+
466
+ ## 🤝 Contributing
467
+
468
+ We welcome contributions! To get started:
469
+
470
+ 1. Fork this repository and start developing
471
+ 2. Join our [Discord](https://discord.langtrace.ai) workspace
472
+ 3. Run examples:
473
+ ```python
474
+ # In run_example.py, set ENABLED_EXAMPLES flag to True for desired example
475
+ python src/run_example.py
476
+ ```
477
+ 4. Run tests:
478
+ ```python
479
+ pip install '.[test]' && pip install '.[dev]'
480
+ pytest -v
481
+ ```
482
+
483
+ ## 🔒 Security
484
+
485
+ To report security vulnerabilities, email us at <security@scale3labs.com>. You can read more on security [here](https://github.com/Scale3-Labs/langtrace/blob/development/SECURITY.md).
486
+
487
+ ## ❓ Frequently Asked Questions
488
+
489
+ <!-- Will be populated during content addition steps -->
490
+
491
+ ## 📜 License
492
+
493
+ Langtrace Python SDK is licensed under the Apache 2.0 License. You can read about this license [here](https://www.apache.org/licenses/LICENSE-2.0).
@@ -68,6 +68,7 @@ examples/llamaindex_example/__init__.py,sha256=4w8Hz5pfmMzhkHAbBim6jwxHxMicaN4xi
68
68
  examples/llamaindex_example/agent.py,sha256=JNK6xDX17HOFRShBK7a71HPWD05LwzPES9YVyl_azIQ,2767
69
69
  examples/llamaindex_example/basic.py,sha256=aFZngkye95sjUr4wc2Uo_Je0iEexXpNcdlV0BTv_F4g,726
70
70
  examples/llamaindex_example/data/abramov.txt,sha256=Ou-GyWZm5AjHLgxviBoRE9ikNv5MScsF0cd--0vVVhI,32667
71
+ examples/milvus_example/main.py,sha256=zN3dSN-v-qtcbhUIzCR6b26cI-2CFVjUAKNp-gz8cN4,3378
71
72
  examples/mistral_example/__init__.py,sha256=4kMzYY7whzUFkT9LvqPp9wSdwNtk8pq28pmZIhCJBvU,467
72
73
  examples/mistral_example/complete.py,sha256=Ydf5iOCGM2tySSd5vzGvNh3Qz39aTpxcCItBii9b0ig,589
73
74
  examples/mistral_example/complete_async.py,sha256=-SVOLNLNi5JL3o4obBsCXKOt8A6b61j3otbrrYPOOtM,586
@@ -103,8 +104,8 @@ examples/vertexai_example/main.py,sha256=gndId5X5ksD-ycxnAWMdEqIDbLc3kz5Vt8vm4YP
103
104
  examples/weaviate_example/__init__.py,sha256=8JMDBsRSEV10HfTd-YC7xb4txBjD3la56snk-Bbg2Kw,618
104
105
  examples/weaviate_example/query_text.py,sha256=wPHQTc_58kPoKTZMygVjTj-2ZcdrIuaausJfMxNQnQc,127162
105
106
  langtrace_python_sdk/__init__.py,sha256=VZM6i71NR7pBQK6XvJWRelknuTYUhqwqE7PlicKa5Wg,1166
106
- langtrace_python_sdk/langtrace.py,sha256=rxd-Vn0hTqqd02E5S6KzwjiTdSMttNfhY63d74Xi_gk,12529
107
- langtrace_python_sdk/version.py,sha256=Smy9HlTNV-SDgnJHDo2272CgsZJYueox7aaoRhK744k,22
107
+ langtrace_python_sdk/langtrace.py,sha256=TtRWuUiWUB0S7JiQpUsF9lZsiyqPG3m9mMDX-QlDgAw,12601
108
+ langtrace_python_sdk/version.py,sha256=3F4-qyOqFzf6p1RSj1DFFxsNoAZY7v8Lh4g109vr39E,22
108
109
  langtrace_python_sdk/constants/__init__.py,sha256=3CNYkWMdd1DrkGqzLUgNZXjdAlM6UFMlf_F-odAToyc,146
109
110
  langtrace_python_sdk/constants/exporter/langtrace_exporter.py,sha256=d-3Qn5C_NTy1NkmdavZvy-6vePwTC5curN6QMy2haHc,50
110
111
  langtrace_python_sdk/constants/instrumentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,11 +113,12 @@ langtrace_python_sdk/constants/instrumentation/anthropic.py,sha256=YX3llt3zwDY6X
112
113
  langtrace_python_sdk/constants/instrumentation/aws_bedrock.py,sha256=f9eukqoxrPgPeaBJX2gpBUz1uu0dZIPahOpvoudfbH8,310
113
114
  langtrace_python_sdk/constants/instrumentation/chroma.py,sha256=hiPGYdHS0Yj4Kh3eaYBbuCAl_swqIygu80yFqkOgdak,955
114
115
  langtrace_python_sdk/constants/instrumentation/cohere.py,sha256=tf9sDfb5K3qOAHChEE5o8eYWPZ1io58VsOjZDCZPxfw,577
115
- langtrace_python_sdk/constants/instrumentation/common.py,sha256=OJcZBJptWlZGmsdI47n9pqH4q-KkYB9xN0WvtQfeaoo,1151
116
+ langtrace_python_sdk/constants/instrumentation/common.py,sha256=T3s3c6JnSPDkKJWTLTGcdcOeUO2Oqt9cjSkIZwlhYcY,1175
116
117
  langtrace_python_sdk/constants/instrumentation/embedchain.py,sha256=HodCJvaFjILoOG50OwFObxfVxt_8VUaIAIqvgoN3tzo,278
117
118
  langtrace_python_sdk/constants/instrumentation/gemini.py,sha256=UAmfgg9FM7uNeOCdPfWlir6OIH-8BoxFGPRpdBd9ZZs,358
118
119
  langtrace_python_sdk/constants/instrumentation/groq.py,sha256=VFXmIl4aqGY_fS0PAmjPj_Qm7Tibxbx7Ur_e7rQpqXc,134
119
120
  langtrace_python_sdk/constants/instrumentation/litellm.py,sha256=bMAlpY2scFe6Lql0Nl7euGNSO9QEV5Uzne12hnw3mSE,449
121
+ langtrace_python_sdk/constants/instrumentation/milvus.py,sha256=lnl7RtV2Wc66mEmtVMjV5eWalt-caH4-sQEHpN1LmEE,1029
120
122
  langtrace_python_sdk/constants/instrumentation/mistral.py,sha256=9PlmcC5P5_BHJ-zsX1xekht6rSm7arTin58HAfdYvLk,730
121
123
  langtrace_python_sdk/constants/instrumentation/ollama.py,sha256=H_-S0xjqRsi5qSp7mAlK7Y9NlQ3BqOkG6ASogqqgdJY,212
122
124
  langtrace_python_sdk/constants/instrumentation/openai.py,sha256=uEOH5UXapU2DSf2AdgXTRhhJEHGWXUNFkUGD5QafflM,1164
@@ -128,7 +130,7 @@ langtrace_python_sdk/constants/instrumentation/weaviate.py,sha256=gtv-JBxvNGClEM
128
130
  langtrace_python_sdk/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
131
  langtrace_python_sdk/extensions/langtrace_exporter.py,sha256=UFupNL03zklVd5penpsfXjbWSb5qB39mEv2BY2wczSs,6307
130
132
  langtrace_python_sdk/extensions/langtrace_filesystem.py,sha256=34fZutG28EJ66l67OvTGsydAH3ZpXgikdE7hVLqBpG4,7863
131
- langtrace_python_sdk/instrumentation/__init__.py,sha256=sH9bZVQN9oHZHjGnIFLSue3jbkhvHTfb4D6x3nuChCQ,1931
133
+ langtrace_python_sdk/instrumentation/__init__.py,sha256=ftQa0rnss2V-HLZC2KDkhTEsLHhvRzdzabQTVV0omZQ,2002
132
134
  langtrace_python_sdk/instrumentation/anthropic/__init__.py,sha256=donrurJAGYlxrSRA3BIf76jGeUcAx9Tq8CVpah68S0Y,101
133
135
  langtrace_python_sdk/instrumentation/anthropic/instrumentation.py,sha256=ndXdruI0BG7n75rsuEpKjfzePxrZxg40gZ39ONmD_v4,1845
134
136
  langtrace_python_sdk/instrumentation/anthropic/patch.py,sha256=ztPN4VZujoxYOKhTbFnup7Ibms9NAzYCPAJY43NUgKw,4935
@@ -168,7 +170,7 @@ langtrace_python_sdk/instrumentation/langchain/instrumentation.py,sha256=mek9-wl
168
170
  langtrace_python_sdk/instrumentation/langchain/patch.py,sha256=sjmY-Ciu6G-qRV_mHJ2HFWqbEWXnA75GH_WFK_d_p6o,4410
169
171
  langtrace_python_sdk/instrumentation/langchain_community/__init__.py,sha256=mj5RR_cfkjMql7W9OyyhmviT2GZ-4Pv9XJfGwJufp_E,119
170
172
  langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py,sha256=TmMRXcaiMR99Qg7r7pT1XunCr_GOQl_Csr6leSKYyTQ,5350
171
- langtrace_python_sdk/instrumentation/langchain_community/patch.py,sha256=fn-FBbu56ko7XSer0dDdQtIaXcsdZ7L_il_YjnAdL8I,5817
173
+ langtrace_python_sdk/instrumentation/langchain_community/patch.py,sha256=Vh9XxkXo_0eD3etrTTb-6ME6LroNJy5e75VYcfhc44U,6289
172
174
  langtrace_python_sdk/instrumentation/langchain_core/__init__.py,sha256=kumE_reeqgM-ZvEZ6-XxyT-F-HAdKq_v_PKvsLb4EZQ,110
173
175
  langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py,sha256=szTCveG4IP64rlaY4iZATWv2f38k1_DtfbBU60YlfYk,6730
174
176
  langtrace_python_sdk/instrumentation/langchain_core/patch.py,sha256=CXEfbq6E88X_y3JF7CaEEbNCYzSfig5ztNHW-aiiTic,10918
@@ -182,6 +184,9 @@ langtrace_python_sdk/instrumentation/litellm/types.py,sha256=aVkoa7tmAbYfyOhnyMr
182
184
  langtrace_python_sdk/instrumentation/llamaindex/__init__.py,sha256=rHvuqpuQKLj57Ow7vuKRqxAN5jT0b5NBeHwhXbbnRa4,103
183
185
  langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py,sha256=8iAg-Oxwf2W4S60qRfO5mvzORYxublgq7FdGWqUB4q8,2965
184
186
  langtrace_python_sdk/instrumentation/llamaindex/patch.py,sha256=548hzPyT_k-2wmt9AArv4JzTT4j4AGKJq5Ar2bWv7o8,4615
187
+ langtrace_python_sdk/instrumentation/milvus/__init__.py,sha256=gGb0xdMrpX_IEHdTplMt_U5A2IrKRc7lf5VU0WAsgVY,88
188
+ langtrace_python_sdk/instrumentation/milvus/instrumentation.py,sha256=bpf6uRIJ44F1H2ncIgjjrVSwHMs1EiX7kTOy-urMDu0,928
189
+ langtrace_python_sdk/instrumentation/milvus/patch.py,sha256=0yY5aQz0x7hpQZ8U-0qfyk_KIizW60s0e2CZrXe3FNk,4729
185
190
  langtrace_python_sdk/instrumentation/mistral/__init__.py,sha256=mkGALBQvq0jSfwDl6TU09SFwnVs6O4zkUi-yVmd3SNg,90
186
191
  langtrace_python_sdk/instrumentation/mistral/instrumentation.py,sha256=qtCkHCSOaiicUChbmTID4lcK1rbeW8oRSbpda2ogbgM,2328
187
192
  langtrace_python_sdk/instrumentation/mistral/patch.py,sha256=1peU0vqt9BGYn2PFNyKAMKNRVMEujXNyZGzgttPJrTQ,6580
@@ -197,7 +202,7 @@ langtrace_python_sdk/instrumentation/pinecone/instrumentation.py,sha256=HDXkRITr
197
202
  langtrace_python_sdk/instrumentation/pinecone/patch.py,sha256=MIbUcEsVzl4W_pfq81LP9QFVhwPB8rHF0Aod9pq_j-o,5249
198
203
  langtrace_python_sdk/instrumentation/pymongo/__init__.py,sha256=Q_ecuvZ0j5TxOCdD69BfZhCPT6rj7w5lHbTuDSpLYD4,97
199
204
  langtrace_python_sdk/instrumentation/pymongo/instrumentation.py,sha256=fG938JR2Be3zy19JUyvKxafYQPavnUV9eMtD7Vn0_fc,1597
200
- langtrace_python_sdk/instrumentation/pymongo/patch.py,sha256=4K-_QWTXoWDzpYEgaWPkf6kvXGnAmHKvp8H2gMmPokA,2330
205
+ langtrace_python_sdk/instrumentation/pymongo/patch.py,sha256=jZeoBLLz-Xdzk9HrHY01t8Lm-y-mgv8XUAL2q9-zsK8,2300
201
206
  langtrace_python_sdk/instrumentation/qdrant/__init__.py,sha256=TaIGSAEPysrL23KJ5FcEL1tfQogrKCtEQ75_u62eqso,95
202
207
  langtrace_python_sdk/instrumentation/qdrant/instrumentation.py,sha256=vl2eKSP55aqDo1JiRlvOUBrr6kddvG9Z5dCYew2OG08,1816
203
208
  langtrace_python_sdk/instrumentation/qdrant/patch.py,sha256=IgdozFyKqB8n72BjKvBDiMhYM4o75DReD0I8_uIQ7KY,5015
@@ -259,8 +264,8 @@ tests/pinecone/cassettes/test_query.yaml,sha256=b5v9G3ssUy00oG63PlFUR3JErF2Js-5A
259
264
  tests/pinecone/cassettes/test_upsert.yaml,sha256=neWmQ1v3d03V8WoLl8FoFeeCYImb8pxlJBWnFd_lITU,38607
260
265
  tests/qdrant/conftest.py,sha256=9n0uHxxIjWk9fbYc4bx-uP8lSAgLBVx-cV9UjnsyCHM,381
261
266
  tests/qdrant/test_qdrant.py,sha256=pzjAjVY2kmsmGfrI2Gs2xrolfuaNHz7l1fqGQCjp5_o,3353
262
- langtrace_python_sdk-3.3.4.dist-info/METADATA,sha256=V3hpMc2mbI4ubOf-0oluHaVAVtUVPGhEBD6HE1u43Pk,16005
263
- langtrace_python_sdk-3.3.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
264
- langtrace_python_sdk-3.3.4.dist-info/entry_points.txt,sha256=1_b9-qvf2fE7uQNZcbUei9vLpFZBbbh9LrtGw95ssAo,70
265
- langtrace_python_sdk-3.3.4.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
266
- langtrace_python_sdk-3.3.4.dist-info/RECORD,,
267
+ langtrace_python_sdk-3.3.7.dist-info/METADATA,sha256=mPY5ZCzq5zv5tozpM1La21OLTU6I2phpk9zevTexhns,15642
268
+ langtrace_python_sdk-3.3.7.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
269
+ langtrace_python_sdk-3.3.7.dist-info/entry_points.txt,sha256=1_b9-qvf2fE7uQNZcbUei9vLpFZBbbh9LrtGw95ssAo,70
270
+ langtrace_python_sdk-3.3.7.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
271
+ langtrace_python_sdk-3.3.7.dist-info/RECORD,,