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.
Files changed (51) hide show
  1. {lmnr-0.4.35 → lmnr-0.4.36}/PKG-INFO +1 -1
  2. {lmnr-0.4.35 → lmnr-0.4.36}/pyproject.toml +2 -2
  3. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/laminar.py +28 -2
  4. {lmnr-0.4.35 → lmnr-0.4.36}/LICENSE +0 -0
  5. {lmnr-0.4.35 → lmnr-0.4.36}/README.md +0 -0
  6. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/__init__.py +0 -0
  7. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/cli.py +0 -0
  8. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/__init__.py +0 -0
  9. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/datasets.py +0 -0
  10. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/decorators.py +0 -0
  11. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/evaluations.py +0 -0
  12. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/log.py +0 -0
  13. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/types.py +0 -0
  14. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/sdk/utils.py +0 -0
  15. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/.flake8 +0 -0
  16. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/.python-version +0 -0
  17. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/__init__.py +0 -0
  18. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/config/__init__.py +0 -0
  19. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/decorators/__init__.py +0 -0
  20. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/decorators/base.py +0 -0
  21. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/instruments.py +0 -0
  22. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/__init__.py +0 -0
  23. {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
  24. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_association_properties/test_langchain_association_properties.yaml +0 -0
  25. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_manual_report.yaml +0 -0
  26. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_resource_attributes.yaml +0 -0
  27. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_privacy_no_prompts/test_simple_workflow.yaml +0 -0
  28. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_prompt_management/test_prompt_management.yaml +0 -0
  29. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_sdk_initialization/test_resource_attributes.yaml +0 -0
  30. {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
  31. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_aworkflow.yaml +0 -0
  32. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_workflow.yaml +0 -0
  33. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_streaming_workflow.yaml +0 -0
  34. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/conftest.py +0 -0
  35. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_association_properties.py +0 -0
  36. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_manual.py +0 -0
  37. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_nested_tasks.py +0 -0
  38. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_privacy_no_prompts.py +0 -0
  39. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_sdk_initialization.py +0 -0
  40. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_tasks.py +0 -0
  41. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tests/test_workflows.py +0 -0
  42. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/__init__.py +0 -0
  43. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/attributes.py +0 -0
  44. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/content_allow_list.py +0 -0
  45. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/context_manager.py +0 -0
  46. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/tracing/tracing.py +0 -0
  47. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/__init__.py +0 -0
  48. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/in_memory_span_exporter.py +0 -0
  49. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/json_encoder.py +0 -0
  50. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/utils/package_check.py +0 -0
  51. {lmnr-0.4.35 → lmnr-0.4.36}/src/lmnr/traceloop_sdk/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lmnr
3
- Version: 0.4.35
3
+ Version: 0.4.36
4
4
  Summary: Python SDK for Laminar AI
5
5
  License: Apache-2.0
6
6
  Author: lmnr.ai
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "lmnr"
3
- version = "0.4.35"
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.35"
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): Custom user id.\
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
- association_properties[USER_ID] = user_id
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