lmnr 0.4.57__tar.gz → 0.4.58__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 (35) hide show
  1. {lmnr-0.4.57 → lmnr-0.4.58}/PKG-INFO +51 -51
  2. lmnr-0.4.58/pyproject.toml +122 -0
  3. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/tracing.py +4 -0
  4. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/browser/playwright_patch.py +0 -1
  5. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/evaluations.py +0 -3
  6. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/laminar.py +0 -2
  7. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/types.py +5 -3
  8. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/utils.py +1 -1
  9. lmnr-0.4.57/pyproject.toml +0 -122
  10. {lmnr-0.4.57 → lmnr-0.4.58}/LICENSE +0 -0
  11. {lmnr-0.4.57 → lmnr-0.4.58}/README.md +0 -0
  12. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/__init__.py +0 -0
  13. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/cli.py +0 -0
  14. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/.flake8 +0 -0
  15. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/.python-version +0 -0
  16. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/__init__.py +0 -0
  17. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/config/__init__.py +0 -0
  18. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/decorators/__init__.py +0 -0
  19. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/decorators/base.py +0 -0
  20. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/instruments.py +0 -0
  21. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/__init__.py +0 -0
  22. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/attributes.py +0 -0
  23. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/content_allow_list.py +0 -0
  24. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/context_manager.py +0 -0
  25. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/__init__.py +0 -0
  26. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/in_memory_span_exporter.py +0 -0
  27. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/json_encoder.py +0 -0
  28. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/package_check.py +0 -0
  29. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/version.py +0 -0
  30. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/__init__.py +0 -0
  31. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/browser/__init__.py +0 -0
  32. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/datasets.py +0 -0
  33. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/decorators.py +0 -0
  34. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/eval_control.py +0 -0
  35. {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/log.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lmnr
3
- Version: 0.4.57
3
+ Version: 0.4.58
4
4
  Summary: Python SDK for Laminar
5
5
  License: Apache-2.0
6
6
  Author: lmnr.ai
@@ -45,60 +45,60 @@ Requires-Dist: grpcio (<1.68.0)
45
45
  Requires-Dist: opentelemetry-api (>=1.28.0)
46
46
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.28.0)
47
47
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.28.0)
48
- Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.36.1) ; extra == "alephalpha"
49
- Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.36.1) ; extra == "all"
50
- Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.36.1) ; extra == "all"
51
- Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.36.1) ; extra == "anthropic"
52
- Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.36.1) ; extra == "all"
53
- Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.36.1) ; extra == "bedrock"
54
- Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.36.1) ; extra == "all"
55
- Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.36.1) ; extra == "chromadb"
56
- Requires-Dist: opentelemetry-instrumentation-cohere (>=0.36.1) ; extra == "all"
57
- Requires-Dist: opentelemetry-instrumentation-cohere (>=0.36.1) ; extra == "cohere"
58
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.36.1) ; extra == "all"
59
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.36.1) ; extra == "google-generativeai"
60
- Requires-Dist: opentelemetry-instrumentation-groq (>=0.36.1) ; extra == "all"
61
- Requires-Dist: opentelemetry-instrumentation-groq (>=0.36.1) ; extra == "groq"
62
- Requires-Dist: opentelemetry-instrumentation-haystack (>=0.36.1) ; extra == "all"
63
- Requires-Dist: opentelemetry-instrumentation-haystack (>=0.36.1) ; extra == "haystack"
64
- Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.36.1) ; extra == "all"
65
- Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.36.1) ; extra == "lancedb"
66
- Requires-Dist: opentelemetry-instrumentation-langchain (>=0.36.1) ; extra == "all"
67
- Requires-Dist: opentelemetry-instrumentation-langchain (>=0.36.1) ; extra == "langchain"
68
- Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.36.1) ; extra == "all"
69
- Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.36.1) ; extra == "llamaindex"
70
- Requires-Dist: opentelemetry-instrumentation-marqo (>=0.36.1) ; extra == "all"
71
- Requires-Dist: opentelemetry-instrumentation-marqo (>=0.36.1) ; extra == "marqo"
72
- Requires-Dist: opentelemetry-instrumentation-milvus (>=0.36.1) ; extra == "all"
73
- Requires-Dist: opentelemetry-instrumentation-milvus (>=0.36.1) ; extra == "milvus"
74
- Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.36.1) ; extra == "all"
75
- Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.36.1) ; extra == "mistralai"
76
- Requires-Dist: opentelemetry-instrumentation-ollama (>=0.36.1) ; extra == "all"
77
- Requires-Dist: opentelemetry-instrumentation-ollama (>=0.36.1) ; extra == "ollama"
78
- Requires-Dist: opentelemetry-instrumentation-openai (>=0.36.1) ; extra == "all"
79
- Requires-Dist: opentelemetry-instrumentation-openai (>=0.36.1) ; extra == "openai"
80
- Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.36.1) ; extra == "all"
81
- Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.36.1) ; extra == "pinecone"
82
- Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.36.1) ; extra == "all"
83
- Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.36.1) ; extra == "qdrant"
84
- Requires-Dist: opentelemetry-instrumentation-replicate (>=0.36.1) ; extra == "all"
85
- Requires-Dist: opentelemetry-instrumentation-replicate (>=0.36.1) ; extra == "replicate"
48
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.37.1) ; extra == "alephalpha"
49
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.37.1) ; extra == "all"
50
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.37.1) ; extra == "all"
51
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.37.1) ; extra == "anthropic"
52
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.37.1) ; extra == "all"
53
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.37.1) ; extra == "bedrock"
54
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.37.1) ; extra == "all"
55
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.37.1) ; extra == "chromadb"
56
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.37.1) ; extra == "all"
57
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.37.1) ; extra == "cohere"
58
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.37.1) ; extra == "all"
59
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.37.1) ; extra == "google-generativeai"
60
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.37.1) ; extra == "all"
61
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.37.1) ; extra == "groq"
62
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.37.1) ; extra == "all"
63
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.37.1) ; extra == "haystack"
64
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.37.1) ; extra == "all"
65
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.37.1) ; extra == "lancedb"
66
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.37.1) ; extra == "all"
67
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.37.1) ; extra == "langchain"
68
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.37.1) ; extra == "all"
69
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.37.1) ; extra == "llamaindex"
70
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.37.1) ; extra == "all"
71
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.37.1) ; extra == "marqo"
72
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.37.1) ; extra == "all"
73
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.37.1) ; extra == "milvus"
74
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.37.1) ; extra == "all"
75
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.37.1) ; extra == "mistralai"
76
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.37.1) ; extra == "all"
77
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.37.1) ; extra == "ollama"
78
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.37.1) ; extra == "all"
79
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.37.1) ; extra == "openai"
80
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.37.1) ; extra == "all"
81
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.37.1) ; extra == "pinecone"
82
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.37.1) ; extra == "all"
83
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.37.1) ; extra == "qdrant"
84
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.37.1) ; extra == "all"
85
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.37.1) ; extra == "replicate"
86
86
  Requires-Dist: opentelemetry-instrumentation-requests (>=0.50b0)
87
- Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.36.1) ; extra == "all"
88
- Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.36.1) ; extra == "sagemaker"
87
+ Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.37.1) ; extra == "all"
88
+ Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.37.1) ; extra == "sagemaker"
89
89
  Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.50b0)
90
90
  Requires-Dist: opentelemetry-instrumentation-threading (>=0.50b0)
91
- Requires-Dist: opentelemetry-instrumentation-together (>=0.36.1) ; extra == "all"
92
- Requires-Dist: opentelemetry-instrumentation-together (>=0.36.1) ; extra == "together"
93
- Requires-Dist: opentelemetry-instrumentation-transformers (>=0.36.1) ; extra == "all"
94
- Requires-Dist: opentelemetry-instrumentation-transformers (>=0.36.1) ; extra == "transformers"
91
+ Requires-Dist: opentelemetry-instrumentation-together (>=0.37.1) ; extra == "all"
92
+ Requires-Dist: opentelemetry-instrumentation-together (>=0.37.1) ; extra == "together"
93
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.37.1) ; extra == "all"
94
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.37.1) ; extra == "transformers"
95
95
  Requires-Dist: opentelemetry-instrumentation-urllib3 (>=0.50b0)
96
- Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.36.1) ; extra == "all"
97
- Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.36.1) ; extra == "vertexai"
98
- Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.36.1) ; extra == "all"
99
- Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.36.1) ; extra == "watsonx"
100
- Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.36.1) ; extra == "all"
101
- Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.36.1) ; extra == "weaviate"
96
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.37.1) ; extra == "all"
97
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.37.1) ; extra == "vertexai"
98
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.37.1) ; extra == "all"
99
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.37.1) ; extra == "watsonx"
100
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.37.1) ; extra == "all"
101
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.37.1) ; extra == "weaviate"
102
102
  Requires-Dist: opentelemetry-sdk (>=1.28.0)
103
103
  Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.2)
104
104
  Requires-Dist: pydantic (>=2.0.3)
@@ -0,0 +1,122 @@
1
+ # Laminar Python
2
+
3
+ # If you are looking for information about possible extras installations,
4
+ # i.e. what you can pass into `pip install 'lmnr[extra1,extra2]'`, please see the
5
+ # `[project.optional-dependencies]` section below.
6
+
7
+ [project]
8
+ name = "lmnr"
9
+ version = "0.4.58"
10
+ description = "Python SDK for Laminar"
11
+ authors = [
12
+ { name = "lmnr.ai", email = "founders@lmnr.ai" }
13
+ ]
14
+ readme = "README.md"
15
+ requires-python = ">=3.9,<4"
16
+ license = "Apache-2.0"
17
+ dependencies = [
18
+ "pydantic (>=2.0.3)",
19
+ "requests (>=2.0)",
20
+ "python-dotenv (>=1.0)",
21
+ "opentelemetry-api (>=1.28.0)",
22
+ "opentelemetry-sdk (>=1.28.0)",
23
+ "opentelemetry-exporter-otlp-proto-http (>=1.28.0)",
24
+ "opentelemetry-exporter-otlp-proto-grpc (>=1.28.0)",
25
+ "opentelemetry-instrumentation-requests (>=0.50b0)",
26
+ "opentelemetry-instrumentation-sqlalchemy (>=0.50b0)",
27
+ "opentelemetry-instrumentation-urllib3 (>=0.50b0)",
28
+ "opentelemetry-instrumentation-threading (>=0.50b0)",
29
+ "opentelemetry-semantic-conventions-ai (>=0.4.2)",
30
+ "tqdm (>=4.0)",
31
+ "argparse (>=1.0)",
32
+ "aiohttp (>=3.0)",
33
+ "tenacity (>=8.0)",
34
+ # explicitly freeze grpcio. Since 1.68.0, grpcio writes a warning message
35
+ # that looks scary, but is harmless.
36
+ # WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
37
+ # E0000 00:00:1737439981.199902 9456033 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
38
+ #
39
+ # Related issue:
40
+ # https://discuss.ai.google.dev/t/warning-all-log-messages-before-absl-initializelog-is-called-are-written-to-stderr-e0000-001731955515-629532-17124-init-cc-229-grpc-wait-for-shutdown-with-timeout-timed-out/50020
41
+ # https://github.com/grpc/grpc/issues/38490
42
+ "grpcio<1.68.0",
43
+ ]
44
+
45
+ [project.scripts]
46
+ lmnr = "lmnr.cli:cli"
47
+
48
+ [project.optional-dependencies]
49
+ # List of all possible extras. You can specify one or more of these extras
50
+ # when installing the package, using any of the following examples:
51
+ # `pip install 'lmnr[anthropic,openai]'`
52
+ # `uv pip install 'lmnr[anthropic,openai]'`
53
+ # `uv add lmnr --extra anthropic --extra openai`
54
+ # `poetry add 'lmnr[anthropic,openai]'`
55
+
56
+ alephalpha=["opentelemetry-instrumentation-alephalpha>=0.37.1"]
57
+ anthropic=["opentelemetry-instrumentation-anthropic>=0.37.1"]
58
+ bedrock=["opentelemetry-instrumentation-bedrock>=0.37.1"]
59
+ chromadb=["opentelemetry-instrumentation-chromadb>=0.37.1"]
60
+ cohere=["opentelemetry-instrumentation-cohere>=0.37.1"]
61
+ google-generativeai=["opentelemetry-instrumentation-google-generativeai>=0.37.1"]
62
+ groq=["opentelemetry-instrumentation-groq>=0.37.1"]
63
+ haystack=["opentelemetry-instrumentation-haystack>=0.37.1"]
64
+ lancedb=["opentelemetry-instrumentation-lancedb>=0.37.1"]
65
+ langchain=["opentelemetry-instrumentation-langchain>=0.37.1"]
66
+ llamaindex=["opentelemetry-instrumentation-llamaindex>=0.37.1"]
67
+ marqo=["opentelemetry-instrumentation-marqo>=0.37.1"]
68
+ milvus=["opentelemetry-instrumentation-milvus>=0.37.1"]
69
+ mistralai=["opentelemetry-instrumentation-mistralai>=0.37.1"]
70
+ ollama=["opentelemetry-instrumentation-ollama>=0.37.1"]
71
+ openai=["opentelemetry-instrumentation-openai>=0.37.1"]
72
+ pinecone=["opentelemetry-instrumentation-pinecone>=0.37.1"]
73
+ qdrant=["opentelemetry-instrumentation-qdrant>=0.37.1"]
74
+ replicate=["opentelemetry-instrumentation-replicate>=0.37.1"]
75
+ sagemaker=["opentelemetry-instrumentation-sagemaker>=0.37.1"]
76
+ together=["opentelemetry-instrumentation-together>=0.37.1"]
77
+ transformers=["opentelemetry-instrumentation-transformers>=0.37.1"]
78
+ vertexai=["opentelemetry-instrumentation-vertexai>=0.37.1"]
79
+ watsonx=["opentelemetry-instrumentation-watsonx>=0.37.1"]
80
+ weaviate=["opentelemetry-instrumentation-weaviate>=0.37.1"]
81
+ # `all` is the group added for convenience, if you want to install all
82
+ # the instrumentations.
83
+ all = [
84
+ "opentelemetry-instrumentation-alephalpha>=0.37.1",
85
+ "opentelemetry-instrumentation-anthropic>=0.37.1",
86
+ "opentelemetry-instrumentation-bedrock>=0.37.1",
87
+ "opentelemetry-instrumentation-chromadb>=0.37.1",
88
+ "opentelemetry-instrumentation-cohere>=0.37.1",
89
+ "opentelemetry-instrumentation-google-generativeai>=0.37.1",
90
+ "opentelemetry-instrumentation-groq>=0.37.1",
91
+ "opentelemetry-instrumentation-haystack>=0.37.1",
92
+ "opentelemetry-instrumentation-lancedb>=0.37.1",
93
+ "opentelemetry-instrumentation-langchain>=0.37.1",
94
+ "opentelemetry-instrumentation-llamaindex>=0.37.1",
95
+ "opentelemetry-instrumentation-marqo>=0.37.1",
96
+ "opentelemetry-instrumentation-milvus>=0.37.1",
97
+ "opentelemetry-instrumentation-mistralai>=0.37.1",
98
+ "opentelemetry-instrumentation-ollama>=0.37.1",
99
+ "opentelemetry-instrumentation-openai>=0.37.1",
100
+ "opentelemetry-instrumentation-pinecone>=0.37.1",
101
+ "opentelemetry-instrumentation-qdrant>=0.37.1",
102
+ "opentelemetry-instrumentation-replicate>=0.37.1",
103
+ "opentelemetry-instrumentation-sagemaker>=0.37.1",
104
+ "opentelemetry-instrumentation-together>=0.37.1",
105
+ "opentelemetry-instrumentation-transformers>=0.37.1",
106
+ "opentelemetry-instrumentation-vertexai>=0.37.1",
107
+ "opentelemetry-instrumentation-watsonx>=0.37.1",
108
+ "opentelemetry-instrumentation-weaviate>=0.37.1"
109
+ ]
110
+
111
+ [dependency-groups]
112
+ dev = [
113
+ "autopep8",
114
+ "flake8",
115
+ "pytest>=8.3.4",
116
+ "pytest-sugar",
117
+ "pytest-asyncio>=0.25.2"
118
+ ]
119
+
120
+ [build-system]
121
+ requires = ["poetry-core"]
122
+ build-backend = "poetry.core.masonry.api"
@@ -432,6 +432,10 @@ def init_openai_instrumentor(should_enrich_metrics: bool):
432
432
  instrumentor = OpenAIInstrumentor(
433
433
  enrich_assistant=should_enrich_metrics,
434
434
  enrich_token_usage=should_enrich_metrics,
435
+ # Default in the package provided is an empty function, which
436
+ # results in dropping the image data if we don't explicitly
437
+ # set it to None.
438
+ upload_base64_image=None,
435
439
  )
436
440
  if not instrumentor.is_instrumented_by_opentelemetry:
437
441
  instrumentor.instrument()
@@ -56,7 +56,6 @@ INJECT_PLACEHOLDER = """
56
56
  'Authorization': `Bearer ${projectApiKey}`
57
57
  },
58
58
  body: blob,
59
- compress: false,
60
59
  credentials: 'omit',
61
60
  mode: 'cors',
62
61
  cache: 'no-cache',
@@ -222,9 +222,6 @@ class Evaluation:
222
222
  self.is_finished = True
223
223
  return
224
224
 
225
- for result_datapoint in result_datapoints:
226
- result_datapoint.human_evaluators = self.human_evaluators or {}
227
-
228
225
  average_scores = get_average_scores(result_datapoints)
229
226
  self.reporter.stop(average_scores, evaluation.projectId, evaluation.id)
230
227
  self.is_finished = True
@@ -713,7 +713,6 @@ class Laminar:
713
713
  eval_id: uuid.UUID,
714
714
  datapoints: list[EvaluationResultDatapoint],
715
715
  groupName: Optional[str] = None,
716
- human_evaluators: Optional[list[HumanEvaluator]] = None,
717
716
  ):
718
717
  async with aiohttp.ClientSession() as session:
719
718
 
@@ -722,7 +721,6 @@ class Laminar:
722
721
  json={
723
722
  "points": [datapoint.to_dict() for datapoint in datapoints],
724
723
  "groupName": groupName,
725
- "humanEvaluators": human_evaluators,
726
724
  },
727
725
  headers=cls._headers(),
728
726
  ) as response:
@@ -164,9 +164,11 @@ class EvaluationResultDatapoint(pydantic.BaseModel):
164
164
  def to_dict(self):
165
165
  try:
166
166
  return {
167
- "data": serialize(self.data),
168
- "target": serialize(self.target),
169
- "executorOutput": serialize(self.executor_output),
167
+ # preserve only preview of the data, target and executor output
168
+ # (full data is in trace)
169
+ "data": str(serialize(self.data))[:100],
170
+ "target": str(serialize(self.target))[:100],
171
+ "executorOutput": str(serialize(self.executor_output))[:100],
170
172
  "scores": self.scores,
171
173
  "traceId": str(self.trace_id),
172
174
  "humanEvaluators": [
@@ -49,7 +49,7 @@ def is_iterator(o: typing.Any) -> bool:
49
49
  return hasattr(o, "__iter__") and hasattr(o, "__next__")
50
50
 
51
51
 
52
- def serialize(obj: typing.Any) -> dict[str, typing.Any]:
52
+ def serialize(obj: typing.Any) -> typing.Union[str, dict[str, typing.Any]]:
53
53
  def serialize_inner(o: typing.Any):
54
54
  if isinstance(o, (datetime.datetime, datetime.date)):
55
55
  return o.strftime("%Y-%m-%dT%H:%M:%S.%f%z")
@@ -1,122 +0,0 @@
1
- # Laminar Python
2
-
3
- # If you are looking for information about possible extras installations,
4
- # i.e. what you can pass into `pip install 'lmnr[extra1,extra2]'`, please see the
5
- # `[project.optional-dependencies]` section below.
6
-
7
- [project]
8
- name = "lmnr"
9
- version = "0.4.57"
10
- description = "Python SDK for Laminar"
11
- authors = [
12
- { name = "lmnr.ai", email = "founders@lmnr.ai" }
13
- ]
14
- readme = "README.md"
15
- requires-python = ">=3.9,<4"
16
- license = "Apache-2.0"
17
- dependencies = [
18
- "pydantic (>=2.0.3)",
19
- "requests (>=2.0)",
20
- "python-dotenv (>=1.0)",
21
- "opentelemetry-api (>=1.28.0)",
22
- "opentelemetry-sdk (>=1.28.0)",
23
- "opentelemetry-exporter-otlp-proto-http (>=1.28.0)",
24
- "opentelemetry-exporter-otlp-proto-grpc (>=1.28.0)",
25
- "opentelemetry-instrumentation-requests (>=0.50b0)",
26
- "opentelemetry-instrumentation-sqlalchemy (>=0.50b0)",
27
- "opentelemetry-instrumentation-urllib3 (>=0.50b0)",
28
- "opentelemetry-instrumentation-threading (>=0.50b0)",
29
- "opentelemetry-semantic-conventions-ai (>=0.4.2)",
30
- "tqdm (>=4.0)",
31
- "argparse (>=1.0)",
32
- "aiohttp (>=3.0)",
33
- "tenacity (>=8.0)",
34
- # explicitly freeze grpcio. Since 1.68.0, grpcio writes a warning message
35
- # that looks scary, but is harmless.
36
- # WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
37
- # E0000 00:00:1737439981.199902 9456033 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
38
- #
39
- # Related issue:
40
- # https://discuss.ai.google.dev/t/warning-all-log-messages-before-absl-initializelog-is-called-are-written-to-stderr-e0000-001731955515-629532-17124-init-cc-229-grpc-wait-for-shutdown-with-timeout-timed-out/50020
41
- # https://github.com/grpc/grpc/issues/38490
42
- "grpcio<1.68.0",
43
- ]
44
-
45
- [project.scripts]
46
- lmnr = "lmnr.cli:cli"
47
-
48
- [project.optional-dependencies]
49
- # List of all possible extras. You can specify one or more of these extras
50
- # when installing the package, using any of the following examples:
51
- # `pip install 'lmnr[anthropic,openai]'`
52
- # `uv pip install 'lmnr[anthropic,openai]'`
53
- # `uv add lmnr --extra anthropic --extra openai`
54
- # `poetry add 'lmnr[anthropic,openai]'`
55
-
56
- alephalpha=["opentelemetry-instrumentation-alephalpha>=0.36.1"]
57
- anthropic=["opentelemetry-instrumentation-anthropic>=0.36.1"]
58
- bedrock=["opentelemetry-instrumentation-bedrock>=0.36.1"]
59
- chromadb=["opentelemetry-instrumentation-chromadb>=0.36.1"]
60
- cohere=["opentelemetry-instrumentation-cohere>=0.36.1"]
61
- google-generativeai=["opentelemetry-instrumentation-google-generativeai>=0.36.1"]
62
- groq=["opentelemetry-instrumentation-groq>=0.36.1"]
63
- haystack=["opentelemetry-instrumentation-haystack>=0.36.1"]
64
- lancedb=["opentelemetry-instrumentation-lancedb>=0.36.1"]
65
- langchain=["opentelemetry-instrumentation-langchain>=0.36.1"]
66
- llamaindex=["opentelemetry-instrumentation-llamaindex>=0.36.1"]
67
- marqo=["opentelemetry-instrumentation-marqo>=0.36.1"]
68
- milvus=["opentelemetry-instrumentation-milvus>=0.36.1"]
69
- mistralai=["opentelemetry-instrumentation-mistralai>=0.36.1"]
70
- ollama=["opentelemetry-instrumentation-ollama>=0.36.1"]
71
- openai=["opentelemetry-instrumentation-openai>=0.36.1"]
72
- pinecone=["opentelemetry-instrumentation-pinecone>=0.36.1"]
73
- qdrant=["opentelemetry-instrumentation-qdrant>=0.36.1"]
74
- replicate=["opentelemetry-instrumentation-replicate>=0.36.1"]
75
- sagemaker=["opentelemetry-instrumentation-sagemaker>=0.36.1"]
76
- together=["opentelemetry-instrumentation-together>=0.36.1"]
77
- transformers=["opentelemetry-instrumentation-transformers>=0.36.1"]
78
- vertexai=["opentelemetry-instrumentation-vertexai>=0.36.1"]
79
- watsonx=["opentelemetry-instrumentation-watsonx>=0.36.1"]
80
- weaviate=["opentelemetry-instrumentation-weaviate>=0.36.1"]
81
- # `all` is the group added for convenience, if you want to install all
82
- # the instrumentations.
83
- all = [
84
- "opentelemetry-instrumentation-alephalpha>=0.36.1",
85
- "opentelemetry-instrumentation-anthropic>=0.36.1",
86
- "opentelemetry-instrumentation-bedrock>=0.36.1",
87
- "opentelemetry-instrumentation-chromadb>=0.36.1",
88
- "opentelemetry-instrumentation-cohere>=0.36.1",
89
- "opentelemetry-instrumentation-google-generativeai>=0.36.1",
90
- "opentelemetry-instrumentation-groq>=0.36.1",
91
- "opentelemetry-instrumentation-haystack>=0.36.1",
92
- "opentelemetry-instrumentation-lancedb>=0.36.1",
93
- "opentelemetry-instrumentation-langchain>=0.36.1",
94
- "opentelemetry-instrumentation-llamaindex>=0.36.1",
95
- "opentelemetry-instrumentation-marqo>=0.36.1",
96
- "opentelemetry-instrumentation-milvus>=0.36.1",
97
- "opentelemetry-instrumentation-mistralai>=0.36.1",
98
- "opentelemetry-instrumentation-ollama>=0.36.1",
99
- "opentelemetry-instrumentation-openai>=0.36.1",
100
- "opentelemetry-instrumentation-pinecone>=0.36.1",
101
- "opentelemetry-instrumentation-qdrant>=0.36.1",
102
- "opentelemetry-instrumentation-replicate>=0.36.1",
103
- "opentelemetry-instrumentation-sagemaker>=0.36.1",
104
- "opentelemetry-instrumentation-together>=0.36.1",
105
- "opentelemetry-instrumentation-transformers>=0.36.1",
106
- "opentelemetry-instrumentation-vertexai>=0.36.1",
107
- "opentelemetry-instrumentation-watsonx>=0.36.1",
108
- "opentelemetry-instrumentation-weaviate>=0.36.1"
109
- ]
110
-
111
- [dependency-groups]
112
- dev = [
113
- "autopep8",
114
- "flake8",
115
- "pytest>=8.3.4",
116
- "pytest-sugar",
117
- "pytest-asyncio>=0.25.2"
118
- ]
119
-
120
- [build-system]
121
- requires = ["poetry-core"]
122
- build-backend = "poetry.core.masonry.api"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes