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.
- {lmnr-0.4.57 → lmnr-0.4.58}/PKG-INFO +51 -51
- lmnr-0.4.58/pyproject.toml +122 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/tracing.py +4 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/browser/playwright_patch.py +0 -1
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/evaluations.py +0 -3
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/laminar.py +0 -2
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/types.py +5 -3
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/utils.py +1 -1
- lmnr-0.4.57/pyproject.toml +0 -122
- {lmnr-0.4.57 → lmnr-0.4.58}/LICENSE +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/README.md +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/cli.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/.flake8 +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/.python-version +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/config/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/decorators/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/decorators/base.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/instruments.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/attributes.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/content_allow_list.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/tracing/context_manager.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/in_memory_span_exporter.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/json_encoder.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/utils/package_check.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/openllmetry_sdk/version.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/browser/__init__.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/datasets.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/decorators.py +0 -0
- {lmnr-0.4.57 → lmnr-0.4.58}/src/lmnr/sdk/eval_control.py +0 -0
- {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.
|
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.
|
49
|
-
Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.
|
50
|
-
Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.
|
51
|
-
Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.
|
52
|
-
Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.
|
53
|
-
Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.
|
54
|
-
Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.
|
55
|
-
Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.
|
56
|
-
Requires-Dist: opentelemetry-instrumentation-cohere (>=0.
|
57
|
-
Requires-Dist: opentelemetry-instrumentation-cohere (>=0.
|
58
|
-
Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.
|
59
|
-
Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.
|
60
|
-
Requires-Dist: opentelemetry-instrumentation-groq (>=0.
|
61
|
-
Requires-Dist: opentelemetry-instrumentation-groq (>=0.
|
62
|
-
Requires-Dist: opentelemetry-instrumentation-haystack (>=0.
|
63
|
-
Requires-Dist: opentelemetry-instrumentation-haystack (>=0.
|
64
|
-
Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.
|
65
|
-
Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.
|
66
|
-
Requires-Dist: opentelemetry-instrumentation-langchain (>=0.
|
67
|
-
Requires-Dist: opentelemetry-instrumentation-langchain (>=0.
|
68
|
-
Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.
|
69
|
-
Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.
|
70
|
-
Requires-Dist: opentelemetry-instrumentation-marqo (>=0.
|
71
|
-
Requires-Dist: opentelemetry-instrumentation-marqo (>=0.
|
72
|
-
Requires-Dist: opentelemetry-instrumentation-milvus (>=0.
|
73
|
-
Requires-Dist: opentelemetry-instrumentation-milvus (>=0.
|
74
|
-
Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.
|
75
|
-
Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.
|
76
|
-
Requires-Dist: opentelemetry-instrumentation-ollama (>=0.
|
77
|
-
Requires-Dist: opentelemetry-instrumentation-ollama (>=0.
|
78
|
-
Requires-Dist: opentelemetry-instrumentation-openai (>=0.
|
79
|
-
Requires-Dist: opentelemetry-instrumentation-openai (>=0.
|
80
|
-
Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.
|
81
|
-
Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.
|
82
|
-
Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.
|
83
|
-
Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.
|
84
|
-
Requires-Dist: opentelemetry-instrumentation-replicate (>=0.
|
85
|
-
Requires-Dist: opentelemetry-instrumentation-replicate (>=0.
|
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.
|
88
|
-
Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.
|
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.
|
92
|
-
Requires-Dist: opentelemetry-instrumentation-together (>=0.
|
93
|
-
Requires-Dist: opentelemetry-instrumentation-transformers (>=0.
|
94
|
-
Requires-Dist: opentelemetry-instrumentation-transformers (>=0.
|
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.
|
97
|
-
Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.
|
98
|
-
Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.
|
99
|
-
Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.
|
100
|
-
Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.
|
101
|
-
Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.
|
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()
|
@@ -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
|
-
|
168
|
-
|
169
|
-
"
|
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")
|
lmnr-0.4.57/pyproject.toml
DELETED
@@ -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
|
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
|