lmnr 0.4.51b0__tar.gz → 0.4.53__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 (32) hide show
  1. {lmnr-0.4.51b0 → lmnr-0.4.53}/PKG-INFO +27 -28
  2. {lmnr-0.4.51b0 → lmnr-0.4.53}/pyproject.toml +29 -32
  3. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/tracing/tracing.py +2 -2
  4. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/laminar.py +8 -2
  5. {lmnr-0.4.51b0 → lmnr-0.4.53}/LICENSE +0 -0
  6. {lmnr-0.4.51b0 → lmnr-0.4.53}/README.md +0 -0
  7. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/__init__.py +0 -0
  8. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/cli.py +0 -0
  9. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/.flake8 +0 -0
  10. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/.python-version +0 -0
  11. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/__init__.py +0 -0
  12. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/config/__init__.py +0 -0
  13. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/decorators/__init__.py +0 -0
  14. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/decorators/base.py +0 -0
  15. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/instruments.py +0 -0
  16. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/tracing/__init__.py +0 -0
  17. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/tracing/attributes.py +0 -0
  18. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/tracing/content_allow_list.py +0 -0
  19. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/tracing/context_manager.py +0 -0
  20. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/utils/__init__.py +0 -0
  21. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/utils/in_memory_span_exporter.py +0 -0
  22. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/utils/json_encoder.py +0 -0
  23. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/utils/package_check.py +0 -0
  24. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/openllmetry_sdk/version.py +0 -0
  25. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/__init__.py +0 -0
  26. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/datasets.py +0 -0
  27. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/decorators.py +0 -0
  28. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/eval_control.py +0 -0
  29. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/evaluations.py +0 -0
  30. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/log.py +0 -0
  31. {lmnr-0.4.51b0 → lmnr-0.4.53}/src/lmnr/sdk/types.py +0 -0
  32. {lmnr-0.4.51b0 → lmnr-0.4.53}/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.51b0
3
+ Version: 0.4.53
4
4
  Summary: Python SDK for Laminar
5
5
  License: Apache-2.0
6
6
  Author: lmnr.ai
@@ -46,63 +46,62 @@ 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
48
  Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.35.0) ; extra == "alephalpha"
49
- Requires-Dist: opentelemetry-instrumentation-alephalpha ; extra == "all"
49
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.35.0) ; extra == "all"
50
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.35.0) ; extra == "all"
50
51
  Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.35.0) ; extra == "anthropic"
51
- Requires-Dist: opentelemetry-instrumentation-anthropic ; extra == "all"
52
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.35.0) ; extra == "all"
52
53
  Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.35.0) ; extra == "bedrock"
53
- Requires-Dist: opentelemetry-instrumentation-bedrock ; extra == "all"
54
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.35.0) ; extra == "all"
54
55
  Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.35.0) ; extra == "chromadb"
55
- Requires-Dist: opentelemetry-instrumentation-chromadb ; extra == "all"
56
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.35.0) ; extra == "all"
56
57
  Requires-Dist: opentelemetry-instrumentation-cohere (>=0.35.0) ; extra == "cohere"
57
- Requires-Dist: opentelemetry-instrumentation-cohere ; extra == "all"
58
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.35.0) ; extra == "all"
58
59
  Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.35.0) ; extra == "google-generativeai"
59
- Requires-Dist: opentelemetry-instrumentation-google-generativeai ; extra == "all"
60
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.35.0) ; extra == "all"
60
61
  Requires-Dist: opentelemetry-instrumentation-groq (>=0.35.0) ; extra == "groq"
61
- Requires-Dist: opentelemetry-instrumentation-groq ; extra == "all"
62
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.35.0) ; extra == "all"
62
63
  Requires-Dist: opentelemetry-instrumentation-haystack (>=0.35.0) ; extra == "haystack"
63
- Requires-Dist: opentelemetry-instrumentation-haystack ; extra == "all"
64
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.35.0) ; extra == "all"
64
65
  Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.35.0) ; extra == "lancedb"
65
- Requires-Dist: opentelemetry-instrumentation-lancedb ; extra == "all"
66
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.35.0) ; extra == "all"
66
67
  Requires-Dist: opentelemetry-instrumentation-langchain (>=0.35.0) ; extra == "langchain"
67
- Requires-Dist: opentelemetry-instrumentation-langchain ; extra == "all"
68
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.35.0) ; extra == "all"
68
69
  Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.35.0) ; extra == "llamaindex"
69
- Requires-Dist: opentelemetry-instrumentation-llamaindex ; extra == "all"
70
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.35.0) ; extra == "all"
70
71
  Requires-Dist: opentelemetry-instrumentation-marqo (>=0.35.0) ; extra == "marqo"
71
- Requires-Dist: opentelemetry-instrumentation-marqo ; extra == "all"
72
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.35.0) ; extra == "all"
72
73
  Requires-Dist: opentelemetry-instrumentation-milvus (>=0.35.0) ; extra == "milvus"
73
- Requires-Dist: opentelemetry-instrumentation-milvus ; extra == "all"
74
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.35.0) ; extra == "all"
74
75
  Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.35.0) ; extra == "mistralai"
75
- Requires-Dist: opentelemetry-instrumentation-mistralai ; extra == "all"
76
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.35.0) ; extra == "all"
76
77
  Requires-Dist: opentelemetry-instrumentation-ollama (>=0.35.0) ; extra == "ollama"
77
- Requires-Dist: opentelemetry-instrumentation-ollama ; extra == "all"
78
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.35.0) ; extra == "all"
78
79
  Requires-Dist: opentelemetry-instrumentation-openai (>=0.35.0) ; extra == "openai"
79
- Requires-Dist: opentelemetry-instrumentation-openai ; extra == "all"
80
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.35.0) ; extra == "all"
80
81
  Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.35.0) ; extra == "pinecone"
81
- Requires-Dist: opentelemetry-instrumentation-pinecone ; extra == "all"
82
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.35.0) ; extra == "all"
82
83
  Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.35.0) ; extra == "qdrant"
83
- Requires-Dist: opentelemetry-instrumentation-qdrant ; extra == "all"
84
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.35.0) ; extra == "all"
84
85
  Requires-Dist: opentelemetry-instrumentation-replicate (>=0.35.0) ; extra == "replicate"
85
- Requires-Dist: opentelemetry-instrumentation-replicate ; extra == "all"
86
86
  Requires-Dist: opentelemetry-instrumentation-requests (>=0.50b0)
87
+ Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.35.0) ; extra == "all"
87
88
  Requires-Dist: opentelemetry-instrumentation-sagemaker (>=0.35.0) ; extra == "sagemaker"
88
- Requires-Dist: opentelemetry-instrumentation-sagemaker ; extra == "all"
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.35.0) ; extra == "all"
91
92
  Requires-Dist: opentelemetry-instrumentation-together (>=0.35.0) ; extra == "together"
92
- Requires-Dist: opentelemetry-instrumentation-together ; extra == "all"
93
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.35.0) ; extra == "all"
93
94
  Requires-Dist: opentelemetry-instrumentation-transformers (>=0.35.0) ; extra == "transformers"
94
- Requires-Dist: opentelemetry-instrumentation-transformers ; extra == "all"
95
95
  Requires-Dist: opentelemetry-instrumentation-urllib3 (>=0.50b0)
96
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.35.0) ; extra == "all"
96
97
  Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.35.0) ; extra == "vertexai"
97
- Requires-Dist: opentelemetry-instrumentation-vertexai ; extra == "all"
98
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.35.0) ; extra == "all"
98
99
  Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.35.0) ; extra == "watsonx"
99
- Requires-Dist: opentelemetry-instrumentation-watsonx ; extra == "all"
100
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.35.0) ; extra == "all"
100
101
  Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.35.0) ; extra == "weaviate"
101
- Requires-Dist: opentelemetry-instrumentation-weaviate ; extra == "all"
102
102
  Requires-Dist: opentelemetry-sdk (>=1.28.0)
103
103
  Requires-Dist: opentelemetry-semantic-conventions-ai (>=0.4.2)
104
- Requires-Dist: poetry-core (>=2.0.0)
105
- Requires-Dist: pydantic (>=2.7)
104
+ Requires-Dist: pydantic (>=2.0.3)
106
105
  Requires-Dist: python-dotenv (>=1.0)
107
106
  Requires-Dist: requests (>=2.0)
108
107
  Requires-Dist: tenacity (>=8.0)
@@ -6,7 +6,7 @@
6
6
 
7
7
  [project]
8
8
  name = "lmnr"
9
- version = "0.4.51b0"
9
+ version = "0.4.53"
10
10
  description = "Python SDK for Laminar"
11
11
  authors = [
12
12
  { name = "lmnr.ai", email = "founders@lmnr.ai" }
@@ -15,7 +15,7 @@ readme = "README.md"
15
15
  requires-python = ">=3.9,<4"
16
16
  license = "Apache-2.0"
17
17
  dependencies = [
18
- "pydantic (>=2.7)",
18
+ "pydantic (>=2.0.3)",
19
19
  "requests (>=2.0)",
20
20
  "python-dotenv (>=1.0)",
21
21
  "opentelemetry-api (>=1.28.0)",
@@ -32,7 +32,6 @@ dependencies = [
32
32
  "argparse (>=1.0)",
33
33
  "aiohttp (>=3.0)",
34
34
  "tenacity (>=8.0)",
35
- "poetry-core>=2.0.0",
36
35
  ]
37
36
 
38
37
  [project.scripts]
@@ -74,44 +73,42 @@ weaviate=["opentelemetry-instrumentation-weaviate>=0.35.0"]
74
73
  # `all` is the group added for convenience, if you want to install all
75
74
  # the instrumentations.
76
75
  all = [
77
- "opentelemetry-instrumentation-alephalpha",
78
- "opentelemetry-instrumentation-anthropic",
79
- "opentelemetry-instrumentation-bedrock",
80
- "opentelemetry-instrumentation-chromadb",
81
- "opentelemetry-instrumentation-cohere",
82
- "opentelemetry-instrumentation-google-generativeai",
83
- "opentelemetry-instrumentation-groq",
84
- "opentelemetry-instrumentation-haystack",
85
- "opentelemetry-instrumentation-lancedb",
86
- "opentelemetry-instrumentation-langchain",
87
- "opentelemetry-instrumentation-llamaindex",
88
- "opentelemetry-instrumentation-marqo",
89
- "opentelemetry-instrumentation-milvus",
90
- "opentelemetry-instrumentation-mistralai",
91
- "opentelemetry-instrumentation-ollama",
92
- "opentelemetry-instrumentation-openai",
93
- "opentelemetry-instrumentation-pinecone",
94
- "opentelemetry-instrumentation-qdrant",
95
- "opentelemetry-instrumentation-replicate",
96
- "opentelemetry-instrumentation-sagemaker",
97
- "opentelemetry-instrumentation-together",
98
- "opentelemetry-instrumentation-transformers",
99
- "opentelemetry-instrumentation-vertexai",
100
- "opentelemetry-instrumentation-watsonx",
101
- "opentelemetry-instrumentation-weaviate"
76
+ "opentelemetry-instrumentation-alephalpha>=0.35.0",
77
+ "opentelemetry-instrumentation-anthropic>=0.35.0",
78
+ "opentelemetry-instrumentation-bedrock>=0.35.0",
79
+ "opentelemetry-instrumentation-chromadb>=0.35.0",
80
+ "opentelemetry-instrumentation-cohere>=0.35.0",
81
+ "opentelemetry-instrumentation-google-generativeai>=0.35.0",
82
+ "opentelemetry-instrumentation-groq>=0.35.0",
83
+ "opentelemetry-instrumentation-haystack>=0.35.0",
84
+ "opentelemetry-instrumentation-lancedb>=0.35.0",
85
+ "opentelemetry-instrumentation-langchain>=0.35.0",
86
+ "opentelemetry-instrumentation-llamaindex>=0.35.0",
87
+ "opentelemetry-instrumentation-marqo>=0.35.0",
88
+ "opentelemetry-instrumentation-milvus>=0.35.0",
89
+ "opentelemetry-instrumentation-mistralai>=0.35.0",
90
+ "opentelemetry-instrumentation-ollama>=0.35.0",
91
+ "opentelemetry-instrumentation-openai>=0.35.0",
92
+ "opentelemetry-instrumentation-pinecone>=0.35.0",
93
+ "opentelemetry-instrumentation-qdrant>=0.35.0",
94
+ "opentelemetry-instrumentation-replicate>=0.35.0",
95
+ "opentelemetry-instrumentation-sagemaker>=0.35.0",
96
+ "opentelemetry-instrumentation-together>=0.35.0",
97
+ "opentelemetry-instrumentation-transformers>=0.35.0",
98
+ "opentelemetry-instrumentation-vertexai>=0.35.0",
99
+ "opentelemetry-instrumentation-watsonx>=0.35.0",
100
+ "opentelemetry-instrumentation-weaviate>=0.35.0"
102
101
  ]
103
102
 
104
- # TODO: Migrate these to project section
105
103
  [dependency-groups]
106
104
  dev = [
107
105
  "autopep8",
108
106
  "flake8",
109
- "pytest",
107
+ "pytest>=8.3.4",
110
108
  "pytest-sugar",
111
- "pytest-asyncio"
109
+ "pytest-asyncio>=0.25.2"
112
110
  ]
113
111
 
114
112
  [build-system]
115
113
  requires = ["poetry-core"]
116
114
  build-backend = "poetry.core.masonry.api"
117
-
@@ -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
@@ -12,7 +12,6 @@ from lmnr.openllmetry_sdk.tracing.attributes import (
12
12
  from lmnr.openllmetry_sdk.decorators.base import json_dumps
13
13
  from opentelemetry import context as context_api, trace
14
14
  from opentelemetry.context import attach, detach
15
- from opentelemetry.sdk.trace import SpanProcessor
16
15
  from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
17
16
  from opentelemetry.util.types import AttributeValue
18
17
 
@@ -78,7 +77,6 @@ class Laminar:
78
77
  http_port: Optional[int] = None,
79
78
  grpc_port: Optional[int] = None,
80
79
  instruments: Optional[Set[Instruments]] = None,
81
- _processor: Optional[SpanProcessor] = None,
82
80
  disable_batch: bool = False,
83
81
  ):
84
82
  """Initialize Laminar context across the application.
@@ -104,6 +102,14 @@ class Laminar:
104
102
  If not specified, defaults to 443.
105
103
  grpc_port (Optional[int], optional): Laminar API grpc port.\
106
104
  If not specified, defaults to 8443.
105
+ instruments (Optional[Set[Instruments]], optional): Instruments to\
106
+ enable. Defaults to all instruments. You can pass\
107
+ an empty set to disable all instruments. Read more:\
108
+ https://docs.lmnr.ai/tracing/automatic-instrumentation
109
+ disable_batch (bool, optional): If set to True, spans will be sent\
110
+ immediately to the backend. Useful for debugging, but\
111
+ may cause performance overhead in production.
112
+ Defaults to False.
107
113
 
108
114
  Raises:
109
115
  ValueError: If project API key is not set
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