lmnr 0.6.13__tar.gz → 0.6.14__tar.gz
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-0.6.13 → lmnr-0.6.14}/PKG-INFO +1 -1
- {lmnr-0.6.13 → lmnr-0.6.14}/pyproject.toml +1 -1
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/evals.py +7 -3
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/evals.py +7 -3
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/evaluations.py +7 -1
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/version.py +1 -1
- {lmnr-0.6.13 → lmnr-0.6.14}/LICENSE +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/README.md +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/cli.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/.flake8 +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/decorators/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/litellm/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/litellm/utils.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/config.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/utils.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/utils.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/_instrument_initializers.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/attributes.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/context_properties.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/exporter.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/instruments.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/processor.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/tracing/tracer.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/utils/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/utils/json_encoder.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/opentelemetry_lib/utils/package_check.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/py.typed +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/browser_use_otel.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/patchright_otel.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/playwright_otel.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/pw_utils.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/rrweb/rrweb.umd.min.cjs +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/browser/utils.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/async_client.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/agent.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/base.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/browser_events.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/asynchronous/resources/tags.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/__init__.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/agent.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/base.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/browser_events.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/resources/tags.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/client/synchronous/sync_client.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/datasets.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/decorators.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/eval_control.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/laminar.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/log.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/types.py +0 -0
- {lmnr-0.6.13 → lmnr-0.6.14}/src/lmnr/sdk/utils.py +0 -0
@@ -15,13 +15,14 @@ class AsyncEvals(BaseAsyncResource):
|
|
15
15
|
"""Resource for interacting with Laminar evaluations API."""
|
16
16
|
|
17
17
|
async def init(
|
18
|
-
self, name: str | None = None, group_name: str | None = None
|
18
|
+
self, name: str | None = None, group_name: str | None = None, metadata: dict[str, Any] | None = None
|
19
19
|
) -> InitEvaluationResponse:
|
20
20
|
"""Initialize a new evaluation.
|
21
21
|
|
22
22
|
Args:
|
23
23
|
name (str | None, optional): Name of the evaluation. Defaults to None.
|
24
24
|
group_name (str | None, optional): Group name for the evaluation. Defaults to None.
|
25
|
+
metadata (dict[str, Any] | None, optional): Metadata to associate with. Defaults to None.
|
25
26
|
|
26
27
|
Returns:
|
27
28
|
InitEvaluationResponse: The response from the initialization request.
|
@@ -31,6 +32,7 @@ class AsyncEvals(BaseAsyncResource):
|
|
31
32
|
json={
|
32
33
|
"name": name,
|
33
34
|
"groupName": group_name,
|
35
|
+
"metadata": metadata,
|
34
36
|
},
|
35
37
|
headers=self._headers(),
|
36
38
|
)
|
@@ -45,6 +47,7 @@ class AsyncEvals(BaseAsyncResource):
|
|
45
47
|
self,
|
46
48
|
name: str | None = None,
|
47
49
|
group_name: str | None = None,
|
50
|
+
metadata: dict[str, Any] | None = None,
|
48
51
|
) -> uuid.UUID:
|
49
52
|
"""
|
50
53
|
Create a new evaluation and return its ID.
|
@@ -52,11 +55,12 @@ class AsyncEvals(BaseAsyncResource):
|
|
52
55
|
Parameters:
|
53
56
|
name (str | None, optional): Optional name of the evaluation.
|
54
57
|
group_name (str | None, optional): An identifier to group evaluations.
|
55
|
-
|
58
|
+
metadata (dict[str, Any] | None, optional): Metadata to associate with. Defaults to None.
|
59
|
+
|
56
60
|
Returns:
|
57
61
|
uuid.UUID: The evaluation ID.
|
58
62
|
"""
|
59
|
-
evaluation = await self.init(name=name, group_name=group_name)
|
63
|
+
evaluation = await self.init(name=name, group_name=group_name, metadata=metadata)
|
60
64
|
return evaluation.id
|
61
65
|
|
62
66
|
async def create_datapoint(
|
@@ -17,13 +17,14 @@ class Evals(BaseResource):
|
|
17
17
|
"""Resource for interacting with Laminar evaluations API."""
|
18
18
|
|
19
19
|
def init(
|
20
|
-
self, name: str | None = None, group_name: str | None = None
|
20
|
+
self, name: str | None = None, group_name: str | None = None, metadata: dict[str, Any] | None = None
|
21
21
|
) -> InitEvaluationResponse:
|
22
22
|
"""Initialize a new evaluation.
|
23
23
|
|
24
24
|
Args:
|
25
25
|
name (str | None, optional): Name of the evaluation. Defaults to None.
|
26
26
|
group_name (str | None, optional): Group name for the evaluation. Defaults to None.
|
27
|
+
metadata (dict[str, Any] | None, optional): Metadata to associate with. Defaults to None.
|
27
28
|
|
28
29
|
Returns:
|
29
30
|
InitEvaluationResponse: The response from the initialization request.
|
@@ -33,6 +34,7 @@ class Evals(BaseResource):
|
|
33
34
|
json={
|
34
35
|
"name": name,
|
35
36
|
"groupName": group_name,
|
37
|
+
"metadata": metadata,
|
36
38
|
},
|
37
39
|
headers=self._headers(),
|
38
40
|
)
|
@@ -47,6 +49,7 @@ class Evals(BaseResource):
|
|
47
49
|
self,
|
48
50
|
name: str | None = None,
|
49
51
|
group_name: str | None = None,
|
52
|
+
metadata: dict[str, Any] | None = None,
|
50
53
|
) -> uuid.UUID:
|
51
54
|
"""
|
52
55
|
Create a new evaluation and return its ID.
|
@@ -54,11 +57,12 @@ class Evals(BaseResource):
|
|
54
57
|
Parameters:
|
55
58
|
name (str | None, optional): Optional name of the evaluation.
|
56
59
|
group_name (str | None, optional): An identifier to group evaluations.
|
57
|
-
|
60
|
+
metadata (dict[str, Any] | None, optional): Metadata to associate with. Defaults to None.
|
61
|
+
|
58
62
|
Returns:
|
59
63
|
uuid.UUID: The evaluation ID.
|
60
64
|
"""
|
61
|
-
evaluation = self.init(name=name, group_name=group_name)
|
65
|
+
evaluation = self.init(name=name, group_name=group_name, metadata=metadata)
|
62
66
|
return evaluation.id
|
63
67
|
|
64
68
|
def create_datapoint(
|
@@ -104,6 +104,7 @@ class Evaluation:
|
|
104
104
|
evaluators: dict[str, EvaluatorFunction | HumanEvaluator],
|
105
105
|
name: str | None = None,
|
106
106
|
group_name: str | None = None,
|
107
|
+
metadata: dict[str, Any] | None = None,
|
107
108
|
concurrency_limit: int = DEFAULT_BATCH_SIZE,
|
108
109
|
project_api_key: str | None = None,
|
109
110
|
base_url: str | None = None,
|
@@ -143,6 +144,7 @@ class Evaluation:
|
|
143
144
|
evaluations. Only evaluations within the same group_name can be\
|
144
145
|
visually compared. If not provided, "default" is assigned.
|
145
146
|
Defaults to None
|
147
|
+
metadata (dict[str, Any] | None): optional metadata to associate with\
|
146
148
|
concurrency_limit (int, optional): The concurrency limit for\
|
147
149
|
evaluation. This many data points will be evaluated in parallel\
|
148
150
|
with a pool of workers.
|
@@ -192,6 +194,7 @@ class Evaluation:
|
|
192
194
|
self.evaluators = evaluators
|
193
195
|
self.group_name = group_name
|
194
196
|
self.name = name
|
197
|
+
self.metadata = metadata
|
195
198
|
self.concurrency_limit = concurrency_limit
|
196
199
|
self.batch_size = concurrency_limit
|
197
200
|
self._logger = get_default_logger(self.__class__.__name__)
|
@@ -242,7 +245,7 @@ class Evaluation:
|
|
242
245
|
self.reporter.start(len(self.data))
|
243
246
|
try:
|
244
247
|
evaluation = await self.client.evals.init(
|
245
|
-
name=self.name, group_name=self.group_name
|
248
|
+
name=self.name, group_name=self.group_name, metadata=self.metadata
|
246
249
|
)
|
247
250
|
result_datapoints = await self._evaluate_in_batches(evaluation.id)
|
248
251
|
|
@@ -409,6 +412,7 @@ def evaluate(
|
|
409
412
|
evaluators: dict[str, EvaluatorFunction | HumanEvaluator],
|
410
413
|
name: str | None = None,
|
411
414
|
group_name: str | None = None,
|
415
|
+
metadata: dict[str, Any] | None = None,
|
412
416
|
concurrency_limit: int = DEFAULT_BATCH_SIZE,
|
413
417
|
project_api_key: str | None = None,
|
414
418
|
base_url: str | None = None,
|
@@ -452,6 +456,7 @@ def evaluate(
|
|
452
456
|
Only evaluations within the same group_name can be visually compared.\
|
453
457
|
If not provided, set to "default".
|
454
458
|
Defaults to None
|
459
|
+
metadata (dict[str, Any] | None, optional): Optional metadata to associate with\
|
455
460
|
concurrency_limit (int, optional): The concurrency limit for evaluation.
|
456
461
|
Defaults to DEFAULT_BATCH_SIZE.
|
457
462
|
project_api_key (str | None, optional): The project API key.
|
@@ -478,6 +483,7 @@ def evaluate(
|
|
478
483
|
executor=executor,
|
479
484
|
evaluators=evaluators,
|
480
485
|
group_name=group_name,
|
486
|
+
metadata=metadata,
|
481
487
|
name=name,
|
482
488
|
concurrency_limit=concurrency_limit,
|
483
489
|
project_api_key=project_api_key,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|