langtrace-python-sdk 2.3.3__py3-none-any.whl → 2.3.4__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.
@@ -14,6 +14,7 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  """
16
16
 
17
+ from typing import Any, Dict, Union
17
18
  from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
18
19
  from langtrace_python_sdk.utils import set_span_attribute
19
20
  from langtrace_python_sdk.types import NOT_GIVEN
@@ -145,7 +146,7 @@ def get_llm_request_attributes(kwargs, prompts=None, model=None, operation_name=
145
146
  }
146
147
 
147
148
 
148
- def get_extra_attributes():
149
+ def get_extra_attributes() -> Union[Dict[str, Any], object]:
149
150
  extra_attributes = baggage.get_baggage(LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY)
150
151
  return extra_attributes or {}
151
152
 
@@ -228,7 +229,7 @@ def set_event_completion(span: Span, result_content):
228
229
  )
229
230
 
230
231
 
231
- def set_span_attributes(span: Span, attributes: dict):
232
+ def set_span_attributes(span: Span, attributes: Any) -> None:
232
233
  for field, value in attributes.model_dump(by_alias=True).items():
233
234
  set_span_attribute(span, field, value)
234
235
 
@@ -255,11 +256,13 @@ class StreamWrapper:
255
256
  self._span_started = True
256
257
 
257
258
  def cleanup(self):
258
- if self.completion_tokens==0:
259
- response_model = 'cl100k_base'
259
+ if self.completion_tokens == 0:
260
+ response_model = "cl100k_base"
260
261
  if self._response_model in list_encoding_names():
261
262
  response_model = self._response_model
262
- self.completion_tokens = estimate_tokens_using_tiktoken("".join(self.result_content), response_model)
263
+ self.completion_tokens = estimate_tokens_using_tiktoken(
264
+ "".join(self.result_content), response_model
265
+ )
263
266
  if self._span_started:
264
267
  set_span_attribute(
265
268
  self.span,
@@ -420,8 +423,10 @@ class StreamWrapper:
420
423
  def process_chunk(self, chunk):
421
424
  # Mistral nests the chunk data under a `data` attribute
422
425
  if (
423
- hasattr(chunk, "data") and chunk.data is not None
424
- and hasattr(chunk.data, "choices") and chunk.data.choices is not None
426
+ hasattr(chunk, "data")
427
+ and chunk.data is not None
428
+ and hasattr(chunk.data, "choices")
429
+ and chunk.data.choices is not None
425
430
  ):
426
431
  chunk = chunk.data
427
432
  self.set_response_model(chunk=chunk)
@@ -1,14 +1,29 @@
1
+ """
2
+ Copyright (c) 2024 Scale3 Labs
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+ http://www.apache.org/licenses/LICENSE-2.0
7
+ Unless required by applicable law or agreed to in writing, software
8
+ distributed under the License is distributed on an "AS IS" BASIS,
9
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ See the License for the specific language governing permissions and
11
+ limitations under the License.
12
+ """
13
+
1
14
  import logging
15
+ from typing import Any, Callable, Tuple, TypeVar, cast
2
16
 
17
+ F = TypeVar('F', bound=Callable[..., Any])
3
18
 
4
- def silently_fail(func):
19
+ def silently_fail(func: F) -> F:
5
20
  """
6
21
  A decorator that catches exceptions thrown by the decorated function and logs them as warnings.
7
22
  """
8
23
 
9
24
  logger = logging.getLogger(func.__module__)
10
25
 
11
- def wrapper(*args, **kwargs):
26
+ def wrapper(*args: Tuple[Any, ...], **kwargs: dict[str, Any]) -> Any:
12
27
  try:
13
28
  return func(*args, **kwargs)
14
29
  except Exception as exception:
@@ -16,4 +31,5 @@ def silently_fail(func):
16
31
  "Failed to execute %s, error: %s", func.__name__, str(exception)
17
32
  )
18
33
 
19
- return wrapper
34
+ return cast(F, wrapper)
35
+
@@ -1 +1 @@
1
- __version__ = "2.3.3"
1
+ __version__ = "2.3.4"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langtrace-python-sdk
3
- Version: 2.3.3
3
+ Version: 2.3.4
4
4
  Summary: Python SDK for LangTrace
5
5
  Project-URL: Homepage, https://github.com/Scale3-Labs/langtrace-python-sdk
6
6
  Author-email: Scale3 Labs <engineering@scale3labs.com>
@@ -1,6 +1,6 @@
1
1
  examples/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
2
2
  examples/anthropic_example/__init__.py,sha256=03us1YuvAJR6fqXX8NH2kROBfTmyz7KzFVY01UlL-tM,237
3
- examples/anthropic_example/completion.py,sha256=LXcuXxRx9hy4b9Woq0aCBx_PS0QYmYi2bT2N96CgS_Q,686
3
+ examples/anthropic_example/completion.py,sha256=3_YEZrt0BLVNJT_RbLXg6JGP2bweuc_HPC2MWR73tOM,713
4
4
  examples/chroma_example/__init__.py,sha256=Mrf8KptW1hhzu6WDdRRTxbaB-0kM7x5u-Goc_zR7G5c,203
5
5
  examples/chroma_example/basic.py,sha256=oO7-__8HptnFXLVKbnPgoz02yM-CAPi721xsbUb_gYg,868
6
6
  examples/cohere_example/__init__.py,sha256=oYpsnS-dKOlWLkPEUWhXxi1vfxa77bt_DOdkJHg__7g,502
@@ -57,7 +57,7 @@ examples/mistral_example/complete_async.py,sha256=-SVOLNLNi5JL3o4obBsCXKOt8A6b61
57
57
  examples/mistral_example/embeddings.py,sha256=LKq_k3Y-TS2SCkyFKw2tLiYreVRHqlY6z0Gfh1y_7u0,468
58
58
  examples/ollama_example/__init__.py,sha256=qOx0jGCPuSpRCPiqtDVm7F0z8hIZ8C75hDZ_C8Apz-s,399
59
59
  examples/ollama_example/basic.py,sha256=EPbsigOF4xBDBgLgAD0EzPo737ycVm7aXZr7F5Xt-A4,1062
60
- examples/openai_example/__init__.py,sha256=MU4CELvhe2EU6d4Okg-bTfjvfGxQO7PNzqMw1yrVeCA,828
60
+ examples/openai_example/__init__.py,sha256=6faH7wTegSozKmS89sd1Tgv8AcEH0GfKkC7YaBWA8tg,849
61
61
  examples/openai_example/async_tool_calling_nonstreaming.py,sha256=H1-CrNfNDfqAkB5wEipITXlW2OsYL7XD5uQb6k3C6ps,3865
62
62
  examples/openai_example/async_tool_calling_streaming.py,sha256=LaSKmn_Unv55eTHXYdEmKjo39eNuB3ASOBV-m8U1HfU,7136
63
63
  examples/openai_example/chat_completion.py,sha256=HPFdM0lA01yo5VvZRRdgczyPSa-eurnALP723laOv6M,1192
@@ -86,7 +86,7 @@ examples/weaviate_example/__init__.py,sha256=8JMDBsRSEV10HfTd-YC7xb4txBjD3la56sn
86
86
  examples/weaviate_example/query_text.py,sha256=wPHQTc_58kPoKTZMygVjTj-2ZcdrIuaausJfMxNQnQc,127162
87
87
  langtrace_python_sdk/__init__.py,sha256=VZM6i71NR7pBQK6XvJWRelknuTYUhqwqE7PlicKa5Wg,1166
88
88
  langtrace_python_sdk/langtrace.py,sha256=rjIEwPd-Iq0mcSCh_3CEK-38kyJwazdR1CfDa_U4mfQ,8468
89
- langtrace_python_sdk/version.py,sha256=s0EEVOzZFl_WT6PzFxk9cgtfsNGRuqeXrX3fgGq9Ogs,22
89
+ langtrace_python_sdk/version.py,sha256=V3JuwBWPUgLiobXC7DivZI3eWt6Cy_7a_iP_DDpg3ns,22
90
90
  langtrace_python_sdk/constants/__init__.py,sha256=P8QvYwt5czUNDZsKS64vxm9Dc41ptGbuF1TFtAF6nv4,44
91
91
  langtrace_python_sdk/constants/exporter/langtrace_exporter.py,sha256=5MNjnAOg-4am78J3gVMH6FSwq5N8TOj72ugkhsw4vi0,46
92
92
  langtrace_python_sdk/constants/instrumentation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -109,17 +109,18 @@ langtrace_python_sdk/extensions/langtrace_exporter.py,sha256=nbDFxDsDRjpi7otiHHn
109
109
  langtrace_python_sdk/extensions/langtrace_filesystem.py,sha256=34fZutG28EJ66l67OvTGsydAH3ZpXgikdE7hVLqBpG4,7863
110
110
  langtrace_python_sdk/instrumentation/__init__.py,sha256=bkyxh6lq_6dgCdbBseFQEbejRTLZv4s9nLBfNSqL6lk,1548
111
111
  langtrace_python_sdk/instrumentation/anthropic/__init__.py,sha256=donrurJAGYlxrSRA3BIf76jGeUcAx9Tq8CVpah68S0Y,101
112
- langtrace_python_sdk/instrumentation/anthropic/instrumentation.py,sha256=-srgE8qumAn0ulQYZxMa8ch-9IBH0XgBW_rfEnGk6LI,1684
113
- langtrace_python_sdk/instrumentation/anthropic/patch.py,sha256=i_94sJXURVgKIUVKJ3mMqZydWtlv5BlIRqQEk8utrL4,4546
112
+ langtrace_python_sdk/instrumentation/anthropic/instrumentation.py,sha256=ndXdruI0BG7n75rsuEpKjfzePxrZxg40gZ39ONmD_v4,1845
113
+ langtrace_python_sdk/instrumentation/anthropic/patch.py,sha256=_-PcDTNTvcNGjtk00YvLUJlQ3jm0HGZ0i77OveDJ8no,4806
114
+ langtrace_python_sdk/instrumentation/anthropic/types.py,sha256=kboPgvqXPk1zJdISRjNj3LfB--6OiTuw7UzZezYAXWQ,2480
114
115
  langtrace_python_sdk/instrumentation/chroma/__init__.py,sha256=pNZ5UO8Q-d5VkXSobBf79reB6AmEl_usnnTp5Itv818,95
115
116
  langtrace_python_sdk/instrumentation/chroma/instrumentation.py,sha256=nT6PS6bsrIOO9kLV5GuUeRjMe6THHHAZGvqWBP1dYog,1807
116
117
  langtrace_python_sdk/instrumentation/chroma/patch.py,sha256=jYcqBeu-0cYA29PO880oXYRwYh-R1oseXmzfK6UDBps,9074
117
118
  langtrace_python_sdk/instrumentation/cohere/__init__.py,sha256=sGUSLdTUyYf36Tm6L5jQflhzCqvmWrhnBOMYHjvp6Hs,95
118
119
  langtrace_python_sdk/instrumentation/cohere/instrumentation.py,sha256=YQFHZIBd7SSPD4b6Va-ZR0thf_AuBCqj5yzHLHJVWnM,2121
119
- langtrace_python_sdk/instrumentation/cohere/patch.py,sha256=Yb0OwxO4gG-WBfGhTFrwUUJEgpnRlyWI_FZveA4T1QU,20972
120
+ langtrace_python_sdk/instrumentation/cohere/patch.py,sha256=L-Lmh1apO7XiyJnByZk8F-icjrKqAwVo0JZUQS3uNNQ,20873
120
121
  langtrace_python_sdk/instrumentation/crewai/__init__.py,sha256=_UBKfvQv7l0g2_wnmA5F6CdSAFH0atNOVPd49zsN3aM,88
121
122
  langtrace_python_sdk/instrumentation/crewai/instrumentation.py,sha256=5Umzq8zjEnMEtjZZiMB4DQOPkxZ-1vts7RKC6JWpn24,2969
122
- langtrace_python_sdk/instrumentation/crewai/patch.py,sha256=oGpVnpq78q_O0t70XGHxYQoXv8Gy8L-s7HbM3ThPaB8,9313
123
+ langtrace_python_sdk/instrumentation/crewai/patch.py,sha256=CHTYkioOMifIzK5o7BMJLgh0D_cnbHQN3fbUqaLGBpI,8896
123
124
  langtrace_python_sdk/instrumentation/dspy/__init__.py,sha256=tM1srfi_QgyCzrde4izojMrRq2Wm7Dj5QUvVQXIJzkk,84
124
125
  langtrace_python_sdk/instrumentation/dspy/instrumentation.py,sha256=o8URiDvCbZ8LL0I-4xKHkn_Ms2sETBRpn-gOliv3xzQ,2929
125
126
  langtrace_python_sdk/instrumentation/dspy/patch.py,sha256=E2P3MJBQ71or4M6BsvZOwYFtJK1UdTsYkdxVj9fSWPs,9869
@@ -128,10 +129,10 @@ langtrace_python_sdk/instrumentation/embedchain/instrumentation.py,sha256=dShwm0
128
129
  langtrace_python_sdk/instrumentation/embedchain/patch.py,sha256=ovvBrtqUDwGSmSgK_S3pOOrDa4gkPSFG-HvmsxqmJE8,3627
129
130
  langtrace_python_sdk/instrumentation/gemini/__init__.py,sha256=ilWmKA4Li-g3DX6R10WQ4v-51VljxToEnJpOQoQB5uQ,88
130
131
  langtrace_python_sdk/instrumentation/gemini/instrumentation.py,sha256=eGWr2dy1f_9TVZiXSH_MlNQINyS4I28EsOTKREdMVio,1304
131
- langtrace_python_sdk/instrumentation/gemini/patch.py,sha256=Zedp4bZH3-45LOaieSGyoTffgWJjqLs1YCDwM53v2CI,6228
132
+ langtrace_python_sdk/instrumentation/gemini/patch.py,sha256=thhqxrzk-nLiV0lzEwVWzbzOJndDarYIck6N9Gq3aTM,6151
132
133
  langtrace_python_sdk/instrumentation/groq/__init__.py,sha256=ZXeq_nrej6Lm_uoMFEg8wbSejhjB2UJ5IoHQBPc2-C0,91
133
134
  langtrace_python_sdk/instrumentation/groq/instrumentation.py,sha256=Ttf07XVKhdYY1_fqJc7QWiSdmgEhEVyQB_3Az2_wqYo,1832
134
- langtrace_python_sdk/instrumentation/groq/patch.py,sha256=SmpsNVQyRcsvdh2fCKHsQ-EWsauMV972s99hznuNOjk,23504
135
+ langtrace_python_sdk/instrumentation/groq/patch.py,sha256=MNz2brkSDQT2eRKJFAwUwMEOca9TQC4gsuYIx7WpEA4,22955
135
136
  langtrace_python_sdk/instrumentation/langchain/__init__.py,sha256=-7ZkqQFu64F-cxSFd1ZPrciODKqmUIyUbQQ-eHuQPyM,101
136
137
  langtrace_python_sdk/instrumentation/langchain/instrumentation.py,sha256=Q7rnpB8wlnG2V7KbHWxnNKAKD02ra8sm_q6pr-OPM60,3921
137
138
  langtrace_python_sdk/instrumentation/langchain/patch.py,sha256=sjmY-Ciu6G-qRV_mHJ2HFWqbEWXnA75GH_WFK_d_p6o,4410
@@ -154,8 +155,9 @@ langtrace_python_sdk/instrumentation/ollama/__init__.py,sha256=g2zJsXnDHinXPzTc-
154
155
  langtrace_python_sdk/instrumentation/ollama/instrumentation.py,sha256=jdsvkqUJAAUNLVPtAkn_rG26HXetVQXWtjn4a6eWZro,2029
155
156
  langtrace_python_sdk/instrumentation/ollama/patch.py,sha256=7ETx0tQic5h_kH1f-IeptFwgNTBb4hSkTkWsB18Avm0,5375
156
157
  langtrace_python_sdk/instrumentation/openai/__init__.py,sha256=VPHRNCQEdkizIVP2d0Uw_a7t8XOTSTprEIB8oboJFbs,95
157
- langtrace_python_sdk/instrumentation/openai/instrumentation.py,sha256=A0BJHRLcZ74TNVg6I0I9M5YWvSpAtXwMmME6N5CEQ_M,2945
158
- langtrace_python_sdk/instrumentation/openai/patch.py,sha256=Zf7Q5f7FgmmYloJqUSQDOAAZpq3ctxlWRDKFU8QnkFQ,24239
158
+ langtrace_python_sdk/instrumentation/openai/instrumentation.py,sha256=PZxI0qfoud1VsKGmJu49YDp0Z9z9TzCR8qxR3uznOMA,2810
159
+ langtrace_python_sdk/instrumentation/openai/patch.py,sha256=qM8u2JUDHml5zFYEw7-i_cAweBu_DPsO7X5Yl1xPo5E,23756
160
+ langtrace_python_sdk/instrumentation/openai/types.py,sha256=aVkoa7tmAbYfyOhnyMrDaVjQuwhmRNLMthlNtKMtWX8,4311
159
161
  langtrace_python_sdk/instrumentation/pinecone/__init__.py,sha256=DzXyGh9_MGWveJvXULkFwdkf7PbG2s3bAWtT1Dmz7Ok,99
160
162
  langtrace_python_sdk/instrumentation/pinecone/instrumentation.py,sha256=HDXkRITrVPwdQEoOYJOfMzZE_2-vDDvuqHTlD8W1lQw,1845
161
163
  langtrace_python_sdk/instrumentation/pinecone/patch.py,sha256=MIbUcEsVzl4W_pfq81LP9QFVhwPB8rHF0Aod9pq_j-o,5249
@@ -164,18 +166,18 @@ langtrace_python_sdk/instrumentation/qdrant/instrumentation.py,sha256=vl2eKSP55a
164
166
  langtrace_python_sdk/instrumentation/qdrant/patch.py,sha256=IgdozFyKqB8n72BjKvBDiMhYM4o75DReD0I8_uIQ7KY,5015
165
167
  langtrace_python_sdk/instrumentation/vertexai/__init__.py,sha256=ZzKxB7bl0FaRlgJhhgAk5V8Bf20FmThWM_Z9u9Eyy1s,92
166
168
  langtrace_python_sdk/instrumentation/vertexai/instrumentation.py,sha256=Keeb1D7nJDYu33w6H8Q8jLS7OOJtSIHqngvJMipWqJo,1143
167
- langtrace_python_sdk/instrumentation/vertexai/patch.py,sha256=mfd3LiKYGMW3jLf9OEi7Iq9NUOThLskCqa_blvFmGV0,4489
169
+ langtrace_python_sdk/instrumentation/vertexai/patch.py,sha256=vPxwuSKgA3cUtelgot4XZEox8AD4ehsi3bNTKD_HS_M,4394
168
170
  langtrace_python_sdk/instrumentation/weaviate/__init__.py,sha256=Mc-Je6evPo-kKQzerTG7bd1XO5JOh4YGTE3wBxaUBwg,99
169
171
  langtrace_python_sdk/instrumentation/weaviate/instrumentation.py,sha256=bzPwtoQD0X6beLYXe6ZL7XRkyRkqdiqKiGc4gOlCQdU,2295
170
- langtrace_python_sdk/instrumentation/weaviate/patch.py,sha256=nr7USyY6overK3GQCo4Si0x3eoEl9ptoMRXuQUP4Ox8,6671
172
+ langtrace_python_sdk/instrumentation/weaviate/patch.py,sha256=C4-zF6IY13yZs_BPJP5wxpRNpASQIVu-ey1kR5y9u4o,6453
171
173
  langtrace_python_sdk/types/__init__.py,sha256=MeGkmoy2OY3V21GErDIdlf_N8Aj7HDld5Tpbvq2PwTY,4104
172
174
  langtrace_python_sdk/utils/__init__.py,sha256=giTHkvDOQdqFqXU4PoGP7DhA9tAteZN-KxX3mEUg6QQ,893
173
175
  langtrace_python_sdk/utils/langtrace_sampler.py,sha256=BupNndHbU9IL_wGleKetz8FdcveqHMBVz1bfKTTW80w,1753
174
- langtrace_python_sdk/utils/llm.py,sha256=7-b3r7NM2WeiVycIy0nmSer9aaVs9x3mIvTGyL7dWps,14590
176
+ langtrace_python_sdk/utils/llm.py,sha256=kPBsVPv8U7LjgKKT3_nrYFrGmluZ7hmFjZ80O0hiKE8,14722
175
177
  langtrace_python_sdk/utils/misc.py,sha256=7PRJ45BwuwJ6fPAdy1OpBau8QERR2aWaVvzDvZ7JTkE,1729
176
178
  langtrace_python_sdk/utils/prompt_registry.py,sha256=n5dQMVLBw8aJZY8Utvf67bncc25ELf6AH9BYw8_hSzo,2619
177
179
  langtrace_python_sdk/utils/sdk_version_checker.py,sha256=FzjIWZjn53cX0LEVPdipQd1fO9lG8iGVUEVUs9Hyk6M,1713
178
- langtrace_python_sdk/utils/silently_fail.py,sha256=F_9EteXCO9Cyq-8MA1OT2Zy_dx8n06nt31I7t7ui24E,478
180
+ langtrace_python_sdk/utils/silently_fail.py,sha256=wzmvRDZppaRZgVP8C1xpq2GlWXYCwubhaeWvEbQP1SI,1196
179
181
  langtrace_python_sdk/utils/types.py,sha256=l-N6o7cnWUyrD6dBvW7W3Pf5CkPo5QaoT__k1XLbrQg,383
180
182
  langtrace_python_sdk/utils/with_root_span.py,sha256=2iWu8XD1NOFqSFgDZDJiMHZ1JB4HzmYPLr_F3Ugul2k,8480
181
183
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -220,8 +222,8 @@ tests/pinecone/cassettes/test_query.yaml,sha256=b5v9G3ssUy00oG63PlFUR3JErF2Js-5A
220
222
  tests/pinecone/cassettes/test_upsert.yaml,sha256=neWmQ1v3d03V8WoLl8FoFeeCYImb8pxlJBWnFd_lITU,38607
221
223
  tests/qdrant/conftest.py,sha256=9n0uHxxIjWk9fbYc4bx-uP8lSAgLBVx-cV9UjnsyCHM,381
222
224
  tests/qdrant/test_qdrant.py,sha256=pzjAjVY2kmsmGfrI2Gs2xrolfuaNHz7l1fqGQCjp5_o,3353
223
- langtrace_python_sdk-2.3.3.dist-info/METADATA,sha256=f2TSpX8FY3eMW1DsIm21UOSmafBu4rbrvAnSYCJMfTY,15011
224
- langtrace_python_sdk-2.3.3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
225
- langtrace_python_sdk-2.3.3.dist-info/entry_points.txt,sha256=1_b9-qvf2fE7uQNZcbUei9vLpFZBbbh9LrtGw95ssAo,70
226
- langtrace_python_sdk-2.3.3.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
227
- langtrace_python_sdk-2.3.3.dist-info/RECORD,,
225
+ langtrace_python_sdk-2.3.4.dist-info/METADATA,sha256=t5WV1418586CZeej1o61a6IXanvQYwOiqUxHZjRnBh8,15011
226
+ langtrace_python_sdk-2.3.4.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
227
+ langtrace_python_sdk-2.3.4.dist-info/entry_points.txt,sha256=1_b9-qvf2fE7uQNZcbUei9vLpFZBbbh9LrtGw95ssAo,70
228
+ langtrace_python_sdk-2.3.4.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
229
+ langtrace_python_sdk-2.3.4.dist-info/RECORD,,