lmnr 0.4.35__tar.gz → 0.4.36__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.4.35 → lmnr-0.4.36}/PKG-INFO +1 -1
- {lmnr-0.4.35 → lmnr-0.4.36}/pyproject.toml +2 -2
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/laminar.py +28 -2
- {lmnr-0.4.35 → lmnr-0.4.36}/LICENSE +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/README.md +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/cli.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/datasets.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/decorators.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/evaluations.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/log.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/types.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/utils.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/.flake8 +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/.python-version +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/config/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/decorators/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/decorators/base.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/instruments.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_association_properties/test_langchain_and_external_association_properties.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_association_properties/test_langchain_association_properties.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_manual_report.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_resource_attributes.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_privacy_no_prompts/test_simple_workflow.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_prompt_management/test_prompt_management.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_sdk_initialization/test_resource_attributes.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_tasks/test_task_io_serialization_with_langchain.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_aworkflow.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_workflow.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_streaming_workflow.yaml +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/conftest.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_association_properties.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_manual.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_nested_tasks.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_privacy_no_prompts.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_sdk_initialization.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_tasks.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_workflows.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/attributes.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/content_allow_list.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/context_manager.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/tracing.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/__init__.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/in_memory_span_exporter.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/json_encoder.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/package_check.py +0 -0
- {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/version.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "lmnr"
|
3
|
-
version = "0.4.
|
3
|
+
version = "0.4.36"
|
4
4
|
description = "Python SDK for Laminar AI"
|
5
5
|
authors = [
|
6
6
|
{ name = "lmnr.ai", email = "founders@lmnr.ai" }
|
@@ -11,7 +11,7 @@ license = "Apache-2.0"
|
|
11
11
|
|
12
12
|
[tool.poetry]
|
13
13
|
name = "lmnr"
|
14
|
-
version = "0.4.
|
14
|
+
version = "0.4.36"
|
15
15
|
description = "Python SDK for Laminar AI"
|
16
16
|
authors = ["lmnr.ai"]
|
17
17
|
readme = "README.md"
|
@@ -599,7 +599,9 @@ class Laminar:
|
|
599
599
|
Useful to debug and group long-running\
|
600
600
|
sessions/conversations.
|
601
601
|
Defaults to None.
|
602
|
-
user_id (Optional[str], optional)
|
602
|
+
user_id (Optional[str], optional). Deprecated.\
|
603
|
+
Use `Laminar.set_metadata` instead.\
|
604
|
+
Custom user id.\
|
603
605
|
Useful for grouping spans or traces by user.\
|
604
606
|
Defaults to None.
|
605
607
|
"""
|
@@ -607,9 +609,33 @@ class Laminar:
|
|
607
609
|
if session_id is not None:
|
608
610
|
association_properties[SESSION_ID] = session_id
|
609
611
|
if user_id is not None:
|
610
|
-
|
612
|
+
cls.__logger.warning(
|
613
|
+
"User ID in set_session is deprecated and will be removed soon. "
|
614
|
+
"Please use `Laminar.set_metadata` instead."
|
615
|
+
)
|
616
|
+
association_properties["metadata." + USER_ID] = user_id
|
611
617
|
update_association_properties(association_properties)
|
612
618
|
|
619
|
+
@classmethod
|
620
|
+
def set_metadata(cls, metadata: dict[str, Any]):
|
621
|
+
"""Set the metadata for the current trace.
|
622
|
+
|
623
|
+
Args:
|
624
|
+
metadata (dict[str, Any]): Metadata to set for the trace. Willl be\
|
625
|
+
sent as attributes, so must be json serializable.
|
626
|
+
"""
|
627
|
+
props = {f"metadata.{k}": json_dumps(v) for k, v in metadata.items()}
|
628
|
+
update_association_properties(props)
|
629
|
+
|
630
|
+
@classmethod
|
631
|
+
def clear_metadata(cls):
|
632
|
+
"""Clear the metadata from the context"""
|
633
|
+
props: dict = copy.copy(context.get_value("association_properties"))
|
634
|
+
for k in props.keys():
|
635
|
+
if k.startswith("metadata."):
|
636
|
+
props.pop(k)
|
637
|
+
set_association_properties(props)
|
638
|
+
|
613
639
|
@classmethod
|
614
640
|
def _set_trace_type(
|
615
641
|
cls,
|
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
|