lmnr 0.6.16__py3-none-any.whl → 0.7.26__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.
Files changed (113) hide show
  1. lmnr/__init__.py +6 -15
  2. lmnr/cli/__init__.py +270 -0
  3. lmnr/cli/datasets.py +371 -0
  4. lmnr/{cli.py → cli/evals.py} +20 -102
  5. lmnr/cli/rules.py +42 -0
  6. lmnr/opentelemetry_lib/__init__.py +9 -2
  7. lmnr/opentelemetry_lib/decorators/__init__.py +274 -168
  8. lmnr/opentelemetry_lib/litellm/__init__.py +352 -38
  9. lmnr/opentelemetry_lib/litellm/utils.py +82 -0
  10. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/__init__.py +849 -0
  11. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/config.py +13 -0
  12. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_emitter.py +211 -0
  13. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_models.py +41 -0
  14. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/span_utils.py +401 -0
  15. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/streaming.py +425 -0
  16. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/utils.py +332 -0
  17. lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/version.py +1 -0
  18. lmnr/opentelemetry_lib/opentelemetry/instrumentation/claude_agent/__init__.py +451 -0
  19. lmnr/opentelemetry_lib/opentelemetry/instrumentation/claude_agent/proxy.py +144 -0
  20. lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_agent/__init__.py +100 -0
  21. lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_computer/__init__.py +476 -0
  22. lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_computer/utils.py +12 -0
  23. lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py +191 -129
  24. lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/schema_utils.py +26 -0
  25. lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/utils.py +126 -41
  26. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/__init__.py +488 -0
  27. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/config.py +8 -0
  28. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_emitter.py +143 -0
  29. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_models.py +41 -0
  30. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/span_utils.py +229 -0
  31. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/utils.py +92 -0
  32. lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/version.py +1 -0
  33. lmnr/opentelemetry_lib/opentelemetry/instrumentation/kernel/__init__.py +381 -0
  34. lmnr/opentelemetry_lib/opentelemetry/instrumentation/kernel/utils.py +36 -0
  35. lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/__init__.py +16 -16
  36. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/__init__.py +61 -0
  37. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/__init__.py +472 -0
  38. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/chat_wrappers.py +1185 -0
  39. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/completion_wrappers.py +305 -0
  40. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/config.py +16 -0
  41. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py +312 -0
  42. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_emitter.py +100 -0
  43. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_models.py +41 -0
  44. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py +68 -0
  45. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py +197 -0
  46. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v0/__init__.py +176 -0
  47. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/__init__.py +368 -0
  48. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py +325 -0
  49. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py +135 -0
  50. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/responses_wrappers.py +786 -0
  51. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/version.py +1 -0
  52. lmnr/opentelemetry_lib/opentelemetry/instrumentation/openhands_ai/__init__.py +388 -0
  53. lmnr/opentelemetry_lib/opentelemetry/instrumentation/opentelemetry/__init__.py +69 -0
  54. lmnr/opentelemetry_lib/opentelemetry/instrumentation/skyvern/__init__.py +59 -61
  55. lmnr/opentelemetry_lib/opentelemetry/instrumentation/threading/__init__.py +197 -0
  56. lmnr/opentelemetry_lib/tracing/__init__.py +119 -18
  57. lmnr/opentelemetry_lib/tracing/_instrument_initializers.py +124 -25
  58. lmnr/opentelemetry_lib/tracing/attributes.py +4 -0
  59. lmnr/opentelemetry_lib/tracing/context.py +200 -0
  60. lmnr/opentelemetry_lib/tracing/exporter.py +109 -15
  61. lmnr/opentelemetry_lib/tracing/instruments.py +22 -5
  62. lmnr/opentelemetry_lib/tracing/processor.py +128 -30
  63. lmnr/opentelemetry_lib/tracing/span.py +398 -0
  64. lmnr/opentelemetry_lib/tracing/tracer.py +40 -1
  65. lmnr/opentelemetry_lib/tracing/utils.py +62 -0
  66. lmnr/opentelemetry_lib/utils/package_check.py +9 -0
  67. lmnr/opentelemetry_lib/utils/wrappers.py +11 -0
  68. lmnr/sdk/browser/background_send_events.py +158 -0
  69. lmnr/sdk/browser/browser_use_cdp_otel.py +100 -0
  70. lmnr/sdk/browser/browser_use_otel.py +12 -12
  71. lmnr/sdk/browser/bubus_otel.py +71 -0
  72. lmnr/sdk/browser/cdp_utils.py +518 -0
  73. lmnr/sdk/browser/inject_script.js +514 -0
  74. lmnr/sdk/browser/patchright_otel.py +18 -44
  75. lmnr/sdk/browser/playwright_otel.py +104 -187
  76. lmnr/sdk/browser/pw_utils.py +249 -210
  77. lmnr/sdk/browser/recorder/record.umd.min.cjs +84 -0
  78. lmnr/sdk/browser/utils.py +1 -1
  79. lmnr/sdk/client/asynchronous/async_client.py +47 -15
  80. lmnr/sdk/client/asynchronous/resources/__init__.py +2 -7
  81. lmnr/sdk/client/asynchronous/resources/browser_events.py +1 -0
  82. lmnr/sdk/client/asynchronous/resources/datasets.py +131 -0
  83. lmnr/sdk/client/asynchronous/resources/evals.py +122 -18
  84. lmnr/sdk/client/asynchronous/resources/evaluators.py +85 -0
  85. lmnr/sdk/client/asynchronous/resources/tags.py +4 -10
  86. lmnr/sdk/client/synchronous/resources/__init__.py +2 -2
  87. lmnr/sdk/client/synchronous/resources/datasets.py +131 -0
  88. lmnr/sdk/client/synchronous/resources/evals.py +83 -17
  89. lmnr/sdk/client/synchronous/resources/evaluators.py +85 -0
  90. lmnr/sdk/client/synchronous/resources/tags.py +4 -10
  91. lmnr/sdk/client/synchronous/sync_client.py +47 -15
  92. lmnr/sdk/datasets/__init__.py +94 -0
  93. lmnr/sdk/datasets/file_utils.py +91 -0
  94. lmnr/sdk/decorators.py +103 -23
  95. lmnr/sdk/evaluations.py +122 -33
  96. lmnr/sdk/laminar.py +816 -333
  97. lmnr/sdk/log.py +7 -2
  98. lmnr/sdk/types.py +124 -143
  99. lmnr/sdk/utils.py +115 -2
  100. lmnr/version.py +1 -1
  101. {lmnr-0.6.16.dist-info → lmnr-0.7.26.dist-info}/METADATA +71 -78
  102. lmnr-0.7.26.dist-info/RECORD +116 -0
  103. lmnr-0.7.26.dist-info/WHEEL +4 -0
  104. lmnr-0.7.26.dist-info/entry_points.txt +3 -0
  105. lmnr/opentelemetry_lib/tracing/context_properties.py +0 -65
  106. lmnr/sdk/browser/rrweb/rrweb.umd.min.cjs +0 -98
  107. lmnr/sdk/client/asynchronous/resources/agent.py +0 -329
  108. lmnr/sdk/client/synchronous/resources/agent.py +0 -323
  109. lmnr/sdk/datasets.py +0 -60
  110. lmnr-0.6.16.dist-info/LICENSE +0 -75
  111. lmnr-0.6.16.dist-info/RECORD +0 -61
  112. lmnr-0.6.16.dist-info/WHEEL +0 -4
  113. lmnr-0.6.16.dist-info/entry_points.txt +0 -3
@@ -1,26 +1,89 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: lmnr
3
- Version: 0.6.16
3
+ Version: 0.7.26
4
4
  Summary: Python SDK for Laminar
5
- License: Apache-2.0
6
5
  Author: lmnr.ai
7
- Author-email: founders@lmnr.ai
8
- Requires-Python: >=3.10,<4
6
+ Author-email: lmnr.ai <founders@lmnr.ai>
7
+ License-Expression: Apache-2.0
9
8
  Classifier: License :: OSI Approved :: Apache Software License
10
9
  Classifier: Programming Language :: Python :: 3
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
13
  Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Requires-Dist: pydantic>=2.0.3,<3.0.0
16
+ Requires-Dist: python-dotenv>=1.0
17
+ Requires-Dist: opentelemetry-api>=1.33.0
18
+ Requires-Dist: opentelemetry-sdk>=1.33.0
19
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.33.0
20
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.33.0
21
+ Requires-Dist: opentelemetry-instrumentation>=0.54b0
22
+ Requires-Dist: opentelemetry-semantic-conventions>=0.54b0
23
+ Requires-Dist: opentelemetry-semantic-conventions-ai>=0.4.13
24
+ Requires-Dist: tqdm>=4.0
25
+ Requires-Dist: tenacity>=8.0
26
+ Requires-Dist: grpcio>=1
27
+ Requires-Dist: httpx>=0.24.0
28
+ Requires-Dist: orjson>=3.0.0
29
+ Requires-Dist: packaging>=22.0
30
+ Requires-Dist: opentelemetry-instrumentation-threading>=0.57b0
31
+ Requires-Dist: opentelemetry-instrumentation-alephalpha>=0.47.1 ; extra == 'alephalpha'
32
+ Requires-Dist: lmnr-claude-code-proxy>=0.1.5 ; extra == 'all'
33
+ Requires-Dist: opentelemetry-instrumentation-alephalpha>=0.47.1 ; extra == 'all'
34
+ Requires-Dist: opentelemetry-instrumentation-bedrock>=0.47.1 ; extra == 'all'
35
+ Requires-Dist: opentelemetry-instrumentation-chromadb>=0.47.1 ; extra == 'all'
36
+ Requires-Dist: opentelemetry-instrumentation-cohere>=0.47.1 ; extra == 'all'
37
+ Requires-Dist: opentelemetry-instrumentation-crewai>=0.47.1 ; extra == 'all'
38
+ Requires-Dist: opentelemetry-instrumentation-haystack>=0.47.1 ; extra == 'all'
39
+ Requires-Dist: opentelemetry-instrumentation-lancedb>=0.47.1 ; extra == 'all'
40
+ Requires-Dist: opentelemetry-instrumentation-langchain>=0.47.1,<0.48.0 ; extra == 'all'
41
+ Requires-Dist: opentelemetry-instrumentation-llamaindex>=0.47.1 ; extra == 'all'
42
+ Requires-Dist: opentelemetry-instrumentation-marqo>=0.47.1 ; extra == 'all'
43
+ Requires-Dist: opentelemetry-instrumentation-mcp>=0.47.1 ; extra == 'all'
44
+ Requires-Dist: opentelemetry-instrumentation-milvus>=0.47.1 ; extra == 'all'
45
+ Requires-Dist: opentelemetry-instrumentation-mistralai>=0.47.1 ; extra == 'all'
46
+ Requires-Dist: opentelemetry-instrumentation-ollama>=0.47.1 ; extra == 'all'
47
+ Requires-Dist: opentelemetry-instrumentation-pinecone>=0.47.1 ; extra == 'all'
48
+ Requires-Dist: opentelemetry-instrumentation-qdrant>=0.47.1 ; extra == 'all'
49
+ Requires-Dist: opentelemetry-instrumentation-replicate>=0.47.1 ; extra == 'all'
50
+ Requires-Dist: opentelemetry-instrumentation-sagemaker>=0.47.1 ; extra == 'all'
51
+ Requires-Dist: opentelemetry-instrumentation-together>=0.47.1 ; extra == 'all'
52
+ Requires-Dist: opentelemetry-instrumentation-transformers>=0.47.1 ; extra == 'all'
53
+ Requires-Dist: opentelemetry-instrumentation-vertexai>=0.47.1 ; extra == 'all'
54
+ Requires-Dist: opentelemetry-instrumentation-watsonx>=0.47.1 ; extra == 'all'
55
+ Requires-Dist: opentelemetry-instrumentation-weaviate>=0.47.1 ; extra == 'all'
56
+ Requires-Dist: opentelemetry-instrumentation-bedrock>=0.47.1 ; extra == 'bedrock'
57
+ Requires-Dist: opentelemetry-instrumentation-chromadb>=0.47.1 ; extra == 'chromadb'
58
+ Requires-Dist: lmnr-claude-code-proxy>=0.1.5 ; extra == 'claude-agent-sdk'
59
+ Requires-Dist: opentelemetry-instrumentation-cohere>=0.47.1 ; extra == 'cohere'
60
+ Requires-Dist: opentelemetry-instrumentation-crewai>=0.47.1 ; extra == 'crewai'
61
+ Requires-Dist: opentelemetry-instrumentation-haystack>=0.47.1 ; extra == 'haystack'
62
+ Requires-Dist: opentelemetry-instrumentation-lancedb>=0.47.1 ; extra == 'lancedb'
63
+ Requires-Dist: opentelemetry-instrumentation-langchain>=0.47.1,<0.48.0 ; extra == 'langchain'
64
+ Requires-Dist: opentelemetry-instrumentation-llamaindex>=0.47.1 ; extra == 'llamaindex'
65
+ Requires-Dist: opentelemetry-instrumentation-marqo>=0.47.1 ; extra == 'marqo'
66
+ Requires-Dist: opentelemetry-instrumentation-mcp>=0.47.1 ; extra == 'mcp'
67
+ Requires-Dist: opentelemetry-instrumentation-milvus>=0.47.1 ; extra == 'milvus'
68
+ Requires-Dist: opentelemetry-instrumentation-mistralai>=0.47.1 ; extra == 'mistralai'
69
+ Requires-Dist: opentelemetry-instrumentation-ollama>=0.47.1 ; extra == 'ollama'
70
+ Requires-Dist: opentelemetry-instrumentation-pinecone>=0.47.1 ; extra == 'pinecone'
71
+ Requires-Dist: opentelemetry-instrumentation-qdrant>=0.47.1 ; extra == 'qdrant'
72
+ Requires-Dist: opentelemetry-instrumentation-replicate>=0.47.1 ; extra == 'replicate'
73
+ Requires-Dist: opentelemetry-instrumentation-sagemaker>=0.47.1 ; extra == 'sagemaker'
74
+ Requires-Dist: opentelemetry-instrumentation-together>=0.47.1 ; extra == 'together'
75
+ Requires-Dist: opentelemetry-instrumentation-transformers>=0.47.1 ; extra == 'transformers'
76
+ Requires-Dist: opentelemetry-instrumentation-vertexai>=0.47.1 ; extra == 'vertexai'
77
+ Requires-Dist: opentelemetry-instrumentation-watsonx>=0.47.1 ; extra == 'watsonx'
78
+ Requires-Dist: opentelemetry-instrumentation-weaviate>=0.47.1 ; extra == 'weaviate'
79
+ Requires-Python: >=3.10, <4
15
80
  Provides-Extra: alephalpha
16
81
  Provides-Extra: all
17
- Provides-Extra: anthropic
18
82
  Provides-Extra: bedrock
19
83
  Provides-Extra: chromadb
84
+ Provides-Extra: claude-agent-sdk
20
85
  Provides-Extra: cohere
21
86
  Provides-Extra: crewai
22
- Provides-Extra: google-generativeai
23
- Provides-Extra: groq
24
87
  Provides-Extra: haystack
25
88
  Provides-Extra: lancedb
26
89
  Provides-Extra: langchain
@@ -30,7 +93,6 @@ Provides-Extra: mcp
30
93
  Provides-Extra: milvus
31
94
  Provides-Extra: mistralai
32
95
  Provides-Extra: ollama
33
- Provides-Extra: openai
34
96
  Provides-Extra: pinecone
35
97
  Provides-Extra: qdrant
36
98
  Provides-Extra: replicate
@@ -40,74 +102,6 @@ Provides-Extra: transformers
40
102
  Provides-Extra: vertexai
41
103
  Provides-Extra: watsonx
42
104
  Provides-Extra: weaviate
43
- Requires-Dist: argparse (>=1.0)
44
- Requires-Dist: grpcio (>=1)
45
- Requires-Dist: httpx (>=0.25.0)
46
- Requires-Dist: opentelemetry-api (>=1.33.0)
47
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.33.0)
48
- Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.33.0)
49
- Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.40.12) ; extra == "alephalpha"
50
- Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.40.12) ; extra == "all"
51
- Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.40.12) ; extra == "all"
52
- Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.40.12) ; extra == "anthropic"
53
- Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.40.12) ; extra == "all"
54
- Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.40.12) ; extra == "bedrock"
55
- Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.40.12) ; extra == "all"
56
- Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.40.12) ; extra == "chromadb"
57
- Requires-Dist: opentelemetry-instrumentation-cohere (>=0.40.12) ; extra == "all"
58
- Requires-Dist: opentelemetry-instrumentation-cohere (>=0.40.12) ; extra == "cohere"
59
- Requires-Dist: opentelemetry-instrumentation-crewai (>=0.40.12) ; extra == "all"
60
- Requires-Dist: opentelemetry-instrumentation-crewai (>=0.40.12) ; extra == "crewai"
61
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (<0.40.10) ; extra == "all"
62
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (<0.40.10) ; extra == "google-generativeai"
63
- Requires-Dist: opentelemetry-instrumentation-groq (>=0.40.12) ; extra == "all"
64
- Requires-Dist: opentelemetry-instrumentation-groq (>=0.40.12) ; extra == "groq"
65
- Requires-Dist: opentelemetry-instrumentation-haystack (>=0.40.12) ; extra == "all"
66
- Requires-Dist: opentelemetry-instrumentation-haystack (>=0.40.12) ; extra == "haystack"
67
- Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.40.12) ; extra == "all"
68
- Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.40.12) ; extra == "lancedb"
69
- Requires-Dist: opentelemetry-instrumentation-langchain (>=0.40.12) ; extra == "all"
70
- Requires-Dist: opentelemetry-instrumentation-langchain (>=0.40.12) ; extra == "langchain"
71
- Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.40.12) ; extra == "all"
72
- Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.40.12) ; extra == "llamaindex"
73
- Requires-Dist: opentelemetry-instrumentation-marqo (>=0.40.12) ; extra == "all"
74
- Requires-Dist: opentelemetry-instrumentation-marqo (>=0.40.12) ; extra == "marqo"
75
- Requires-Dist: opentelemetry-instrumentation-mcp (>=0.40.12) ; extra == "all"
76
- Requires-Dist: opentelemetry-instrumentation-mcp (>=0.40.12) ; extra == "mcp"
77
- Requires-Dist: opentelemetry-instrumentation-milvus (>=0.40.12) ; extra == "all"
78
- Requires-Dist: opentelemetry-instrumentation-milvus (>=0.40.12) ; extra == "milvus"
79
- Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.40.12) ; extra == "all"
80
- Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.40.12) ; extra == "mistralai"
81
- Requires-Dist: opentelemetry-instrumentation-ollama (>=0.40.12) ; extra == "all"
82
- Requires-Dist: opentelemetry-instrumentation-ollama (>=0.40.12) ; extra == "ollama"
83
- Requires-Dist: opentelemetry-instrumentation-openai (>=0.40.12) ; extra == "all"
84
- Requires-Dist: opentelemetry-instrumentation-openai (>=0.40.12) ; extra == "openai"
85
- Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.40.12) ; extra == "all"
86
- Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.40.12) ; extra == "pinecone"
87
- Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.40.12) ; extra == "all"
88
- Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.40.12) ; extra == "qdrant"
89
- Requires-Dist: opentelemetry-instrumentation-replicate (>=0.40.12) ; extra == "all"
90
- Requires-Dist: opentelemetry-instrumentation-replicate (>=0.40.12) ; extra == "replicate"
91
- Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.40.12) ; extra == "all"
92
- Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.40.12) ; extra == "sagemaker"
93
- Requires-Dist: opentelemetry-instrumentation-threading (>=0.54b0)
94
- Requires-Dist: opentelemetry-instrumentation-together (>=0.40.12) ; extra == "all"
95
- Requires-Dist: opentelemetry-instrumentation-together (>=0.40.12) ; extra == "together"
96
- Requires-Dist: opentelemetry-instrumentation-transformers (>=0.40.12) ; extra == "all"
97
- Requires-Dist: opentelemetry-instrumentation-transformers (>=0.40.12) ; extra == "transformers"
98
- Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.40.12) ; extra == "all"
99
- Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.40.12) ; extra == "vertexai"
100
- Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.40.12) ; extra == "all"
101
- Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.40.12) ; extra == "watsonx"
102
- Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.40.12) ; extra == "all"
103
- Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.40.12) ; extra == "weaviate"
104
- Requires-Dist: opentelemetry-sdk (>=1.33.0)
105
- Requires-Dist: opentelemetry-semantic-conventions (>=0.54b0)
106
- Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.8)
107
- Requires-Dist: pydantic (>=2.0.3,<3.0.0)
108
- Requires-Dist: python-dotenv (>=1.0)
109
- Requires-Dist: tenacity (>=8.0)
110
- Requires-Dist: tqdm (>=4.0)
111
105
  Description-Content-Type: text/markdown
112
106
 
113
107
  # Laminar Python
@@ -379,4 +373,3 @@ async for chunk in client.agent.run(
379
373
  elif chunk.chunk_type == 'finalOutput':
380
374
  print(chunk.content.result.content)
381
375
  ```
382
-
@@ -0,0 +1,116 @@
1
+ lmnr/__init__.py,sha256=8whrAv4qzI6Wj5TagASVPfWdJBQMS4K9gozOlqDyGMw,1266
2
+ lmnr/cli/__init__.py,sha256=uUU3TICBJU5m4dd90b1N1w0oUnIqIfa_fofQc6MpXMI,9373
3
+ lmnr/cli/datasets.py,sha256=63rFhUVbEpi9HmoDPYpkQbAluLcVuDhQerV2Aw9Z0lg,11115
4
+ lmnr/cli/evals.py,sha256=FF6FSnFh1Xlmc7t1h_2iQzKrhRWod9w3_txELAUdq9s,3734
5
+ lmnr/cli/rules.py,sha256=Te6e0pXj-TcYgi36nfvZq_QAkoUBLmekP7ia9SffRK0,1279
6
+ lmnr/opentelemetry_lib/.flake8,sha256=bCxuDlGx3YQ55QHKPiGJkncHanh9qGjQJUujcFa3lAU,150
7
+ lmnr/opentelemetry_lib/__init__.py,sha256=aOlQ-UM-Ih6CfmL3OypziiO31BByVURI3N01OMu2UNM,2515
8
+ lmnr/opentelemetry_lib/decorators/__init__.py,sha256=EudU5hOEvclPKi36rWx7xoWlEhEIT0hsZTCqUmnaV_U,11564
9
+ lmnr/opentelemetry_lib/litellm/__init__.py,sha256=92ncG4caRessW61fuo0Yn3fnSDXsdT1pS39097QVS1g,29432
10
+ lmnr/opentelemetry_lib/litellm/utils.py,sha256=8clVPSWzJ9CMEs8KbKFLFQuDfg9WsIJZosTojMmcLXg,3785
11
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/__init__.py,sha256=iXsaJVziNw0ZYBiryvWUIpWjdM82e2aKO0GMO93SklE,26461
12
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/config.py,sha256=lykZuCG5t-XcfNGRun54swtu-l1jUU6MswGZbWOGOSw,369
13
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_emitter.py,sha256=gSs-ocWgRBIRPU3XcHF1YYYVlfnuxblN2BdMbd-3Vyo,6831
14
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/event_models.py,sha256=PCfCGxrrArwZqR-4wFcXrhwQq0sBMAxmSrpC4PUMtaM,876
15
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/span_utils.py,sha256=2mSSMzqxMHlXoesULT1tZu9kH42T_jl9nFB_VB39LZA,15367
16
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/streaming.py,sha256=3zansJfYPivEhnPnDR2-Kgv2rxIC3WMfPx4jeSKbBeU,14272
17
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/utils.py,sha256=wAbU7HjwB4e4HsY02JR37idsOb-WwkBNxKvckiI-hgk,10428
18
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/anthropic/version.py,sha256=WqzeTKVe9Q7QeiOa2KhoieBiGxzHK-Gb2TvnyeIJEKk,23
19
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/claude_agent/__init__.py,sha256=9HNfxhBdhbxSzIiIaFQFngZ98ykPCwOyD08jqJ61j1s,14594
20
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/claude_agent/proxy.py,sha256=yDbJ2F5MiFJSaQlMga8UUbIKAj5KyYs0vMae_0gAeVs,4100
21
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_agent/__init__.py,sha256=DI0lMfaYDVCnwOhnzLdXF8WFYeM4I3bERfdOUlkKOro,3436
22
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_computer/__init__.py,sha256=GQCSz8aZNzLmjgVfV1GzgcB5csFAsiY1SqBNZCchcMI,14992
23
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/cua_computer/utils.py,sha256=GQkNTZoFEWRfZhEuvm8FqZk5BbEdiuMGDastzEwaX7I,329
24
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/__init__.py,sha256=wFfCYb6aptGs2TaVuIsoUJNBurhov4GBIlJOJBP1MlI,20672
25
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/config.py,sha256=25zevJ7g3MtJP_5gju3jBH7-wg7SbDkktysuUO29ksI,245
26
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/schema_utils.py,sha256=sQYZ525Yk_i4kfklMdKdz2ZR6Pmn3L-Bw_NTQc4xH24,753
27
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/google_genai/utils.py,sha256=rGYiCNM2y59esIY4nNd9c-GlqLzCLOj__M0SqCi05c0,11092
28
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/__init__.py,sha256=HphGdxFAXk_4zNC1PAAuemdsWBYW7wFei2YGvXBXR4s,14986
29
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/config.py,sha256=KdVX2d7lY1ToljS9w_R5XzRu5nu_7FYYS0-zlORafgM,203
30
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_emitter.py,sha256=HwfXi_NggylRxwj8s3N3GOUNOc4Fvritv1foGLSHNwM,4481
31
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/event_models.py,sha256=PCfCGxrrArwZqR-4wFcXrhwQq0sBMAxmSrpC4PUMtaM,876
32
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/span_utils.py,sha256=ehzQNTn_LJ5RFKJkg9xQBmzV8bcoPlhEMd0DaUnh8xs,7461
33
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/utils.py,sha256=E58IWjN64yH2iCK7vSQAv8AIxNanBqsxnlIr72uR5VI,2360
34
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/groq/version.py,sha256=WqzeTKVe9Q7QeiOa2KhoieBiGxzHK-Gb2TvnyeIJEKk,23
35
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/kernel/__init__.py,sha256=PYRxQfRvJQfIMGkdQfte3WWySoky07Pt0rVUJHo3F2g,11922
36
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/kernel/utils.py,sha256=tuWx00KjhhllfsEp_xEoZAT77WJ2Ere5tIWnYnnQeeg,1376
37
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/__init__.py,sha256=t3pwdxdBuVAGyyfX-fwm5LebHxDKJLk6MWCkWMM5ep0,3313
38
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/langgraph/utils.py,sha256=nf9sJZXnnts4gYZortEiDvwYjYqYJZTAT0zutuP_R6Y,1512
39
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/__init__.py,sha256=i5HcFq-Sfu51uWnAmAxgZoCzR6h_hTO8D0oJLl7G5ck,2071
40
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/__init__.py,sha256=zG4_8fFSlWPrfUM2LHVOHXCD0Wu01qAAxJmLJHRapL8,15840
41
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/chat_wrappers.py,sha256=r-7Lv2KLYO1ya_j16MSjIepYl3nhPOu3OVeDixuC1VQ,39468
42
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/completion_wrappers.py,sha256=OkXAfZ0PN7r0CaSOKhtXfygEHGI8QfWa2hyHuUKFrjs,9537
43
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/config.py,sha256=gBbkrwKRp3SEzojX0coGFGsSKa4OCg9G4EL691tFao8,507
44
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/embeddings_wrappers.py,sha256=Mk7ur43YYvScFbtykNQU53rVHN9TLCz9dDWHg832VKU,9330
45
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_emitter.py,sha256=nJZFW1yiBk3TqftXDXixTrvfPQL44zJV7p4wHDEzbJ4,3043
46
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/event_models.py,sha256=PCfCGxrrArwZqR-4wFcXrhwQq0sBMAxmSrpC4PUMtaM,876
47
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/shared/image_gen_wrappers.py,sha256=llCg5K0tO_sqByWQ2hibz0-AesoHCUWvJqn5uZ13m3c,2021
48
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/utils.py,sha256=e19r7Y_di4zwANOW2wjId0Qco4ME3aeyWbfScXjVSRg,5030
49
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v0/__init__.py,sha256=f0NCHgUr2PZNXVsDFwo7cYfCzgODYvoVtdHQxDvBpA0,6143
50
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/__init__.py,sha256=e9v2kayJ77Qq3mhrfb5pvROahPSEgqATt7aNO6pbnJg,13527
51
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/assistant_wrappers.py,sha256=VYA2xzRVmzUmZHwbGM-5hmmej7MihVr3LqBUwuRY9yE,10404
52
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/event_handler_wrapper.py,sha256=SAnN4APliSgigos3OqPkOorbruT_RD8ZhAEAP0PBXoo,4366
53
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/v1/responses_wrappers.py,sha256=z5AH_R5JJ1pvSdCu09nA26QfR96sl2m-wIgI4rxu9Y8,30348
54
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openai/version.py,sha256=TzmqqRPz5JsMF0vCMChofQC_r_x0W9P-JB4K5rRCvtE,24
55
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/openhands_ai/__init__.py,sha256=NId0WGYyLRc_f-tHDqPBm3FKoz8LNOL24Uh4i-cweMU,13603
56
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/opentelemetry/__init__.py,sha256=H4bN9zji9oWGsKRWm7HkDt3dhcUp9RHvSZRd23th-rU,2648
57
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/skyvern/__init__.py,sha256=Ccev5um7hedTKVIsv4h1qrMurPAysxu--u4Hkf71Vuk,6129
58
+ lmnr/opentelemetry_lib/opentelemetry/instrumentation/threading/__init__.py,sha256=79s3cqLNqgZ3NyXoPQ-ENcIY_0MPDAOw8WIFZmlAw6U,6820
59
+ lmnr/opentelemetry_lib/tracing/__init__.py,sha256=2iZkFGPj59Wd9zuLyDjsSrjEf-xsZwgXZetX_3yeZMg,10736
60
+ lmnr/opentelemetry_lib/tracing/_instrument_initializers.py,sha256=2lBvKcIMzRT3FRTuzwsCVBSo6usL7kj2ynmDTfbLneI,18083
61
+ lmnr/opentelemetry_lib/tracing/attributes.py,sha256=Fucf9yzfos7RMNDu1X1KGXaVTdGQAIW_i5qhdlno9Yo,1675
62
+ lmnr/opentelemetry_lib/tracing/context.py,sha256=uZA7Ka3L-2jvzVGB1czX0VW9DUpFSBhzhhnoA2MuG8Q,6539
63
+ lmnr/opentelemetry_lib/tracing/exporter.py,sha256=toqDfFlh9kk_07DL8dOe9pEhmBq2g10bCgRgoYx8b40,5819
64
+ lmnr/opentelemetry_lib/tracing/instruments.py,sha256=ohdN8lAvxPrv8vCguwU0PGAfDkjRuamKzuMPYeSrx9M,6158
65
+ lmnr/opentelemetry_lib/tracing/processor.py,sha256=enXQgCXG93w0se5mBUdDBLnPSiF44z95INZg4tqBksw,7241
66
+ lmnr/opentelemetry_lib/tracing/span.py,sha256=9k78ezdA9QnKjTx6yFxebzcCcYxJdJ-cLf997A0e-9w,14248
67
+ lmnr/opentelemetry_lib/tracing/tracer.py,sha256=R-Mb9Sr_wc5VlySjuPDPgUWQLaQIY6bgvnkWNS1UyrA,1763
68
+ lmnr/opentelemetry_lib/tracing/utils.py,sha256=d66bmFItL30B5hwyJUCbpbFhSrXqzLeO9NwixQdQJJE,2080
69
+ lmnr/opentelemetry_lib/utils/__init__.py,sha256=pNhf0G3vTd5ccoc03i1MXDbricSaiqCbi1DLWhSekK8,604
70
+ lmnr/opentelemetry_lib/utils/json_encoder.py,sha256=dK6b_axr70IYL7Vv-bu4wntvDDuyntoqsHaddqX7P58,463
71
+ lmnr/opentelemetry_lib/utils/package_check.py,sha256=-CdBhsloFcmWol-uBr-RPwu3yDVQdzmUnzfAO75dnKk,527
72
+ lmnr/opentelemetry_lib/utils/wrappers.py,sha256=97ETSAnyxAiXanHmYf7lyxqtFy9EZ4RplCBaYL-ZTp8,330
73
+ lmnr/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
+ lmnr/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ lmnr/sdk/browser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ lmnr/sdk/browser/background_send_events.py,sha256=g15xh6mS7NeHHHvitFCq7God3exRZ_UDUDRFUJHUVCo,5679
77
+ lmnr/sdk/browser/browser_use_cdp_otel.py,sha256=TuDOa2C4sgyKhi1evOnyqZ2_CGfVScxERVKUqxKBE30,3379
78
+ lmnr/sdk/browser/browser_use_otel.py,sha256=qFZCxNs_jHVh874KEdo87vgXOzH5iYvwLFgE5r4PI68,5020
79
+ lmnr/sdk/browser/bubus_otel.py,sha256=kpkbpfa14qbhMatX33w4M0W1eYKs_bFDdUChYJrR-HY,2465
80
+ lmnr/sdk/browser/cdp_utils.py,sha256=lhGAskuz1LwO8adlpIQNYT8INU4QUbNA5mHVAgFSTso,18286
81
+ lmnr/sdk/browser/inject_script.js,sha256=CRBn07B3PA89M0lOeQ2_RLogD9YTrzA61izJarAbmn8,19454
82
+ lmnr/sdk/browser/patchright_otel.py,sha256=iePjwWsuirNT_dduwgh685ELx5eglHZl0-DiSWcVkNg,4816
83
+ lmnr/sdk/browser/playwright_otel.py,sha256=fcYAo_TCUfT6B2z76DdizkpqSndo-GI1diFcUdrUaWU,10452
84
+ lmnr/sdk/browser/pw_utils.py,sha256=Y-qOyrBsZJjzy7A5zOhIbL8APMNx_B48-WU9uyJ_sfs,12098
85
+ lmnr/sdk/browser/recorder/record.umd.min.cjs,sha256=8JwJBSwvxHTvsEBeY9jSbtIYS5lFE86K7gTv2si-FV0,181235
86
+ lmnr/sdk/browser/utils.py,sha256=b1lVxr1VWvI1kL9l2IbCiuE97MkN87mqZqY8z-p5Kxg,2371
87
+ lmnr/sdk/client/asynchronous/async_client.py,sha256=b5spEBqCt35zmj7OoY2QxLUowQRpEpcmpoWmak5l9gA,6166
88
+ lmnr/sdk/client/asynchronous/resources/__init__.py,sha256=53swlBqHXLMO_sbB16RFjeovMiVtVVTaSl6RworPcLE,377
89
+ lmnr/sdk/client/asynchronous/resources/base.py,sha256=aJ43Q1rltg23IQaI4eeaZKckxVTgDUbCJrChhQCUEoE,986
90
+ lmnr/sdk/client/asynchronous/resources/browser_events.py,sha256=dvTXWZ7lTAWSGYWFMBrcLpwzg5gzLrEeRF92P0q0x8o,1164
91
+ lmnr/sdk/client/asynchronous/resources/datasets.py,sha256=Uv6so4ZshLhyk7DaEeaB-xQbnPQ9p8ZN_ZQ6ygkJ56I,4611
92
+ lmnr/sdk/client/asynchronous/resources/evals.py,sha256=IH4-W8Idr1-B5SsbIaISEf1cYSeqRqTTpV5OMPWooTY,9306
93
+ lmnr/sdk/client/asynchronous/resources/evaluators.py,sha256=lkBG9RRuiQMvu3AbiD9POny5lq65_zaPhuj5Z98v7xA,2918
94
+ lmnr/sdk/client/asynchronous/resources/tags.py,sha256=FPwuOMri9v4SbcjcoIXXrQLY18Ggm8S1tbjjig7fc0g,2314
95
+ lmnr/sdk/client/synchronous/resources/__init__.py,sha256=Mma1x8GLltUhvoTMiJmZ5Pq9_QPcLSmJqZc4jOaMVt4,333
96
+ lmnr/sdk/client/synchronous/resources/base.py,sha256=ne1ZZ10UmNkMrECVvClcEJfcFJlSGvaXOC8K6mZTPdY,971
97
+ lmnr/sdk/client/synchronous/resources/browser_events.py,sha256=9rFYWZesXQomnFgbZ590tGFMTaNj0OAzT9RcFwD8q_Y,1135
98
+ lmnr/sdk/client/synchronous/resources/datasets.py,sha256=43tFQbQCMJBAlYvSJucnpPD2NsJt7nCwAIQirBUVRGk,4547
99
+ lmnr/sdk/client/synchronous/resources/evals.py,sha256=cwQ_31eKt1c4uwVBF5EvpF42D_shw6Y8ucfpbaiGUrw,9124
100
+ lmnr/sdk/client/synchronous/resources/evaluators.py,sha256=PNahfnqcwEQcLSC_bPRs43IBMcwwBT4s0STlZox19Jo,2879
101
+ lmnr/sdk/client/synchronous/resources/tags.py,sha256=Ej3uxDEoZiwhyydbLfahAjcvh1MVsL02gGVVOUwdS1s,2270
102
+ lmnr/sdk/client/synchronous/sync_client.py,sha256=o2mFYza5HUQbwO0JRrM1DVK30BbTTLXF9VDygjjSkoU,6449
103
+ lmnr/sdk/datasets/__init__.py,sha256=aqmwvGq-J02j5ap2zBUf0Lx26QUazlcTQx3_-sOIV38,2984
104
+ lmnr/sdk/datasets/file_utils.py,sha256=9XUXKfIjojIRujAvU8i2BpYufWd70JBdMzdcqGn3iNM,2864
105
+ lmnr/sdk/decorators.py,sha256=wtoehbzzJz5i5EvqmQMwQktrCB1z8G8LCsqrg-wKQKY,8312
106
+ lmnr/sdk/eval_control.py,sha256=KROUrDhcZTrptRZ-hxvr60_o_Gt_8u045jb4cBXcuoY,184
107
+ lmnr/sdk/evaluations.py,sha256=Q9iqh0y6mA3hKAw280ZQhR-9d_UP2tn0--OjGSGwwxI,25916
108
+ lmnr/sdk/laminar.py,sha256=jTwq6KscPFFj0ekdh4yDDx-pQZ-ryF7om4iohG4VVXI,53519
109
+ lmnr/sdk/log.py,sha256=zz8LT7ZaVXTcLR_zho2g4MY3Il2YCMdRtGBi1DkDWc4,2351
110
+ lmnr/sdk/types.py,sha256=VR2WQKQ7w6bQypQ7AsEJqbB382fMt7ZTth1EFN5lanY,11767
111
+ lmnr/sdk/utils.py,sha256=n0EKPOYTykIojM_lZgCVIFDOl8rtv5y2qv6v-ssECvs,7396
112
+ lmnr/version.py,sha256=T6nxY6iLfn8xwJs-8H8H2ORDMrAZmRvDHkvisT_oYF4,1322
113
+ lmnr-0.7.26.dist-info/WHEEL,sha256=KSLUh82mDPEPk0Bx0ScXlWL64bc8KmzIPNcpQZFV-6E,79
114
+ lmnr-0.7.26.dist-info/entry_points.txt,sha256=q980EbfdLXMpokHy2mZpurTjFKdHpYbs25-IjzA1ADw,39
115
+ lmnr-0.7.26.dist-info/METADATA,sha256=5LMgneNgQRpzWJHQMBUfsk1w8B5cRjqT3VuxZPkP5U4,14495
116
+ lmnr-0.7.26.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.22
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ lmnr = lmnr.cli:cli
3
+
@@ -1,65 +0,0 @@
1
- import copy
2
-
3
- from lmnr.opentelemetry_lib.tracing.attributes import (
4
- ASSOCIATION_PROPERTIES,
5
- TRACING_LEVEL,
6
- )
7
-
8
- from opentelemetry.context import Context, attach, set_value, get_value
9
- from opentelemetry.sdk.trace import Span
10
- from opentelemetry import trace
11
-
12
-
13
- # TODO: delete this once deprecated Laminar.with_labels is removed. The logic
14
- # should be moved into Laminar.set_tracing_level
15
- def set_association_properties(properties: dict) -> None:
16
- attach(set_value("association_properties", properties))
17
-
18
- span = trace.get_current_span()
19
- _set_association_properties_attributes(span, properties)
20
-
21
-
22
- # TODO: delete this once deprecated Laminar.with_labels is removed
23
- def get_association_properties(context: Context | None = None) -> dict:
24
- return get_value("association_properties", context) or {}
25
-
26
-
27
- # TODO: delete this once deprecated Laminar.with_labels is removed. The logic
28
- # should be moved into Laminar.set_tracing_level
29
- def update_association_properties(
30
- properties: dict,
31
- set_on_current_span: bool = True,
32
- context: Context | None = None,
33
- ) -> None:
34
- """Only adds or updates properties that are not already present"""
35
- association_properties = get_value("association_properties", context) or {}
36
- association_properties.update(properties)
37
-
38
- attach(set_value("association_properties", association_properties, context))
39
-
40
- if set_on_current_span:
41
- span = trace.get_current_span()
42
- _set_association_properties_attributes(span, properties)
43
-
44
-
45
- # TODO: this logic should be moved into Laminar.set_tracing_level
46
- def remove_association_properties(properties: dict) -> None:
47
- props: dict = copy.copy(get_value("association_properties") or {})
48
- for k in properties.keys():
49
- props.pop(k, None)
50
- set_association_properties(props)
51
-
52
-
53
- def _set_association_properties_attributes(span: Span, properties: dict) -> None:
54
- if not span.is_recording():
55
- return
56
- for key, value in properties.items():
57
- if key == TRACING_LEVEL:
58
- span.set_attribute(f"lmnr.internal.{TRACING_LEVEL}", value)
59
- continue
60
- if (
61
- key in ["langgraph.edges", "langgraph.nodes"]
62
- and span.name != "LangGraph.workflow"
63
- ):
64
- continue
65
- span.set_attribute(f"{ASSOCIATION_PROPERTIES}.{key}", value)