lmnr 0.4.53.dev0__tar.gz → 0.4.55__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 (33) hide show
  1. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/PKG-INFO +60 -59
  2. lmnr-0.4.55/pyproject.toml +123 -0
  3. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/tracing/tracing.py +2 -2
  4. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/evaluations.py +5 -4
  5. lmnr-0.4.53.dev0/pyproject.toml +0 -114
  6. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/LICENSE +0 -0
  7. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/README.md +0 -0
  8. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/__init__.py +0 -0
  9. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/cli.py +0 -0
  10. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/.flake8 +0 -0
  11. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/.python-version +0 -0
  12. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/__init__.py +0 -0
  13. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/config/__init__.py +0 -0
  14. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/decorators/__init__.py +0 -0
  15. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/decorators/base.py +0 -0
  16. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/instruments.py +0 -0
  17. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/tracing/__init__.py +0 -0
  18. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/tracing/attributes.py +0 -0
  19. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/tracing/content_allow_list.py +0 -0
  20. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/tracing/context_manager.py +0 -0
  21. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/utils/__init__.py +0 -0
  22. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/utils/in_memory_span_exporter.py +0 -0
  23. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/utils/json_encoder.py +0 -0
  24. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/utils/package_check.py +0 -0
  25. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/openllmetry_sdk/version.py +0 -0
  26. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/__init__.py +0 -0
  27. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/datasets.py +0 -0
  28. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/decorators.py +0 -0
  29. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/eval_control.py +0 -0
  30. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/laminar.py +0 -0
  31. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/log.py +0 -0
  32. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/types.py +0 -0
  33. {lmnr-0.4.53.dev0 → lmnr-0.4.55}/src/lmnr/sdk/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lmnr
3
- Version: 0.4.53.dev0
3
+ Version: 0.4.55
4
4
  Summary: Python SDK for Laminar
5
5
  License: Apache-2.0
6
6
  Author: lmnr.ai
@@ -42,64 +42,65 @@ Provides-Extra: weaviate
42
42
  Requires-Dist: aiohttp (>=3.0)
43
43
  Requires-Dist: argparse (>=1.0)
44
44
  Requires-Dist: deprecated (>=1.0)
45
- Requires-Dist: opentelemetry-api (>=1.27.0)
46
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.27.0)
47
- Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.27.0)
48
- Requires-Dist: opentelemetry-instrumentation-alephalpha (==0.33.9) ; extra == "alephalpha"
49
- Requires-Dist: opentelemetry-instrumentation-alephalpha (==0.33.9) ; extra == "all"
50
- Requires-Dist: opentelemetry-instrumentation-anthropic (==0.33.9) ; extra == "all"
51
- Requires-Dist: opentelemetry-instrumentation-anthropic (==0.33.9) ; extra == "anthropic"
52
- Requires-Dist: opentelemetry-instrumentation-bedrock (==0.33.9) ; extra == "all"
53
- Requires-Dist: opentelemetry-instrumentation-bedrock (==0.33.9) ; extra == "bedrock"
54
- Requires-Dist: opentelemetry-instrumentation-chromadb (==0.33.9) ; extra == "all"
55
- Requires-Dist: opentelemetry-instrumentation-chromadb (==0.33.9) ; extra == "chromadb"
56
- Requires-Dist: opentelemetry-instrumentation-cohere (==0.33.9) ; extra == "all"
57
- Requires-Dist: opentelemetry-instrumentation-cohere (==0.33.9) ; extra == "cohere"
58
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (==0.33.9) ; extra == "all"
59
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (==0.33.9) ; extra == "google-generativeai"
60
- Requires-Dist: opentelemetry-instrumentation-groq (==0.33.9) ; extra == "all"
61
- Requires-Dist: opentelemetry-instrumentation-groq (==0.33.9) ; extra == "groq"
62
- Requires-Dist: opentelemetry-instrumentation-haystack (==0.33.9) ; extra == "all"
63
- Requires-Dist: opentelemetry-instrumentation-haystack (==0.33.9) ; extra == "haystack"
64
- Requires-Dist: opentelemetry-instrumentation-lancedb (==0.33.9) ; extra == "all"
65
- Requires-Dist: opentelemetry-instrumentation-lancedb (==0.33.9) ; extra == "lancedb"
66
- Requires-Dist: opentelemetry-instrumentation-langchain (==0.33.9) ; extra == "all"
67
- Requires-Dist: opentelemetry-instrumentation-langchain (==0.33.9) ; extra == "langchain"
68
- Requires-Dist: opentelemetry-instrumentation-llamaindex (==0.33.9) ; extra == "all"
69
- Requires-Dist: opentelemetry-instrumentation-llamaindex (==0.33.9) ; extra == "llamaindex"
70
- Requires-Dist: opentelemetry-instrumentation-marqo (==0.33.9) ; extra == "all"
71
- Requires-Dist: opentelemetry-instrumentation-marqo (==0.33.9) ; extra == "marqo"
72
- Requires-Dist: opentelemetry-instrumentation-milvus (==0.33.9) ; extra == "all"
73
- Requires-Dist: opentelemetry-instrumentation-milvus (==0.33.9) ; extra == "milvus"
74
- Requires-Dist: opentelemetry-instrumentation-mistralai (==0.33.9) ; extra == "all"
75
- Requires-Dist: opentelemetry-instrumentation-mistralai (==0.33.9) ; extra == "mistralai"
76
- Requires-Dist: opentelemetry-instrumentation-ollama (==0.33.9) ; extra == "all"
77
- Requires-Dist: opentelemetry-instrumentation-ollama (==0.33.9) ; extra == "ollama"
78
- Requires-Dist: opentelemetry-instrumentation-openai (==0.33.9) ; extra == "all"
79
- Requires-Dist: opentelemetry-instrumentation-openai (==0.33.9) ; extra == "openai"
80
- Requires-Dist: opentelemetry-instrumentation-pinecone (==0.33.9) ; extra == "all"
81
- Requires-Dist: opentelemetry-instrumentation-pinecone (==0.33.9) ; extra == "pinecone"
82
- Requires-Dist: opentelemetry-instrumentation-qdrant (==0.33.9) ; extra == "all"
83
- Requires-Dist: opentelemetry-instrumentation-qdrant (==0.33.9) ; extra == "qdrant"
84
- Requires-Dist: opentelemetry-instrumentation-replicate (==0.33.9) ; extra == "all"
85
- Requires-Dist: opentelemetry-instrumentation-replicate (==0.33.9) ; extra == "replicate"
86
- Requires-Dist: opentelemetry-instrumentation-requests (==0.48b0)
87
- Requires-Dist: opentelemetry-instrumentation-sagemaker (==0.33.9) ; extra == "all"
88
- Requires-Dist: opentelemetry-instrumentation-sagemaker (==0.33.9) ; extra == "sagemaker"
89
- Requires-Dist: opentelemetry-instrumentation-sqlalchemy (==0.48b0)
90
- Requires-Dist: opentelemetry-instrumentation-threading (==0.48b0)
91
- Requires-Dist: opentelemetry-instrumentation-together (==0.33.9) ; extra == "all"
92
- Requires-Dist: opentelemetry-instrumentation-together (==0.33.9) ; extra == "together"
93
- Requires-Dist: opentelemetry-instrumentation-transformers (==0.33.9) ; extra == "all"
94
- Requires-Dist: opentelemetry-instrumentation-transformers (==0.33.9) ; extra == "transformers"
95
- Requires-Dist: opentelemetry-instrumentation-urllib3 (==0.48b0)
96
- Requires-Dist: opentelemetry-instrumentation-vertexai (==0.33.9) ; extra == "all"
97
- Requires-Dist: opentelemetry-instrumentation-vertexai (==0.33.9) ; extra == "vertexai"
98
- Requires-Dist: opentelemetry-instrumentation-watsonx (==0.33.9) ; extra == "all"
99
- Requires-Dist: opentelemetry-instrumentation-watsonx (==0.33.9) ; extra == "watsonx"
100
- Requires-Dist: opentelemetry-instrumentation-weaviate (==0.33.9) ; extra == "all"
101
- Requires-Dist: opentelemetry-instrumentation-weaviate (==0.33.9) ; extra == "weaviate"
102
- Requires-Dist: opentelemetry-sdk (>=1.27.0)
45
+ Requires-Dist: grpcio (<1.68.0)
46
+ Requires-Dist: opentelemetry-api (>=1.28.0)
47
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.28.0)
48
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.28.0)
49
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.36.1) ; extra == "alephalpha"
50
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.36.1) ; extra == "all"
51
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.36.1) ; extra == "all"
52
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.36.1) ; extra == "anthropic"
53
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.36.1) ; extra == "all"
54
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.36.1) ; extra == "bedrock"
55
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.36.1) ; extra == "all"
56
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.36.1) ; extra == "chromadb"
57
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.36.1) ; extra == "all"
58
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.36.1) ; extra == "cohere"
59
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.36.1) ; extra == "all"
60
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.36.1) ; extra == "google-generativeai"
61
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.36.1) ; extra == "all"
62
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.36.1) ; extra == "groq"
63
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.36.1) ; extra == "all"
64
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.36.1) ; extra == "haystack"
65
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.36.1) ; extra == "all"
66
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.36.1) ; extra == "lancedb"
67
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.36.1) ; extra == "all"
68
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.36.1) ; extra == "langchain"
69
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.36.1) ; extra == "all"
70
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.36.1) ; extra == "llamaindex"
71
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.36.1) ; extra == "all"
72
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.36.1) ; extra == "marqo"
73
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.36.1) ; extra == "all"
74
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.36.1) ; extra == "milvus"
75
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.36.1) ; extra == "all"
76
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.36.1) ; extra == "mistralai"
77
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.36.1) ; extra == "all"
78
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.36.1) ; extra == "ollama"
79
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.36.1) ; extra == "all"
80
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.36.1) ; extra == "openai"
81
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.36.1) ; extra == "all"
82
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.36.1) ; extra == "pinecone"
83
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.36.1) ; extra == "all"
84
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.36.1) ; extra == "qdrant"
85
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.36.1) ; extra == "all"
86
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.36.1) ; extra == "replicate"
87
+ Requires-Dist: opentelemetry-instrumentation-requests (>=0.50b0)
88
+ Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.36.1) ; extra == "all"
89
+ Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.36.1) ; extra == "sagemaker"
90
+ Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.50b0)
91
+ Requires-Dist: opentelemetry-instrumentation-threading (>=0.50b0)
92
+ Requires-Dist: opentelemetry-instrumentation-together (>=0.36.1) ; extra == "all"
93
+ Requires-Dist: opentelemetry-instrumentation-together (>=0.36.1) ; extra == "together"
94
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.36.1) ; extra == "all"
95
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.36.1) ; extra == "transformers"
96
+ Requires-Dist: opentelemetry-instrumentation-urllib3 (>=0.50b0)
97
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.36.1) ; extra == "all"
98
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.36.1) ; extra == "vertexai"
99
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.36.1) ; extra == "all"
100
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.36.1) ; extra == "watsonx"
101
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.36.1) ; extra == "all"
102
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.36.1) ; extra == "weaviate"
103
+ Requires-Dist: opentelemetry-sdk (>=1.28.0)
103
104
  Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.2)
104
105
  Requires-Dist: pydantic (>=2.0.3)
105
106
  Requires-Dist: python-dotenv (>=1.0)
@@ -0,0 +1,123 @@
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.55"
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
+ "deprecated (>=1.0)",
31
+ "tqdm (>=4.0)",
32
+ "argparse (>=1.0)",
33
+ "aiohttp (>=3.0)",
34
+ "tenacity (>=8.0)",
35
+ # explicitly freeze grpcio. Since 1.68.0, grpcio writes a warning message
36
+ # that looks scary, but is harmless.
37
+ # WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
38
+ # E0000 00:00:1737439981.199902 9456033 init.cc:229] grpc_wait_for_shutdown_with_timeout() timed out.
39
+ #
40
+ # Related issue:
41
+ # 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
42
+ # https://github.com/grpc/grpc/issues/38490
43
+ "grpcio<1.68.0",
44
+ ]
45
+
46
+ [project.scripts]
47
+ lmnr = "lmnr.cli:cli"
48
+
49
+ [project.optional-dependencies]
50
+ # List of all possible extras. You can specify one or more of these extras
51
+ # when installing the package, using any of the following examples:
52
+ # `pip install 'lmnr[anthropic,openai]'`
53
+ # `uv pip install 'lmnr[anthropic,openai]'`
54
+ # `uv add lmnr --extra anthropic --extra openai`
55
+ # `poetry add 'lmnr[anthropic,openai]'`
56
+
57
+ alephalpha=["opentelemetry-instrumentation-alephalpha>=0.36.1"]
58
+ anthropic=["opentelemetry-instrumentation-anthropic>=0.36.1"]
59
+ bedrock=["opentelemetry-instrumentation-bedrock>=0.36.1"]
60
+ chromadb=["opentelemetry-instrumentation-chromadb>=0.36.1"]
61
+ cohere=["opentelemetry-instrumentation-cohere>=0.36.1"]
62
+ google-generativeai=["opentelemetry-instrumentation-google-generativeai>=0.36.1"]
63
+ groq=["opentelemetry-instrumentation-groq>=0.36.1"]
64
+ haystack=["opentelemetry-instrumentation-haystack>=0.36.1"]
65
+ lancedb=["opentelemetry-instrumentation-lancedb>=0.36.1"]
66
+ langchain=["opentelemetry-instrumentation-langchain>=0.36.1"]
67
+ llamaindex=["opentelemetry-instrumentation-llamaindex>=0.36.1"]
68
+ marqo=["opentelemetry-instrumentation-marqo>=0.36.1"]
69
+ milvus=["opentelemetry-instrumentation-milvus>=0.36.1"]
70
+ mistralai=["opentelemetry-instrumentation-mistralai>=0.36.1"]
71
+ ollama=["opentelemetry-instrumentation-ollama>=0.36.1"]
72
+ openai=["opentelemetry-instrumentation-openai>=0.36.1"]
73
+ pinecone=["opentelemetry-instrumentation-pinecone>=0.36.1"]
74
+ qdrant=["opentelemetry-instrumentation-qdrant>=0.36.1"]
75
+ replicate=["opentelemetry-instrumentation-replicate>=0.36.1"]
76
+ sagemaker=["opentelemetry-instrumentation-sagemaker>=0.36.1"]
77
+ together=["opentelemetry-instrumentation-together>=0.36.1"]
78
+ transformers=["opentelemetry-instrumentation-transformers>=0.36.1"]
79
+ vertexai=["opentelemetry-instrumentation-vertexai>=0.36.1"]
80
+ watsonx=["opentelemetry-instrumentation-watsonx>=0.36.1"]
81
+ weaviate=["opentelemetry-instrumentation-weaviate>=0.36.1"]
82
+ # `all` is the group added for convenience, if you want to install all
83
+ # the instrumentations.
84
+ all = [
85
+ "opentelemetry-instrumentation-alephalpha>=0.36.1",
86
+ "opentelemetry-instrumentation-anthropic>=0.36.1",
87
+ "opentelemetry-instrumentation-bedrock>=0.36.1",
88
+ "opentelemetry-instrumentation-chromadb>=0.36.1",
89
+ "opentelemetry-instrumentation-cohere>=0.36.1",
90
+ "opentelemetry-instrumentation-google-generativeai>=0.36.1",
91
+ "opentelemetry-instrumentation-groq>=0.36.1",
92
+ "opentelemetry-instrumentation-haystack>=0.36.1",
93
+ "opentelemetry-instrumentation-lancedb>=0.36.1",
94
+ "opentelemetry-instrumentation-langchain>=0.36.1",
95
+ "opentelemetry-instrumentation-llamaindex>=0.36.1",
96
+ "opentelemetry-instrumentation-marqo>=0.36.1",
97
+ "opentelemetry-instrumentation-milvus>=0.36.1",
98
+ "opentelemetry-instrumentation-mistralai>=0.36.1",
99
+ "opentelemetry-instrumentation-ollama>=0.36.1",
100
+ "opentelemetry-instrumentation-openai>=0.36.1",
101
+ "opentelemetry-instrumentation-pinecone>=0.36.1",
102
+ "opentelemetry-instrumentation-qdrant>=0.36.1",
103
+ "opentelemetry-instrumentation-replicate>=0.36.1",
104
+ "opentelemetry-instrumentation-sagemaker>=0.36.1",
105
+ "opentelemetry-instrumentation-together>=0.36.1",
106
+ "opentelemetry-instrumentation-transformers>=0.36.1",
107
+ "opentelemetry-instrumentation-vertexai>=0.36.1",
108
+ "opentelemetry-instrumentation-watsonx>=0.36.1",
109
+ "opentelemetry-instrumentation-weaviate>=0.36.1"
110
+ ]
111
+
112
+ [dependency-groups]
113
+ dev = [
114
+ "autopep8",
115
+ "flake8",
116
+ "pytest>=8.3.4",
117
+ "pytest-sugar",
118
+ "pytest-asyncio>=0.25.2"
119
+ ]
120
+
121
+ [build-system]
122
+ requires = ["poetry-core"]
123
+ build-backend = "poetry.core.masonry.api"
@@ -70,7 +70,7 @@ class TracerWrapper(object):
70
70
  headers: Dict[str, str] = {}
71
71
  __tracer_provider: TracerProvider = None
72
72
  __logger: logging.Logger = None
73
- __span_id_to_path: dict[int, str] = {}
73
+ __span_id_to_path: dict[int, list[str]] = {}
74
74
 
75
75
  def __new__(
76
76
  cls,
@@ -155,7 +155,7 @@ class TracerWrapper(object):
155
155
  parent_span_path = span_path_in_context or (
156
156
  self.__span_id_to_path.get(span.parent.span_id) if span.parent else None
157
157
  )
158
- span_path = f"{parent_span_path}.{span.name}" if parent_span_path else span.name
158
+ span_path = parent_span_path + [span.name] if parent_span_path else [span.name]
159
159
  span.set_attribute(SPAN_PATH, span_path)
160
160
  set_value("span_path", span_path, get_current())
161
161
  self.__span_id_to_path[span.get_span_context().span_id] = span_path
@@ -29,9 +29,10 @@ from .utils import is_async
29
29
  DEFAULT_BATCH_SIZE = 5
30
30
 
31
31
 
32
- def get_evaluation_url(
33
- project_id: str, evaluation_id: str, base_url: str = "https://www.lmnr.ai"
34
- ):
32
+ def get_evaluation_url(project_id: str, evaluation_id: str, base_url: Optional[str] = None):
33
+ if not base_url:
34
+ base_url = "https://www.lmnr.ai"
35
+
35
36
  url = base_url
36
37
  if url.endswith("/"):
37
38
  url = url[:-1]
@@ -58,7 +59,7 @@ def get_average_scores(results: list[EvaluationResultDatapoint]) -> dict[str, Nu
58
59
 
59
60
 
60
61
  class EvaluationReporter:
61
- def __init__(self, base_url: str = "https://www.lmnr.ai"):
62
+ def __init__(self, base_url):
62
63
  self.base_url = base_url
63
64
 
64
65
  def start(self, length: int):
@@ -1,114 +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.53.dev0"
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.27.0)",
22
- "opentelemetry-sdk (>=1.27.0)",
23
- "opentelemetry-exporter-otlp-proto-http (>=1.27.0)",
24
- "opentelemetry-exporter-otlp-proto-grpc (>=1.27.0)",
25
- "opentelemetry-instrumentation-requests (==0.48b0)",
26
- "opentelemetry-instrumentation-sqlalchemy (==0.48b0)",
27
- "opentelemetry-instrumentation-urllib3 (==0.48b0)",
28
- "opentelemetry-instrumentation-threading (==0.48b0)",
29
- "opentelemetry-semantic-conventions-ai (>=0.4.2)",
30
- "deprecated (>=1.0)",
31
- "tqdm (>=4.0)",
32
- "argparse (>=1.0)",
33
- "aiohttp (>=3.0)",
34
- "tenacity (>=8.0)",
35
- ]
36
-
37
- [project.scripts]
38
- lmnr = "lmnr.cli:cli"
39
-
40
- [project.optional-dependencies]
41
- # List of all possible extras. You can specify one or more of these extras
42
- # when installing the package, using any of the following examples:
43
- # `pip install 'lmnr[anthropic,openai]'`
44
- # `uv pip install 'lmnr[anthropic,openai]'`
45
- # `uv add lmnr --extra anthropic --extra openai`
46
- # `poetry add 'lmnr[anthropic,openai]'`
47
-
48
- alephalpha=["opentelemetry-instrumentation-alephalpha==0.33.9"]
49
- anthropic=["opentelemetry-instrumentation-anthropic==0.33.9"]
50
- bedrock=["opentelemetry-instrumentation-bedrock==0.33.9"]
51
- chromadb=["opentelemetry-instrumentation-chromadb==0.33.9"]
52
- cohere=["opentelemetry-instrumentation-cohere==0.33.9"]
53
- google-generativeai=["opentelemetry-instrumentation-google-generativeai==0.33.9"]
54
- groq=["opentelemetry-instrumentation-groq==0.33.9"]
55
- haystack=["opentelemetry-instrumentation-haystack==0.33.9"]
56
- lancedb=["opentelemetry-instrumentation-lancedb==0.33.9"]
57
- langchain=["opentelemetry-instrumentation-langchain==0.33.9"]
58
- llamaindex=["opentelemetry-instrumentation-llamaindex==0.33.9"]
59
- marqo=["opentelemetry-instrumentation-marqo==0.33.9"]
60
- milvus=["opentelemetry-instrumentation-milvus==0.33.9"]
61
- mistralai=["opentelemetry-instrumentation-mistralai==0.33.9"]
62
- ollama=["opentelemetry-instrumentation-ollama==0.33.9"]
63
- openai=["opentelemetry-instrumentation-openai==0.33.9"]
64
- pinecone=["opentelemetry-instrumentation-pinecone==0.33.9"]
65
- qdrant=["opentelemetry-instrumentation-qdrant==0.33.9"]
66
- replicate=["opentelemetry-instrumentation-replicate==0.33.9"]
67
- sagemaker=["opentelemetry-instrumentation-sagemaker==0.33.9"]
68
- together=["opentelemetry-instrumentation-together==0.33.9"]
69
- transformers=["opentelemetry-instrumentation-transformers==0.33.9"]
70
- vertexai=["opentelemetry-instrumentation-vertexai==0.33.9"]
71
- watsonx=["opentelemetry-instrumentation-watsonx==0.33.9"]
72
- weaviate=["opentelemetry-instrumentation-weaviate==0.33.9"]
73
- # `all` is the group added for convenience, if you want to install all
74
- # the instrumentations.
75
- all = [
76
- "opentelemetry-instrumentation-alephalpha==0.33.9",
77
- "opentelemetry-instrumentation-anthropic==0.33.9",
78
- "opentelemetry-instrumentation-bedrock==0.33.9",
79
- "opentelemetry-instrumentation-chromadb==0.33.9",
80
- "opentelemetry-instrumentation-cohere==0.33.9",
81
- "opentelemetry-instrumentation-google-generativeai==0.33.9",
82
- "opentelemetry-instrumentation-groq==0.33.9",
83
- "opentelemetry-instrumentation-haystack==0.33.9",
84
- "opentelemetry-instrumentation-lancedb==0.33.9",
85
- "opentelemetry-instrumentation-langchain==0.33.9",
86
- "opentelemetry-instrumentation-llamaindex==0.33.9",
87
- "opentelemetry-instrumentation-marqo==0.33.9",
88
- "opentelemetry-instrumentation-milvus==0.33.9",
89
- "opentelemetry-instrumentation-mistralai==0.33.9",
90
- "opentelemetry-instrumentation-ollama==0.33.9",
91
- "opentelemetry-instrumentation-openai==0.33.9",
92
- "opentelemetry-instrumentation-pinecone==0.33.9",
93
- "opentelemetry-instrumentation-qdrant==0.33.9",
94
- "opentelemetry-instrumentation-replicate==0.33.9",
95
- "opentelemetry-instrumentation-sagemaker==0.33.9",
96
- "opentelemetry-instrumentation-together==0.33.9",
97
- "opentelemetry-instrumentation-transformers==0.33.9",
98
- "opentelemetry-instrumentation-vertexai==0.33.9",
99
- "opentelemetry-instrumentation-watsonx==0.33.9",
100
- "opentelemetry-instrumentation-weaviate==0.33.9"
101
- ]
102
-
103
- [dependency-groups]
104
- dev = [
105
- "autopep8",
106
- "flake8",
107
- "pytest",
108
- "pytest-sugar",
109
- "pytest-asyncio"
110
- ]
111
-
112
- [build-system]
113
- requires = ["poetry-core"]
114
- 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