lmnr 0.6.18__py3-none-any.whl → 0.6.20__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/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py +55 -20
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/schema_utils.py +23 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/__init__.py +61 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/__init__.py +442 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/chat_wrappers.py +1024 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/completion_wrappers.py +297 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/config.py +16 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py +308 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_emitter.py +100 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_models.py +41 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py +68 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py +185 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v0/__init__.py +176 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/__init__.py +358 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py +319 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py +132 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/responses_wrappers.py +626 -0
- lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/version.py +1 -0
- lmnr/opentelemetry_lib/tracing/_instrument_initializers.py +1 -3
- lmnr/sdk/browser/browser_use_otel.py +1 -1
- lmnr/sdk/browser/patchright_otel.py +0 -14
- lmnr/sdk/browser/playwright_otel.py +16 -130
- lmnr/sdk/browser/pw_utils.py +45 -31
- lmnr/sdk/client/asynchronous/async_client.py +13 -0
- lmnr/sdk/client/asynchronous/resources/__init__.py +2 -0
- lmnr/sdk/client/asynchronous/resources/evaluators.py +85 -0
- lmnr/sdk/client/asynchronous/resources/tags.py +4 -10
- lmnr/sdk/client/synchronous/resources/__init__.py +2 -1
- lmnr/sdk/client/synchronous/resources/evaluators.py +85 -0
- lmnr/sdk/client/synchronous/resources/tags.py +4 -10
- lmnr/sdk/client/synchronous/sync_client.py +14 -0
- lmnr/sdk/utils.py +23 -0
- lmnr/version.py +1 -1
- {lmnr-0.6.18.dist-info → lmnr-0.6.20.dist-info}/METADATA +2 -5
- {lmnr-0.6.18.dist-info → lmnr-0.6.20.dist-info}/RECORD +37 -18
- {lmnr-0.6.18.dist-info → lmnr-0.6.20.dist-info}/WHEEL +1 -1
- {lmnr-0.6.18.dist-info → lmnr-0.6.20.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
"""Evaluators resource for creating evaluator scores."""
|
2
|
+
|
3
|
+
import uuid
|
4
|
+
from typing import Any
|
5
|
+
|
6
|
+
from lmnr.sdk.client.synchronous.resources.base import BaseResource
|
7
|
+
from lmnr.sdk.utils import format_id
|
8
|
+
|
9
|
+
|
10
|
+
class Evaluators(BaseResource):
|
11
|
+
"""Resource for creating evaluator scores."""
|
12
|
+
|
13
|
+
def score(
|
14
|
+
self,
|
15
|
+
*,
|
16
|
+
name: str,
|
17
|
+
trace_id: str | int | uuid.UUID | None = None,
|
18
|
+
span_id: str | int | uuid.UUID | None = None,
|
19
|
+
metadata: dict[str, Any] | None = None,
|
20
|
+
score: float,
|
21
|
+
) -> None:
|
22
|
+
"""Create a score for a span.
|
23
|
+
|
24
|
+
Args:
|
25
|
+
name (str): Name of the score
|
26
|
+
trace_id (str | int | uuid.UUID | None, optional): The trace ID to score (will be attached to root span)
|
27
|
+
span_id (str | int | uuid.UUID | None, optional): The span ID to score
|
28
|
+
metadata (dict[str, Any] | None, optional): Additional metadata. Defaults to None.
|
29
|
+
score (float): The score value (float)
|
30
|
+
|
31
|
+
Raises:
|
32
|
+
ValueError: If there's an error creating the score.
|
33
|
+
|
34
|
+
Example:
|
35
|
+
Score by trace ID (will attach to root span):
|
36
|
+
|
37
|
+
>>> laminar_client.evaluators.score(
|
38
|
+
... name="quality",
|
39
|
+
... trace_id="trace-id-here",
|
40
|
+
... score=0.95,
|
41
|
+
... metadata={"model": "gpt-4"}
|
42
|
+
... )
|
43
|
+
|
44
|
+
Score by span ID:
|
45
|
+
|
46
|
+
>>> laminar_client.evaluators.score(
|
47
|
+
... name="relevance",
|
48
|
+
... span_id="span-id-here",
|
49
|
+
... score=0.87
|
50
|
+
... )
|
51
|
+
"""
|
52
|
+
if trace_id is not None and span_id is not None:
|
53
|
+
raise ValueError("Cannot provide both trace_id and span_id. Please provide only one.")
|
54
|
+
if trace_id is None and span_id is None:
|
55
|
+
raise ValueError("Either 'trace_id' or 'span_id' must be provided.")
|
56
|
+
|
57
|
+
if trace_id is not None:
|
58
|
+
formatted_trace_id = format_id(trace_id)
|
59
|
+
payload = {
|
60
|
+
"name": name,
|
61
|
+
"traceId": formatted_trace_id,
|
62
|
+
"metadata": metadata,
|
63
|
+
"score": score,
|
64
|
+
"source": "Code",
|
65
|
+
}
|
66
|
+
else:
|
67
|
+
formatted_span_id = format_id(span_id)
|
68
|
+
payload = {
|
69
|
+
"name": name,
|
70
|
+
"spanId": formatted_span_id,
|
71
|
+
"metadata": metadata,
|
72
|
+
"score": score,
|
73
|
+
"source": "Code",
|
74
|
+
}
|
75
|
+
|
76
|
+
response = self._client.post(
|
77
|
+
self._base_url + "/v1/evaluators/score",
|
78
|
+
json=payload,
|
79
|
+
headers=self._headers(),
|
80
|
+
)
|
81
|
+
|
82
|
+
if response.status_code != 200:
|
83
|
+
if response.status_code == 401:
|
84
|
+
raise ValueError("Unauthorized. Please check your project API key.")
|
85
|
+
raise ValueError(f"Error creating evaluator score: {response.text}")
|
@@ -5,6 +5,7 @@ import uuid
|
|
5
5
|
|
6
6
|
from lmnr.sdk.client.synchronous.resources.base import BaseResource
|
7
7
|
from lmnr.sdk.log import get_default_logger
|
8
|
+
from lmnr.sdk.utils import format_id
|
8
9
|
|
9
10
|
logger = get_default_logger(__name__)
|
10
11
|
|
@@ -54,18 +55,11 @@ class Tags(BaseResource):
|
|
54
55
|
```
|
55
56
|
"""
|
56
57
|
trace_tags = tags if isinstance(tags, list) else [tags]
|
57
|
-
|
58
|
-
trace_id = str(trace_id)
|
59
|
-
elif isinstance(trace_id, int):
|
60
|
-
trace_id = str(uuid.UUID(int=trace_id))
|
61
|
-
elif isinstance(trace_id, str):
|
62
|
-
uuid.UUID(trace_id)
|
63
|
-
else:
|
64
|
-
raise ValueError(f"Invalid trace id: {trace_id}")
|
58
|
+
formatted_trace_id = format_id(trace_id)
|
65
59
|
|
66
60
|
url = self._base_url + "/v1/tag"
|
67
61
|
payload = {
|
68
|
-
"traceId":
|
62
|
+
"traceId": formatted_trace_id,
|
69
63
|
"names": trace_tags,
|
70
64
|
}
|
71
65
|
response = self._client.post(
|
@@ -78,7 +72,7 @@ class Tags(BaseResource):
|
|
78
72
|
|
79
73
|
if response.status_code == 404:
|
80
74
|
logger.warning(
|
81
|
-
f"Trace {
|
75
|
+
f"Trace {formatted_trace_id} not found. The trace may have not been ended yet."
|
82
76
|
)
|
83
77
|
return []
|
84
78
|
|
@@ -11,6 +11,7 @@ from lmnr.sdk.client.synchronous.resources import (
|
|
11
11
|
Agent,
|
12
12
|
BrowserEvents,
|
13
13
|
Evals,
|
14
|
+
Evaluators,
|
14
15
|
Tags,
|
15
16
|
)
|
16
17
|
from lmnr.sdk.utils import from_env
|
@@ -27,6 +28,7 @@ class LaminarClient:
|
|
27
28
|
__agent: Agent | None = None
|
28
29
|
__evals: Evals | None = None
|
29
30
|
__tags: Tags | None = None
|
31
|
+
__evaluators: Evaluators | None = None
|
30
32
|
|
31
33
|
def __init__(
|
32
34
|
self,
|
@@ -74,6 +76,9 @@ class LaminarClient:
|
|
74
76
|
# Initialize resource objects
|
75
77
|
self.__agent = Agent(self.__client, self.__base_url, self.__project_api_key)
|
76
78
|
self.__evals = Evals(self.__client, self.__base_url, self.__project_api_key)
|
79
|
+
self.__evaluators = Evaluators(
|
80
|
+
self.__client, self.__base_url, self.__project_api_key
|
81
|
+
)
|
77
82
|
self.__browser_events = BrowserEvents(
|
78
83
|
self.__client, self.__base_url, self.__project_api_key
|
79
84
|
)
|
@@ -115,6 +120,15 @@ class LaminarClient:
|
|
115
120
|
"""
|
116
121
|
return self.__tags
|
117
122
|
|
123
|
+
@property
|
124
|
+
def evaluators(self) -> Evaluators:
|
125
|
+
"""Get the Evaluators resource.
|
126
|
+
|
127
|
+
Returns:
|
128
|
+
Evaluators: The Evaluators resource instance.
|
129
|
+
"""
|
130
|
+
return self.__evaluators
|
131
|
+
|
118
132
|
def shutdown(self):
|
119
133
|
"""Shutdown the client by closing underlying connections."""
|
120
134
|
self.__client.close()
|
lmnr/sdk/utils.py
CHANGED
@@ -128,3 +128,26 @@ def is_otel_attribute_value_type(value: typing.Any) -> bool:
|
|
128
128
|
)
|
129
129
|
return True
|
130
130
|
return False
|
131
|
+
|
132
|
+
|
133
|
+
def format_id(id_value: str | int | uuid.UUID) -> str:
|
134
|
+
"""Format trace/span/evaluation ID to a UUID string, or return valid UUID strings as-is.
|
135
|
+
|
136
|
+
Args:
|
137
|
+
id_value: The ID in various formats (UUID, int, or valid UUID string)
|
138
|
+
|
139
|
+
Returns:
|
140
|
+
str: UUID string representation
|
141
|
+
|
142
|
+
Raises:
|
143
|
+
ValueError: If id_value cannot be converted to a valid UUID
|
144
|
+
"""
|
145
|
+
if isinstance(id_value, uuid.UUID):
|
146
|
+
return str(id_value)
|
147
|
+
elif isinstance(id_value, int):
|
148
|
+
return str(uuid.UUID(int=id_value))
|
149
|
+
elif isinstance(id_value, str):
|
150
|
+
uuid.UUID(id_value)
|
151
|
+
return id_value
|
152
|
+
else:
|
153
|
+
raise ValueError(f"Invalid ID type: {type(id_value)}")
|
lmnr/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: lmnr
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.20
|
4
4
|
Summary: Python SDK for Laminar
|
5
5
|
Author: lmnr.ai
|
6
6
|
Author-email: lmnr.ai <founders@lmnr.ai>
|
@@ -12,7 +12,7 @@ Requires-Dist: opentelemetry-sdk>=1.33.0
|
|
12
12
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.33.0
|
13
13
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.33.0
|
14
14
|
Requires-Dist: opentelemetry-semantic-conventions>=0.54b0
|
15
|
-
Requires-Dist: opentelemetry-semantic-conventions-ai>=0.4.
|
15
|
+
Requires-Dist: opentelemetry-semantic-conventions-ai>=0.4.9
|
16
16
|
Requires-Dist: tqdm>=4.0
|
17
17
|
Requires-Dist: tenacity>=8.0
|
18
18
|
Requires-Dist: grpcio>=1
|
@@ -36,7 +36,6 @@ Requires-Dist: opentelemetry-instrumentation-mcp>=0.40.12 ; extra == 'all'
|
|
36
36
|
Requires-Dist: opentelemetry-instrumentation-milvus>=0.40.12 ; extra == 'all'
|
37
37
|
Requires-Dist: opentelemetry-instrumentation-mistralai>=0.40.12 ; extra == 'all'
|
38
38
|
Requires-Dist: opentelemetry-instrumentation-ollama>=0.40.12 ; extra == 'all'
|
39
|
-
Requires-Dist: opentelemetry-instrumentation-openai>=0.40.12 ; extra == 'all'
|
40
39
|
Requires-Dist: opentelemetry-instrumentation-pinecone>=0.40.12 ; extra == 'all'
|
41
40
|
Requires-Dist: opentelemetry-instrumentation-qdrant>=0.40.12 ; extra == 'all'
|
42
41
|
Requires-Dist: opentelemetry-instrumentation-replicate>=0.40.12 ; extra == 'all'
|
@@ -62,7 +61,6 @@ Requires-Dist: opentelemetry-instrumentation-mcp>=0.40.12 ; extra == 'mcp'
|
|
62
61
|
Requires-Dist: opentelemetry-instrumentation-milvus>=0.40.12 ; extra == 'milvus'
|
63
62
|
Requires-Dist: opentelemetry-instrumentation-mistralai>=0.40.12 ; extra == 'mistralai'
|
64
63
|
Requires-Dist: opentelemetry-instrumentation-ollama>=0.40.12 ; extra == 'ollama'
|
65
|
-
Requires-Dist: opentelemetry-instrumentation-openai>=0.40.12 ; extra == 'openai'
|
66
64
|
Requires-Dist: opentelemetry-instrumentation-pinecone>=0.40.12 ; extra == 'pinecone'
|
67
65
|
Requires-Dist: opentelemetry-instrumentation-qdrant>=0.40.12 ; extra == 'qdrant'
|
68
66
|
Requires-Dist: opentelemetry-instrumentation-replicate>=0.40.12 ; extra == 'replicate'
|
@@ -91,7 +89,6 @@ Provides-Extra: mcp
|
|
91
89
|
Provides-Extra: milvus
|
92
90
|
Provides-Extra: mistralai
|
93
91
|
Provides-Extra: ollama
|
94
|
-
Provides-Extra: openai
|
95
92
|
Provides-Extra: pinecone
|
96
93
|
Provides-Extra: qdrant
|
97
94
|
Provides-Extra: replicate
|
@@ -5,15 +5,32 @@ lmnr/opentelemetry_lib/__init__.py,sha256=6962aca915d485586ed814b9e799ced898594a
|
|
5
5
|
lmnr/opentelemetry_lib/decorators/__init__.py,sha256=e391d5a189c70b563d0ff552922a036ea0f7826e113c2e6c2a8ceda26048e63f,8496
|
6
6
|
lmnr/opentelemetry_lib/litellm/__init__.py,sha256=c23a38e88b7919d866c4f09a880f2468ac9acf756cb910d1614082b2dbcad3e6,14858
|
7
7
|
lmnr/opentelemetry_lib/litellm/utils.py,sha256=da8cf0553f82dc7203109f117a4c7b4185e8baf34caad12d7823875515201a27,539
|
8
|
-
lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py,sha256=
|
8
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py,sha256=8eb4abc2a96aa09ab9104d74ae508ea9ea6a6cbf60f8cd333b4c15c425db48e8,20166
|
9
9
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/config.py,sha256=db9cdebc9ee0dccb493ffe608eede3047efec20ed26c3924b72b2e50edbd92c2,245
|
10
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/schema_utils.py,sha256=857a6bc52f8bfd4da72786173615d31faaf3f9378f8f6150ffe8f6f9c4bb78f9,685
|
10
11
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/utils.py,sha256=f1248196246826d899304e510c4c2df74088d8169d28f1d0aed578a7a6c3cbfd,7669
|
11
12
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/__init__.py,sha256=272bfd92865d180e3ea13681ec04c1ec3697eda34e63edd83862f8c17d1cecf3,3107
|
12
13
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/utils.py,sha256=9dff6c2595e79edb38818668aed1220efc188d8a982594c04f4ceeb6e3ff47a6,1512
|
14
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/__init__.py,sha256=8b91dc16af927eee75b969c0980c606680b347a87f8533bc0f4a092e5ec6e5c9,2071
|
15
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/__init__.py,sha256=dcc910aa6df02263cad89c1feac2aa21e316fdd6b491ebca2b93fd24a5149625,14911
|
16
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/chat_wrappers.py,sha256=15a1236b0b383089f4ddf8bef50ccab48e57d01fa403b1f6008922980d931f46,33422
|
17
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/completion_wrappers.py,sha256=cb72111e7a5a7a13920b79b6f76bb504e54ece81855dc997978fdbdd11d36f85,9180
|
18
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/config.py,sha256=8016e4af0291a77484ce88d7d1ca06146b1229ae0e0a0f46e042faf75b456a8f,507
|
19
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py,sha256=345c4c795019418b9c7cbf4e571689b566f2b0e350579b48fd2f5f2535351586,9076
|
20
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_emitter.py,sha256=9c96455b5ca2064dd3a9fb570d78b14ebbdf3d02f8e33255ee9e301c31336c9e,3043
|
21
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_models.py,sha256=3c27c21b1aeb02bc19a91fb8c05717ae1c10ab4b01300c664aba42e0f50cb5a3,876
|
22
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py,sha256=9650a0e4ad2d3bfb2a072590da189bcf4f807aca070945af26a9f9b99d779b77,2021
|
23
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py,sha256=88796cca1f8ee07c5face21e1fbe66f572191cecc2c93c62c22f84ee5a47e299,4727
|
24
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v0/__init__.py,sha256=7f43421e052bd8f64d5d5b03170a3b7187c2ce038362fa15b5d1d0c43bc1a40d,6143
|
25
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/__init__.py,sha256=662afd935c52b42512280614bf502554389c8854ab1256efbfde03fe364dac64,12932
|
26
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py,sha256=8f36cb3eeeead7abdfa43bca3fdf73fdf2fba562bb1a746225696a2b2dde4f50,10111
|
27
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py,sha256=18d106e77f26ebb233bf3379edf3116540891d643be72be73ea47be3724a89b8,4211
|
28
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/responses_wrappers.py,sha256=84842236814038421c7d2fa5bd15361a8c0ad625a81b1cd963a351399fec9efb,23733
|
29
|
+
lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/version.py,sha256=4f39aaa913f3e49b0c174bc23028687d00bfaffc745bd3fe241e0ae6b442bed1,24
|
13
30
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/opentelemetry/__init__.py,sha256=1f86cdf738e2f68586b0a4569bb1e40edddd85c529f511ef49945ddb7b61fab5,2648
|
14
31
|
lmnr/opentelemetry_lib/opentelemetry/instrumentation/skyvern/__init__.py,sha256=764e4fe979fb08d7821419a3cc5c3ae89a6664b626ef928259f8f175c939eaea,6334
|
15
32
|
lmnr/opentelemetry_lib/tracing/__init__.py,sha256=dbb4288007be687cab56be9be7af8376e526d0a104db82b5695d9ed67a2e4cd8,6007
|
16
|
-
lmnr/opentelemetry_lib/tracing/_instrument_initializers.py,sha256=
|
33
|
+
lmnr/opentelemetry_lib/tracing/_instrument_initializers.py,sha256=53444be1c6c1f9c5acc3291a4984222519d3237abf9ed1c9296b438776e7ec36,15110
|
17
34
|
lmnr/opentelemetry_lib/tracing/attributes.py,sha256=32fa30565b977c2a92202dc2bf1ded583a81d02a6bf5ba52958f75a8be08cbbe,1497
|
18
35
|
lmnr/opentelemetry_lib/tracing/context_properties.py,sha256=6966ef31d581e10eeea9cd06192b237115cc4dc3b5f1a58e68865edd0c92fda0,2314
|
19
36
|
lmnr/opentelemetry_lib/tracing/exporter.py,sha256=6af8e61fd873e8f5db315d9b9f1edbf46b860ba7e50140f0bdcc6864c6d35a03,2082
|
@@ -26,26 +43,28 @@ lmnr/opentelemetry_lib/utils/package_check.py,sha256=493d81bc3c6dd1b6b1fa287d17d
|
|
26
43
|
lmnr/py.typed,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
27
44
|
lmnr/sdk/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
28
45
|
lmnr/sdk/browser/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
29
|
-
lmnr/sdk/browser/browser_use_otel.py,sha256=
|
30
|
-
lmnr/sdk/browser/patchright_otel.py,sha256=
|
31
|
-
lmnr/sdk/browser/playwright_otel.py,sha256=
|
32
|
-
lmnr/sdk/browser/pw_utils.py,sha256=
|
46
|
+
lmnr/sdk/browser/browser_use_otel.py,sha256=aa7470285eb09648f9bf2f3f8fb4409b0ca68ab1cc545d37914a9ac04cc0048e,5092
|
47
|
+
lmnr/sdk/browser/patchright_otel.py,sha256=e72b5c42ffa2fd4107aa630b6d1253f18fbda4cef84396538a3e0ccefaa03e47,5079
|
48
|
+
lmnr/sdk/browser/playwright_otel.py,sha256=59f477e921e777d49ccda4ef1017a50bb5584fd901cf7d9ed7889468f0586a16,9470
|
49
|
+
lmnr/sdk/browser/pw_utils.py,sha256=81bb14ffc53c47a72961e8d1e231efc473f9b2cb7e2992e97751e8dad0e69184,11009
|
33
50
|
lmnr/sdk/browser/rrweb/rrweb.umd.min.cjs,sha256=2f2da38b00bb85312d8225f3069a09352135564ceed2564f652f1bae3bac016d,260896
|
34
51
|
lmnr/sdk/browser/utils.py,sha256=4a668776d2938108d25fbcecd61c8e1710a4da3e56230d5fefca5964dd09e3c1,2371
|
35
|
-
lmnr/sdk/client/asynchronous/async_client.py,sha256=
|
36
|
-
lmnr/sdk/client/asynchronous/resources/__init__.py,sha256=
|
52
|
+
lmnr/sdk/client/asynchronous/async_client.py,sha256=e8feae007506cd2e4b08e72706f5f1bb4ea54492b4aa6b68ef184a129de8f466,4948
|
53
|
+
lmnr/sdk/client/asynchronous/resources/__init__.py,sha256=993423ea462aa8ea37d8d91662341c1ca0711cb2447cd476aacc373858f76135,481
|
37
54
|
lmnr/sdk/client/asynchronous/resources/agent.py,sha256=3a78372b62912cdeda831d7ff9a671306713fce185dff646b452e6f1a3cc6d8c,17788
|
38
55
|
lmnr/sdk/client/asynchronous/resources/base.py,sha256=689e37435ae5b60db7210688e1e79a64a724c554e00d46c226b0a18500941281,986
|
39
56
|
lmnr/sdk/client/asynchronous/resources/browser_events.py,sha256=4fe0d46db01f310d95aa255f815a65c6e4da259ba835c0b53ba442c5d7f0ed44,1163
|
40
57
|
lmnr/sdk/client/asynchronous/resources/evals.py,sha256=8c6f8096916657ef269463b2d0585795d9cedad056a047abcde6365ff0b320bd,5761
|
41
|
-
lmnr/sdk/client/asynchronous/resources/
|
42
|
-
lmnr/sdk/client/
|
58
|
+
lmnr/sdk/client/asynchronous/resources/evaluators.py,sha256=964046f5146e89032fbb701b883f4f3a7cb996aeb9ff368f86e8f967df2fef10,2918
|
59
|
+
lmnr/sdk/client/asynchronous/resources/tags.py,sha256=14fc2e38cae2f6fe126dc8dca085d7ad02d8d7c1a09bc4b5b5b8e38a0edf7348,2314
|
60
|
+
lmnr/sdk/client/synchronous/resources/__init__.py,sha256=685792a8c8494ea061592b86cb63d6bb0dca8d9848181aa11b7d97d5714df337,403
|
43
61
|
lmnr/sdk/client/synchronous/resources/agent.py,sha256=9a74eeeada0dd8b6e0984850fa6759d02ccd02792b1a292caf2b34032330cf60,17809
|
44
62
|
lmnr/sdk/client/synchronous/resources/base.py,sha256=9ded59675d1498d90cac4095bc295c1097dc1499521af697382f0aea66533dd6,971
|
45
63
|
lmnr/sdk/client/synchronous/resources/browser_events.py,sha256=f6b1585997ac5d0a269c581b679f74b4614c4da363d0e0334fd45c1700fcabf6,1135
|
46
64
|
lmnr/sdk/client/synchronous/resources/evals.py,sha256=415fefe234519f8affb24d858efa9d6c0735f966b6194977a96ac2ce16d066c0,7008
|
47
|
-
lmnr/sdk/client/synchronous/resources/
|
48
|
-
lmnr/sdk/client/synchronous/
|
65
|
+
lmnr/sdk/client/synchronous/resources/evaluators.py,sha256=3cd6a17e7a9cc0441c2d20bf6cf46ce3720131cc30053e2cd124e5668c75f49a,2879
|
66
|
+
lmnr/sdk/client/synchronous/resources/tags.py,sha256=123deec43128662c21cb275b2df6a102372f875315b0bd36806555394c1d4b5b,2270
|
67
|
+
lmnr/sdk/client/synchronous/sync_client.py,sha256=0bebe88e3aed689505e9ed3d32036f76df4c3496e4d659162bd41abedc026f16,5299
|
49
68
|
lmnr/sdk/datasets.py,sha256=3fd851c5f97bf88eaa84b1451a053eaff23b4497cbb45eac2f9ea0e5f2886c00,1708
|
50
69
|
lmnr/sdk/decorators.py,sha256=d6ebbdc7105881b945aa5850a87d7b71962aedb69b026075944b6f0604ec3f41,4468
|
51
70
|
lmnr/sdk/eval_control.py,sha256=291394ac385c653ae9b5167e871bebeb4fe8fc6b7ff2ed38e636f87015dcba86,184
|
@@ -53,9 +72,9 @@ lmnr/sdk/evaluations.py,sha256=ad40c6a48d5e34aa33f3d9ad80514f2055e7eb360b820697b
|
|
53
72
|
lmnr/sdk/laminar.py,sha256=a0e55ca3f73d66cb53ef51ecaae1ac81bb45ba65ddd848f3d2b97faa998c9535,33996
|
54
73
|
lmnr/sdk/log.py,sha256=9edfd83263f0d4845b1b2d1beeae2b4ed3f8628de941f371a893d72b79c348d4,2213
|
55
74
|
lmnr/sdk/types.py,sha256=650a7949e609359b0adcaadb49e5cf63fc67ea61a35b9992c3f8b445dfce6b89,12328
|
56
|
-
lmnr/sdk/utils.py,sha256=
|
57
|
-
lmnr/version.py,sha256=
|
58
|
-
lmnr-0.6.
|
59
|
-
lmnr-0.6.
|
60
|
-
lmnr-0.6.
|
61
|
-
lmnr-0.6.
|
75
|
+
lmnr/sdk/utils.py,sha256=4beb884ae6fbbc7d8cf639b036b726ea6a2a658f0a6386faf5735a13d706a2d8,5039
|
76
|
+
lmnr/version.py,sha256=fec940af89e4f538f3f2c79e3670aaf085c8fa8edd10da2a292bcd224a3f2a26,1322
|
77
|
+
lmnr-0.6.20.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
|
78
|
+
lmnr-0.6.20.dist-info/entry_points.txt,sha256=abdf3411b7dd2d7329a241f2da6669bab4e314a747a586ecdb9f888f3035003c,39
|
79
|
+
lmnr-0.6.20.dist-info/METADATA,sha256=dd5758deaf108a40ec4b216482914e90f414199c716887e94af4328b74a32878,14475
|
80
|
+
lmnr-0.6.20.dist-info/RECORD,,
|
File without changes
|