lmnr 0.4.50__py3-none-any.whl → 0.4.54__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.
- lmnr/openllmetry_sdk/__init__.py +0 -2
- lmnr/openllmetry_sdk/decorators/base.py +4 -14
- lmnr/openllmetry_sdk/tracing/tracing.py +21 -16
- lmnr/sdk/datasets.py +0 -1
- lmnr/sdk/evaluations.py +5 -4
- lmnr/sdk/laminar.py +16 -14
- {lmnr-0.4.50.dist-info → lmnr-0.4.54.dist-info}/METADATA +56 -30
- {lmnr-0.4.50.dist-info → lmnr-0.4.54.dist-info}/RECORD +11 -11
- {lmnr-0.4.50.dist-info → lmnr-0.4.54.dist-info}/WHEEL +1 -1
- {lmnr-0.4.50.dist-info → lmnr-0.4.54.dist-info}/LICENSE +0 -0
- {lmnr-0.4.50.dist-info → lmnr-0.4.54.dist-info}/entry_points.txt +0 -0
lmnr/openllmetry_sdk/__init__.py
CHANGED
@@ -12,8 +12,8 @@ from opentelemetry.trace import Span
|
|
12
12
|
|
13
13
|
from lmnr.sdk.utils import get_input_from_func_args, is_method
|
14
14
|
from lmnr.openllmetry_sdk.tracing import get_tracer
|
15
|
-
from lmnr.openllmetry_sdk.tracing.attributes import SPAN_INPUT, SPAN_OUTPUT
|
16
|
-
from lmnr.openllmetry_sdk.tracing.tracing import TracerWrapper
|
15
|
+
from lmnr.openllmetry_sdk.tracing.attributes import SPAN_INPUT, SPAN_OUTPUT
|
16
|
+
from lmnr.openllmetry_sdk.tracing.tracing import TracerWrapper
|
17
17
|
from lmnr.openllmetry_sdk.utils.json_encoder import JSONEncoder
|
18
18
|
|
19
19
|
|
@@ -50,11 +50,7 @@ def entity_method(
|
|
50
50
|
with get_tracer() as tracer:
|
51
51
|
span = tracer.start_span(span_name)
|
52
52
|
|
53
|
-
|
54
|
-
span.set_attribute(SPAN_PATH, span_path)
|
55
|
-
ctx = context_api.set_value("span_path", span_path)
|
56
|
-
|
57
|
-
ctx = trace.set_span_in_context(span, ctx)
|
53
|
+
ctx = trace.set_span_in_context(span, context_api.get_current())
|
58
54
|
ctx_token = context_api.attach(ctx)
|
59
55
|
|
60
56
|
try:
|
@@ -101,8 +97,6 @@ def entity_method(
|
|
101
97
|
|
102
98
|
|
103
99
|
# Async Decorators
|
104
|
-
|
105
|
-
|
106
100
|
def aentity_method(
|
107
101
|
name: Optional[str] = None,
|
108
102
|
):
|
@@ -117,11 +111,7 @@ def aentity_method(
|
|
117
111
|
with get_tracer() as tracer:
|
118
112
|
span = tracer.start_span(span_name)
|
119
113
|
|
120
|
-
|
121
|
-
span.set_attribute(SPAN_PATH, span_path)
|
122
|
-
ctx = context_api.set_value("span_path", span_path)
|
123
|
-
|
124
|
-
ctx = trace.set_span_in_context(span, ctx)
|
114
|
+
ctx = trace.set_span_in_context(span, context_api.get_current())
|
125
115
|
ctx_token = context_api.attach(ctx)
|
126
116
|
|
127
117
|
try:
|
@@ -23,11 +23,11 @@ from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
|
|
23
23
|
OTLPSpanExporter as GRPCExporter,
|
24
24
|
)
|
25
25
|
from opentelemetry.instrumentation.threading import ThreadingInstrumentor
|
26
|
-
from opentelemetry.context import get_value, attach, set_value
|
26
|
+
from opentelemetry.context import get_value, attach, get_current, set_value, Context
|
27
27
|
from opentelemetry.propagate import set_global_textmap
|
28
28
|
from opentelemetry.propagators.textmap import TextMapPropagator
|
29
29
|
from opentelemetry.sdk.resources import Resource
|
30
|
-
from opentelemetry.sdk.trace import TracerProvider, SpanProcessor
|
30
|
+
from opentelemetry.sdk.trace import TracerProvider, SpanProcessor, Span
|
31
31
|
from opentelemetry.sdk.trace.export import (
|
32
32
|
SpanExporter,
|
33
33
|
SimpleSpanProcessor,
|
@@ -70,6 +70,7 @@ class TracerWrapper(object):
|
|
70
70
|
headers: Dict[str, str] = {}
|
71
71
|
__tracer_provider: TracerProvider = None
|
72
72
|
__logger: logging.Logger = None
|
73
|
+
__span_id_to_path: dict[int, list[str]] = {}
|
73
74
|
|
74
75
|
def __new__(
|
75
76
|
cls,
|
@@ -137,6 +138,7 @@ class TracerWrapper(object):
|
|
137
138
|
return cls.instance
|
138
139
|
|
139
140
|
def exit_handler(self):
|
141
|
+
self.__span_id_to_path = {}
|
140
142
|
self.flush()
|
141
143
|
|
142
144
|
def _initialize_logger(self):
|
@@ -145,14 +147,18 @@ class TracerWrapper(object):
|
|
145
147
|
console_log_handler.setFormatter(VerboseColorfulFormatter())
|
146
148
|
self.__logger.addHandler(console_log_handler)
|
147
149
|
|
148
|
-
def _span_processor_on_start(
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
150
|
+
def _span_processor_on_start(
|
151
|
+
self, span: Span, parent_context: Optional[Context] = None
|
152
|
+
):
|
153
|
+
span_path_in_context = get_value("span_path", parent_context or get_current())
|
154
|
+
span_path_in_context = None
|
155
|
+
parent_span_path = span_path_in_context or (
|
156
|
+
self.__span_id_to_path.get(span.parent.span_id) if span.parent else None
|
157
|
+
)
|
158
|
+
span_path = parent_span_path + [span.name] if parent_span_path else [span.name]
|
159
|
+
span.set_attribute(SPAN_PATH, span_path)
|
160
|
+
set_value("span_path", span_path, get_current())
|
161
|
+
self.__span_id_to_path[span.get_span_context().span_id] = span_path
|
156
162
|
|
157
163
|
span.set_attribute(SPAN_INSTRUMENTATION_SOURCE, "python")
|
158
164
|
|
@@ -186,6 +192,11 @@ class TracerWrapper(object):
|
|
186
192
|
def verify_initialized(cls) -> bool:
|
187
193
|
return hasattr(cls, "instance")
|
188
194
|
|
195
|
+
@classmethod
|
196
|
+
def clear(cls):
|
197
|
+
# Any state cleanup. Now used in between tests
|
198
|
+
cls.__span_id_to_path = {}
|
199
|
+
|
189
200
|
def flush(self):
|
190
201
|
self.__spans_processor.force_flush()
|
191
202
|
|
@@ -231,12 +242,6 @@ def _set_association_properties_attributes(span, properties: dict) -> None:
|
|
231
242
|
span.set_attribute(f"{ASSOCIATION_PROPERTIES}.{key}", value)
|
232
243
|
|
233
244
|
|
234
|
-
def get_span_path(span_name: str) -> str:
|
235
|
-
current_span_path = get_value("span_path")
|
236
|
-
span_path = f"{current_span_path}.{span_name}" if current_span_path else span_name
|
237
|
-
return span_path
|
238
|
-
|
239
|
-
|
240
245
|
def set_managed_prompt_tracing_context(
|
241
246
|
key: str,
|
242
247
|
version: int,
|
lmnr/sdk/datasets.py
CHANGED
lmnr/sdk/evaluations.py
CHANGED
@@ -29,9 +29,10 @@ from .utils import is_async
|
|
29
29
|
DEFAULT_BATCH_SIZE = 5
|
30
30
|
|
31
31
|
|
32
|
-
def get_evaluation_url(
|
33
|
-
|
34
|
-
|
32
|
+
def get_evaluation_url(project_id: str, evaluation_id: str, base_url: Optional[str] = None):
|
33
|
+
if not base_url:
|
34
|
+
base_url = "https://www.lmnr.ai"
|
35
|
+
|
35
36
|
url = base_url
|
36
37
|
if url.endswith("/"):
|
37
38
|
url = url[:-1]
|
@@ -58,7 +59,7 @@ def get_average_scores(results: list[EvaluationResultDatapoint]) -> dict[str, Nu
|
|
58
59
|
|
59
60
|
|
60
61
|
class EvaluationReporter:
|
61
|
-
def __init__(self, base_url
|
62
|
+
def __init__(self, base_url):
|
62
63
|
self.base_url = base_url
|
63
64
|
|
64
65
|
def start(self, length: int):
|
lmnr/sdk/laminar.py
CHANGED
@@ -10,9 +10,8 @@ from lmnr.openllmetry_sdk.tracing.attributes import (
|
|
10
10
|
OVERRIDE_PARENT_SPAN,
|
11
11
|
)
|
12
12
|
from lmnr.openllmetry_sdk.decorators.base import json_dumps
|
13
|
-
from opentelemetry import context, trace
|
14
|
-
from opentelemetry.context import attach, detach
|
15
|
-
from opentelemetry.sdk.trace import SpanProcessor
|
13
|
+
from opentelemetry import context as context_api, trace
|
14
|
+
from opentelemetry.context import attach, detach
|
16
15
|
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
|
17
16
|
from opentelemetry.util.types import AttributeValue
|
18
17
|
|
@@ -37,11 +36,9 @@ from lmnr.openllmetry_sdk.tracing.attributes import (
|
|
37
36
|
SESSION_ID,
|
38
37
|
SPAN_INPUT,
|
39
38
|
SPAN_OUTPUT,
|
40
|
-
SPAN_PATH,
|
41
39
|
TRACE_TYPE,
|
42
40
|
)
|
43
41
|
from lmnr.openllmetry_sdk.tracing.tracing import (
|
44
|
-
get_span_path,
|
45
42
|
remove_association_properties,
|
46
43
|
set_association_properties,
|
47
44
|
update_association_properties,
|
@@ -80,7 +77,7 @@ class Laminar:
|
|
80
77
|
http_port: Optional[int] = None,
|
81
78
|
grpc_port: Optional[int] = None,
|
82
79
|
instruments: Optional[Set[Instruments]] = None,
|
83
|
-
|
80
|
+
disable_batch: bool = False,
|
84
81
|
):
|
85
82
|
"""Initialize Laminar context across the application.
|
86
83
|
This method must be called before using any other Laminar methods or
|
@@ -105,6 +102,14 @@ class Laminar:
|
|
105
102
|
If not specified, defaults to 443.
|
106
103
|
grpc_port (Optional[int], optional): Laminar API grpc port.\
|
107
104
|
If not specified, defaults to 8443.
|
105
|
+
instruments (Optional[Set[Instruments]], optional): Instruments to\
|
106
|
+
enable. Defaults to all instruments. You can pass\
|
107
|
+
an empty set to disable all instruments. Read more:\
|
108
|
+
https://docs.lmnr.ai/tracing/automatic-instrumentation
|
109
|
+
disable_batch (bool, optional): If set to True, spans will be sent\
|
110
|
+
immediately to the backend. Useful for debugging, but\
|
111
|
+
may cause performance overhead in production.
|
112
|
+
Defaults to False.
|
108
113
|
|
109
114
|
Raises:
|
110
115
|
ValueError: If project API key is not set
|
@@ -142,6 +147,7 @@ class Laminar:
|
|
142
147
|
headers={"authorization": f"Bearer {cls.__project_api_key}"},
|
143
148
|
),
|
144
149
|
instruments=instruments,
|
150
|
+
disable_batch=disable_batch,
|
145
151
|
)
|
146
152
|
|
147
153
|
@classmethod
|
@@ -350,8 +356,7 @@ class Laminar:
|
|
350
356
|
return
|
351
357
|
|
352
358
|
with get_tracer() as tracer:
|
353
|
-
|
354
|
-
ctx = set_value("span_path", span_path, context)
|
359
|
+
ctx = context or context_api.get_current()
|
355
360
|
if trace_id is not None:
|
356
361
|
if isinstance(trace_id, uuid.UUID):
|
357
362
|
span_context = trace.SpanContext(
|
@@ -385,7 +390,6 @@ class Laminar:
|
|
385
390
|
name,
|
386
391
|
context=ctx,
|
387
392
|
attributes={
|
388
|
-
SPAN_PATH: span_path,
|
389
393
|
SPAN_TYPE: span_type,
|
390
394
|
**(label_props),
|
391
395
|
},
|
@@ -497,8 +501,7 @@ class Laminar:
|
|
497
501
|
span. Defaults to None.
|
498
502
|
"""
|
499
503
|
with get_tracer() as tracer:
|
500
|
-
|
501
|
-
ctx = set_value("span_path", span_path, context)
|
504
|
+
ctx = context or context_api.get_current()
|
502
505
|
if trace_id is not None:
|
503
506
|
if isinstance(trace_id, uuid.UUID):
|
504
507
|
span_context = trace.SpanContext(
|
@@ -531,7 +534,6 @@ class Laminar:
|
|
531
534
|
name,
|
532
535
|
context=ctx,
|
533
536
|
attributes={
|
534
|
-
SPAN_PATH: span_path,
|
535
537
|
SPAN_TYPE: span_type,
|
536
538
|
**(label_props),
|
537
539
|
},
|
@@ -670,7 +672,7 @@ class Laminar:
|
|
670
672
|
@classmethod
|
671
673
|
def clear_metadata(cls):
|
672
674
|
"""Clear the metadata from the context"""
|
673
|
-
props: dict = copy.copy(
|
675
|
+
props: dict = copy.copy(context_api.get_value("association_properties"))
|
674
676
|
metadata_keys = [k for k in props.keys() if k.startswith("metadata.")]
|
675
677
|
for k in metadata_keys:
|
676
678
|
props.pop(k)
|
@@ -679,7 +681,7 @@ class Laminar:
|
|
679
681
|
@classmethod
|
680
682
|
def clear_session(cls):
|
681
683
|
"""Clear the session and user id from the context"""
|
682
|
-
props: dict = copy.copy(
|
684
|
+
props: dict = copy.copy(context_api.get_value("association_properties"))
|
683
685
|
props.pop("session_id", None)
|
684
686
|
props.pop("user_id", None)
|
685
687
|
set_association_properties(props)
|
@@ -1,9 +1,10 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.3
|
2
2
|
Name: lmnr
|
3
|
-
Version: 0.4.
|
4
|
-
Summary: Python SDK for Laminar
|
3
|
+
Version: 0.4.54
|
4
|
+
Summary: Python SDK for Laminar
|
5
5
|
License: Apache-2.0
|
6
6
|
Author: lmnr.ai
|
7
|
+
Author-email: founders@lmnr.ai
|
7
8
|
Requires-Python: >=3.9,<4
|
8
9
|
Classifier: License :: OSI Approved :: Apache Software License
|
9
10
|
Classifier: Programming Language :: Python :: 3
|
@@ -44,38 +45,63 @@ Requires-Dist: deprecated (>=1.0)
|
|
44
45
|
Requires-Dist: opentelemetry-api (>=1.28.0)
|
45
46
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.28.0)
|
46
47
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.28.0)
|
47
|
-
Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.
|
48
|
-
Requires-Dist: opentelemetry-instrumentation-
|
49
|
-
Requires-Dist: opentelemetry-instrumentation-
|
50
|
-
Requires-Dist: opentelemetry-instrumentation-
|
51
|
-
Requires-Dist: opentelemetry-instrumentation-
|
52
|
-
Requires-Dist: opentelemetry-instrumentation-
|
53
|
-
Requires-Dist: opentelemetry-instrumentation-
|
54
|
-
Requires-Dist: opentelemetry-instrumentation-
|
55
|
-
Requires-Dist: opentelemetry-instrumentation-
|
56
|
-
Requires-Dist: opentelemetry-instrumentation-
|
57
|
-
Requires-Dist: opentelemetry-instrumentation-
|
58
|
-
Requires-Dist: opentelemetry-instrumentation-
|
59
|
-
Requires-Dist: opentelemetry-instrumentation-
|
60
|
-
Requires-Dist: opentelemetry-instrumentation-
|
61
|
-
Requires-Dist: opentelemetry-instrumentation-
|
62
|
-
Requires-Dist: opentelemetry-instrumentation-
|
63
|
-
Requires-Dist: opentelemetry-instrumentation-
|
64
|
-
Requires-Dist: opentelemetry-instrumentation-
|
65
|
-
Requires-Dist: opentelemetry-instrumentation-
|
48
|
+
Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.35.0) ; extra == "alephalpha"
|
49
|
+
Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.35.0) ; extra == "all"
|
50
|
+
Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.35.0) ; extra == "all"
|
51
|
+
Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.35.0) ; extra == "anthropic"
|
52
|
+
Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.35.0) ; extra == "all"
|
53
|
+
Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.35.0) ; extra == "bedrock"
|
54
|
+
Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.35.0) ; extra == "all"
|
55
|
+
Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.35.0) ; extra == "chromadb"
|
56
|
+
Requires-Dist: opentelemetry-instrumentation-cohere (>=0.35.0) ; extra == "all"
|
57
|
+
Requires-Dist: opentelemetry-instrumentation-cohere (>=0.35.0) ; extra == "cohere"
|
58
|
+
Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.35.0) ; extra == "all"
|
59
|
+
Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.35.0) ; extra == "google-generativeai"
|
60
|
+
Requires-Dist: opentelemetry-instrumentation-groq (>=0.35.0) ; extra == "all"
|
61
|
+
Requires-Dist: opentelemetry-instrumentation-groq (>=0.35.0) ; extra == "groq"
|
62
|
+
Requires-Dist: opentelemetry-instrumentation-haystack (>=0.35.0) ; extra == "all"
|
63
|
+
Requires-Dist: opentelemetry-instrumentation-haystack (>=0.35.0) ; extra == "haystack"
|
64
|
+
Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.35.0) ; extra == "all"
|
65
|
+
Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.35.0) ; extra == "lancedb"
|
66
|
+
Requires-Dist: opentelemetry-instrumentation-langchain (>=0.35.0) ; extra == "all"
|
67
|
+
Requires-Dist: opentelemetry-instrumentation-langchain (>=0.35.0) ; extra == "langchain"
|
68
|
+
Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.35.0) ; extra == "all"
|
69
|
+
Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.35.0) ; extra == "llamaindex"
|
70
|
+
Requires-Dist: opentelemetry-instrumentation-marqo (>=0.35.0) ; extra == "all"
|
71
|
+
Requires-Dist: opentelemetry-instrumentation-marqo (>=0.35.0) ; extra == "marqo"
|
72
|
+
Requires-Dist: opentelemetry-instrumentation-milvus (>=0.35.0) ; extra == "all"
|
73
|
+
Requires-Dist: opentelemetry-instrumentation-milvus (>=0.35.0) ; extra == "milvus"
|
74
|
+
Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.35.0) ; extra == "all"
|
75
|
+
Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.35.0) ; extra == "mistralai"
|
76
|
+
Requires-Dist: opentelemetry-instrumentation-ollama (>=0.35.0) ; extra == "all"
|
77
|
+
Requires-Dist: opentelemetry-instrumentation-ollama (>=0.35.0) ; extra == "ollama"
|
78
|
+
Requires-Dist: opentelemetry-instrumentation-openai (>=0.35.0) ; extra == "all"
|
79
|
+
Requires-Dist: opentelemetry-instrumentation-openai (>=0.35.0) ; extra == "openai"
|
80
|
+
Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.35.0) ; extra == "all"
|
81
|
+
Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.35.0) ; extra == "pinecone"
|
82
|
+
Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.35.0) ; extra == "all"
|
83
|
+
Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.35.0) ; extra == "qdrant"
|
84
|
+
Requires-Dist: opentelemetry-instrumentation-replicate (>=0.35.0) ; extra == "all"
|
85
|
+
Requires-Dist: opentelemetry-instrumentation-replicate (>=0.35.0) ; extra == "replicate"
|
66
86
|
Requires-Dist: opentelemetry-instrumentation-requests (>=0.50b0)
|
67
|
-
Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.
|
87
|
+
Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.35.0) ; extra == "all"
|
88
|
+
Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.35.0) ; extra == "sagemaker"
|
68
89
|
Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.50b0)
|
69
90
|
Requires-Dist: opentelemetry-instrumentation-threading (>=0.50b0)
|
70
|
-
Requires-Dist: opentelemetry-instrumentation-together (>=0.
|
71
|
-
Requires-Dist: opentelemetry-instrumentation-
|
91
|
+
Requires-Dist: opentelemetry-instrumentation-together (>=0.35.0) ; extra == "all"
|
92
|
+
Requires-Dist: opentelemetry-instrumentation-together (>=0.35.0) ; extra == "together"
|
93
|
+
Requires-Dist: opentelemetry-instrumentation-transformers (>=0.35.0) ; extra == "all"
|
94
|
+
Requires-Dist: opentelemetry-instrumentation-transformers (>=0.35.0) ; extra == "transformers"
|
72
95
|
Requires-Dist: opentelemetry-instrumentation-urllib3 (>=0.50b0)
|
73
|
-
Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.
|
74
|
-
Requires-Dist: opentelemetry-instrumentation-
|
75
|
-
Requires-Dist: opentelemetry-instrumentation-
|
96
|
+
Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.35.0) ; extra == "all"
|
97
|
+
Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.35.0) ; extra == "vertexai"
|
98
|
+
Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.35.0) ; extra == "all"
|
99
|
+
Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.35.0) ; extra == "watsonx"
|
100
|
+
Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.35.0) ; extra == "all"
|
101
|
+
Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.35.0) ; extra == "weaviate"
|
76
102
|
Requires-Dist: opentelemetry-sdk (>=1.28.0)
|
77
|
-
Requires-Dist: opentelemetry-semantic-conventions-ai (
|
78
|
-
Requires-Dist: pydantic (>=2.
|
103
|
+
Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.2)
|
104
|
+
Requires-Dist: pydantic (>=2.0.3)
|
79
105
|
Requires-Dist: python-dotenv (>=1.0)
|
80
106
|
Requires-Dist: requests (>=2.0)
|
81
107
|
Requires-Dist: tenacity (>=8.0)
|
@@ -2,32 +2,32 @@ lmnr/__init__.py,sha256=Bqxs-8Mh4h69pOHURgBCgo9EW1GwChebxP6wUX2-bsU,452
|
|
2
2
|
lmnr/cli.py,sha256=4J2RZQhHM3jJcjFvBC4PChQTS-ukxykVvI0X6lTkK-o,2918
|
3
3
|
lmnr/openllmetry_sdk/.flake8,sha256=bCxuDlGx3YQ55QHKPiGJkncHanh9qGjQJUujcFa3lAU,150
|
4
4
|
lmnr/openllmetry_sdk/.python-version,sha256=9OLQBQVbD4zE4cJsPePhnAfV_snrPSoqEQw-PXgPMOs,6
|
5
|
-
lmnr/openllmetry_sdk/__init__.py,sha256=
|
5
|
+
lmnr/openllmetry_sdk/__init__.py,sha256=zPxPkkC43MX8SOK0LbItBnzBQBCr_t1zy9QxhaBMLX8,2355
|
6
6
|
lmnr/openllmetry_sdk/config/__init__.py,sha256=DliMGp2NjYAqRFLKpWQPUKjGMHRO8QsVfazBA1qENQ8,248
|
7
7
|
lmnr/openllmetry_sdk/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
|
-
lmnr/openllmetry_sdk/decorators/base.py,sha256=
|
8
|
+
lmnr/openllmetry_sdk/decorators/base.py,sha256=BhfTJHjGnKXZRyug41wnmvjbg2UDq2p7eLEak7RsCXI,5779
|
9
9
|
lmnr/openllmetry_sdk/instruments.py,sha256=CGGUEELldrXkQwAzAkDeAtDq07_pjhz7i14a92P7C_E,1036
|
10
10
|
lmnr/openllmetry_sdk/tracing/__init__.py,sha256=xT73L1t2si2CM6QmMiTZ7zn-dKKYBLNrpBBWq6WfVBw,68
|
11
11
|
lmnr/openllmetry_sdk/tracing/attributes.py,sha256=B_4KVYWAUu-6DQmsm2eCJQcTxm8pG1EByCBK3uOPkuI,1293
|
12
12
|
lmnr/openllmetry_sdk/tracing/content_allow_list.py,sha256=3feztm6PBWNelc8pAZUcQyEGyeSpNiVKjOaDk65l2ps,846
|
13
13
|
lmnr/openllmetry_sdk/tracing/context_manager.py,sha256=rdSus-p-TaevQ8hIAhfbnZr5dTqRvACDkzXGDpflncY,306
|
14
|
-
lmnr/openllmetry_sdk/tracing/tracing.py,sha256=
|
14
|
+
lmnr/openllmetry_sdk/tracing/tracing.py,sha256=N5EeK4yoSa11CPh4J0OvHnDy8uxx018lzJ0FQLVapQ4,32360
|
15
15
|
lmnr/openllmetry_sdk/utils/__init__.py,sha256=pNhf0G3vTd5ccoc03i1MXDbricSaiqCbi1DLWhSekK8,604
|
16
16
|
lmnr/openllmetry_sdk/utils/in_memory_span_exporter.py,sha256=H_4TRaThMO1H6vUQ0OpQvzJk_fZH0OOsRAM1iZQXsR8,2112
|
17
17
|
lmnr/openllmetry_sdk/utils/json_encoder.py,sha256=dK6b_axr70IYL7Vv-bu4wntvDDuyntoqsHaddqX7P58,463
|
18
18
|
lmnr/openllmetry_sdk/utils/package_check.py,sha256=Da4WoTX6J9naODs99DnY9BA-2MxH2pWLmbbVkbQ7VUQ,236
|
19
19
|
lmnr/openllmetry_sdk/version.py,sha256=OlatFEFA4ttqSSIiV8jdE-sq3KG5zu2hnC4B4mzWF3s,23
|
20
20
|
lmnr/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
lmnr/sdk/datasets.py,sha256=
|
21
|
+
lmnr/sdk/datasets.py,sha256=hJcQcwTJbtA4COoVG3god4xll9TBSDMfvrhKmMfanjg,1567
|
22
22
|
lmnr/sdk/decorators.py,sha256=ja2EUWUWvFOp28ER0k78PRuxNahwCVyH0TdM3U-xY7U,1856
|
23
23
|
lmnr/sdk/eval_control.py,sha256=G6Fg3Xx_KWv72iBaWlNMdyRTF2bZFQnwJ68sJNSpIcY,177
|
24
|
-
lmnr/sdk/evaluations.py,sha256=
|
25
|
-
lmnr/sdk/laminar.py,sha256=
|
24
|
+
lmnr/sdk/evaluations.py,sha256=dUIMEmKUzkOmHZ3nxlddk9kKm518C6xvElpgtNsql10,16344
|
25
|
+
lmnr/sdk/laminar.py,sha256=611MLSJwGxVHd7LgW0kPCtwPB2rLlHE_BtVyVrIKFz0,31447
|
26
26
|
lmnr/sdk/log.py,sha256=nt_YMmPw1IRbGy0b7q4rTtP4Yo3pQfNxqJPXK3nDSNQ,2213
|
27
27
|
lmnr/sdk/types.py,sha256=FCNoFoa0ingOvpXGfbiETVsakYyq9Zpoc56MXJ1YDzQ,6390
|
28
28
|
lmnr/sdk/utils.py,sha256=Uk8y15x-sd5tP2ERONahElLDJVEy_3dA_1_5g9A6auY,3358
|
29
|
-
lmnr-0.4.
|
30
|
-
lmnr-0.4.
|
31
|
-
lmnr-0.4.
|
32
|
-
lmnr-0.4.
|
33
|
-
lmnr-0.4.
|
29
|
+
lmnr-0.4.54.dist-info/LICENSE,sha256=67b_wJHVV1CBaWkrKFWU1wyqTPSdzH77Ls-59631COg,10411
|
30
|
+
lmnr-0.4.54.dist-info/METADATA,sha256=ohFPnFyzy3ppgJdvvoz1ofQ6BZFZUsb9wBanIfzUNEc,13829
|
31
|
+
lmnr-0.4.54.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
32
|
+
lmnr-0.4.54.dist-info/entry_points.txt,sha256=K1jE20ww4jzHNZLnsfWBvU3YKDGBgbOiYG5Y7ivQcq4,37
|
33
|
+
lmnr-0.4.54.dist-info/RECORD,,
|
File without changes
|
File without changes
|