lmnr 0.4.26__tar.gz → 0.4.28__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 (52) hide show
  1. {lmnr-0.4.26 → lmnr-0.4.28}/PKG-INFO +26 -27
  2. lmnr-0.4.28/pyproject.toml +79 -0
  3. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/datasets.py +1 -1
  4. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/laminar.py +14 -4
  5. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tracing/attributes.py +1 -0
  6. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tracing/tracing.py +11 -6
  7. lmnr-0.4.26/pyproject.toml +0 -80
  8. {lmnr-0.4.26 → lmnr-0.4.28}/LICENSE +0 -0
  9. {lmnr-0.4.26 → lmnr-0.4.28}/README.md +0 -0
  10. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/__init__.py +0 -0
  11. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/cli.py +0 -0
  12. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/__init__.py +0 -0
  13. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/decorators.py +0 -0
  14. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/evaluations.py +0 -0
  15. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/log.py +0 -0
  16. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/types.py +0 -0
  17. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/sdk/utils.py +0 -0
  18. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/.flake8 +0 -0
  19. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/.python-version +0 -0
  20. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/__init__.py +0 -0
  21. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/config/__init__.py +0 -0
  22. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/decorators/__init__.py +0 -0
  23. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/decorators/base.py +0 -0
  24. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/instruments.py +0 -0
  25. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/__init__.py +0 -0
  26. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_association_properties/test_langchain_and_external_association_properties.yaml +0 -0
  27. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_association_properties/test_langchain_association_properties.yaml +0 -0
  28. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_manual_report.yaml +0 -0
  29. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_manual/test_resource_attributes.yaml +0 -0
  30. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_privacy_no_prompts/test_simple_workflow.yaml +0 -0
  31. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_prompt_management/test_prompt_management.yaml +0 -0
  32. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_sdk_initialization/test_resource_attributes.yaml +0 -0
  33. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_tasks/test_task_io_serialization_with_langchain.yaml +0 -0
  34. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_aworkflow.yaml +0 -0
  35. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_simple_workflow.yaml +0 -0
  36. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/cassettes/test_workflows/test_streaming_workflow.yaml +0 -0
  37. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/conftest.py +0 -0
  38. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_association_properties.py +0 -0
  39. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_manual.py +0 -0
  40. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_nested_tasks.py +0 -0
  41. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_privacy_no_prompts.py +0 -0
  42. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_sdk_initialization.py +0 -0
  43. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_tasks.py +0 -0
  44. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tests/test_workflows.py +0 -0
  45. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tracing/__init__.py +0 -0
  46. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tracing/content_allow_list.py +0 -0
  47. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/tracing/context_manager.py +0 -0
  48. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/utils/__init__.py +0 -0
  49. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/utils/in_memory_span_exporter.py +0 -0
  50. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/utils/json_encoder.py +0 -0
  51. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/utils/package_check.py +0 -0
  52. {lmnr-0.4.26 → lmnr-0.4.28}/src/lmnr/traceloop_sdk/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lmnr
3
- Version: 0.4.26
3
+ Version: 0.4.28
4
4
  Summary: Python SDK for Laminar AI
5
5
  License: Apache-2.0
6
6
  Author: lmnr.ai
@@ -16,40 +16,39 @@ Requires-Dist: argparse (>=1.0,<2.0)
16
16
  Requires-Dist: backoff (>=2.0,<3.0)
17
17
  Requires-Dist: deprecated (>=1.0,<2.0)
18
18
  Requires-Dist: jinja2 (>=3.0,<4.0)
19
- Requires-Dist: openai (>=1.52.0,<2.0.0)
20
19
  Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
21
20
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.27.0,<2.0.0)
22
21
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.27.0,<2.0.0)
23
- Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.33.1)
24
- Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.33.1)
25
- Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.33.1)
26
- Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.33.1)
27
- Requires-Dist: opentelemetry-instrumentation-cohere (>=0.33.1)
28
- Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.33.1)
29
- Requires-Dist: opentelemetry-instrumentation-groq (>=0.33.1)
30
- Requires-Dist: opentelemetry-instrumentation-haystack (>=0.33.1)
31
- Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.33.1)
32
- Requires-Dist: opentelemetry-instrumentation-langchain (>=0.33.1)
33
- Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.33.1)
34
- Requires-Dist: opentelemetry-instrumentation-marqo (>=0.33.1)
35
- Requires-Dist: opentelemetry-instrumentation-milvus (>=0.33.1)
36
- Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.33.1)
37
- Requires-Dist: opentelemetry-instrumentation-ollama (>=0.33.1)
38
- Requires-Dist: opentelemetry-instrumentation-openai (>=0.33.1)
39
- Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.33.1)
40
- Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.33.1)
41
- Requires-Dist: opentelemetry-instrumentation-replicate (>=0.33.1)
22
+ Requires-Dist: opentelemetry-instrumentation-alephalpha (>=0.33.5)
23
+ Requires-Dist: opentelemetry-instrumentation-anthropic (>=0.33.5)
24
+ Requires-Dist: opentelemetry-instrumentation-bedrock (>=0.33.5)
25
+ Requires-Dist: opentelemetry-instrumentation-chromadb (>=0.33.5)
26
+ Requires-Dist: opentelemetry-instrumentation-cohere (>=0.33.5)
27
+ Requires-Dist: opentelemetry-instrumentation-google-generativeai (>=0.33.5)
28
+ Requires-Dist: opentelemetry-instrumentation-groq (>=0.33.5)
29
+ Requires-Dist: opentelemetry-instrumentation-haystack (>=0.33.5)
30
+ Requires-Dist: opentelemetry-instrumentation-lancedb (>=0.33.5)
31
+ Requires-Dist: opentelemetry-instrumentation-langchain (>=0.33.5)
32
+ Requires-Dist: opentelemetry-instrumentation-llamaindex (>=0.33.5)
33
+ Requires-Dist: opentelemetry-instrumentation-marqo (>=0.33.5)
34
+ Requires-Dist: opentelemetry-instrumentation-milvus (>=0.33.5)
35
+ Requires-Dist: opentelemetry-instrumentation-mistralai (>=0.33.5)
36
+ Requires-Dist: opentelemetry-instrumentation-ollama (>=0.33.5)
37
+ Requires-Dist: opentelemetry-instrumentation-openai (>=0.33.5)
38
+ Requires-Dist: opentelemetry-instrumentation-pinecone (>=0.33.5)
39
+ Requires-Dist: opentelemetry-instrumentation-qdrant (>=0.33.5)
40
+ Requires-Dist: opentelemetry-instrumentation-replicate (>=0.33.5)
42
41
  Requires-Dist: opentelemetry-instrumentation-requests (>=0.48b0,<0.49)
43
42
  Requires-Dist: opentelemetry-instrumentation-sqlalchemy (>=0.48b0,<0.49)
44
43
  Requires-Dist: opentelemetry-instrumentation-threading (>=0.48b0,<0.49)
45
- Requires-Dist: opentelemetry-instrumentation-together (>=0.33.1)
46
- Requires-Dist: opentelemetry-instrumentation-transformers (>=0.33.1)
44
+ Requires-Dist: opentelemetry-instrumentation-together (>=0.33.5)
45
+ Requires-Dist: opentelemetry-instrumentation-transformers (>=0.33.5)
47
46
  Requires-Dist: opentelemetry-instrumentation-urllib3 (>=0.48b0,<0.49)
48
- Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.33.1)
49
- Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.33.1)
50
- Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.33.1)
47
+ Requires-Dist: opentelemetry-instrumentation-vertexai (>=0.33.5)
48
+ Requires-Dist: opentelemetry-instrumentation-watsonx (>=0.33.5)
49
+ Requires-Dist: opentelemetry-instrumentation-weaviate (>=0.33.5)
51
50
  Requires-Dist: opentelemetry-sdk (>=1.27.0,<2.0.0)
52
- Requires-Dist: opentelemetry-semantic-conventions-ai (==0.4.1)
51
+ Requires-Dist: opentelemetry-semantic-conventions-ai (==0.4.2)
53
52
  Requires-Dist: pydantic (>=2.7,<3.0)
54
53
  Requires-Dist: python-dotenv (>=1.0,<2.0)
55
54
  Requires-Dist: requests (>=2.0,<3.0)
@@ -0,0 +1,79 @@
1
+ [project]
2
+ name = "lmnr"
3
+ version = "0.4.28"
4
+ description = "Python SDK for Laminar AI"
5
+ authors = [
6
+ { name = "lmnr.ai", email = "founders@lmnr.ai" }
7
+ ]
8
+ readme = "README.md"
9
+ requires-python = "^3.9"
10
+ license = "Apache-2.0"
11
+
12
+ [tool.poetry]
13
+ name = "lmnr"
14
+ version = "0.4.28"
15
+ description = "Python SDK for Laminar AI"
16
+ authors = ["lmnr.ai"]
17
+ readme = "README.md"
18
+ license = "Apache-2.0"
19
+
20
+ [tool.poetry.dependencies]
21
+ python = ">=3.9,<4"
22
+ pydantic = "~=2.7"
23
+ requests = "~=2.0"
24
+ python-dotenv = "~=1.0"
25
+ backoff = "~=2.0"
26
+ opentelemetry-api = "^1.27.0"
27
+ opentelemetry-sdk = "^1.27.0"
28
+ opentelemetry-exporter-otlp-proto-http = "^1.27.0"
29
+ opentelemetry-exporter-otlp-proto-grpc = "^1.27.0"
30
+ opentelemetry-instrumentation-requests = "^0.48b0"
31
+ opentelemetry-instrumentation-sqlalchemy = "^0.48b0"
32
+ opentelemetry-instrumentation-urllib3 = "^0.48b0"
33
+ opentelemetry-instrumentation-threading = "^0.48b0"
34
+ opentelemetry-semantic-conventions-ai = "0.4.2"
35
+ tenacity = ">=8.0"
36
+ jinja2 = "~=3.0"
37
+ deprecated = "~=1.0"
38
+ opentelemetry-instrumentation-mistralai = ">=0.33.5"
39
+ opentelemetry-instrumentation-openai = ">=0.33.5"
40
+ opentelemetry-instrumentation-ollama = ">=0.33.5"
41
+ opentelemetry-instrumentation-anthropic = ">=0.33.5"
42
+ opentelemetry-instrumentation-cohere = ">=0.33.5"
43
+ opentelemetry-instrumentation-google-generativeai = ">=0.33.5"
44
+ opentelemetry-instrumentation-pinecone = ">=0.33.5"
45
+ opentelemetry-instrumentation-qdrant = ">=0.33.5"
46
+ opentelemetry-instrumentation-langchain = ">=0.33.5"
47
+ opentelemetry-instrumentation-lancedb = ">=0.33.5"
48
+ opentelemetry-instrumentation-chromadb = ">=0.33.5"
49
+ opentelemetry-instrumentation-transformers = ">=0.33.5"
50
+ opentelemetry-instrumentation-together = ">=0.33.5"
51
+ opentelemetry-instrumentation-llamaindex = ">=0.33.5"
52
+ opentelemetry-instrumentation-milvus = ">=0.33.5"
53
+ opentelemetry-instrumentation-haystack = ">=0.33.5"
54
+ opentelemetry-instrumentation-bedrock = ">=0.33.5"
55
+ opentelemetry-instrumentation-replicate = ">=0.33.5"
56
+ opentelemetry-instrumentation-vertexai = ">=0.33.5"
57
+ opentelemetry-instrumentation-watsonx = ">=0.33.5"
58
+ opentelemetry-instrumentation-weaviate = ">=0.33.5"
59
+ opentelemetry-instrumentation-alephalpha = ">=0.33.5"
60
+ opentelemetry-instrumentation-marqo = ">=0.33.5"
61
+ opentelemetry-instrumentation-groq = ">=0.33.5"
62
+ tqdm = "~=4.0"
63
+ argparse = "~=1.0"
64
+
65
+ [tool.poetry.group.dev.dependencies]
66
+ autopep8 = "^2.2.0"
67
+ flake8 = "7.0.0"
68
+ pytest = "^8.2.2"
69
+ pytest-sugar = "1.0.0"
70
+
71
+ [build-system]
72
+ requires = ["poetry-core"]
73
+ build-backend = "poetry.core.masonry.api"
74
+
75
+ [tool.poetry.scripts]
76
+ lmnr = "lmnr.cli:cli"
77
+
78
+ [project.optional-dependencies]
79
+ test = ["pytest"]
@@ -34,7 +34,7 @@ class LaminarDataset(EvaluationDataset):
34
34
  self._fetched_items = []
35
35
  self._offset = 0
36
36
  self._fetch_size = fetch_size
37
- self._logger = get_default_logger(self.__class__.__name__, level=logging.DEBUG)
37
+ self._logger = get_default_logger(self.__class__.__name__)
38
38
 
39
39
  def _fetch_batch(self):
40
40
  self._logger.debug(
@@ -61,6 +61,7 @@ class Laminar:
61
61
  __project_api_key: Optional[str] = None
62
62
  __env: dict[str, str] = {}
63
63
  __initialized: bool = False
64
+ __http_session: Optional[requests.Session] = None
64
65
 
65
66
  @classmethod
66
67
  def initialize(
@@ -125,6 +126,7 @@ class Laminar:
125
126
  cls.__env = env
126
127
  cls.__initialized = True
127
128
  cls._initialize_logger()
129
+ cls.__http_session = requests.Session()
128
130
  Traceloop.init(
129
131
  exporter=OTLPSpanExporter(
130
132
  endpoint=cls.__base_grpc_url,
@@ -213,10 +215,18 @@ class Laminar:
213
215
  except Exception as e:
214
216
  raise ValueError(f"Invalid request: {e}")
215
217
 
216
- response = requests.post(
217
- cls.__base_http_url + "/v1/pipeline/run",
218
- data=json.dumps(request.to_dict()),
219
- headers=cls._headers(),
218
+ response = (
219
+ cls.__http_session.post(
220
+ cls.__base_http_url + "/v1/pipeline/run",
221
+ data=json.dumps(request.to_dict()),
222
+ headers=cls._headers(),
223
+ )
224
+ if cls.__http_session
225
+ else requests.post(
226
+ cls.__base_http_url + "/v1/pipeline/run",
227
+ data=json.dumps(request.to_dict()),
228
+ headers=cls._headers(),
229
+ )
220
230
  )
221
231
  if response.status_code != 200:
222
232
  raise PipelineRunError(response)
@@ -5,6 +5,7 @@ SPAN_INPUT = "lmnr.span.input"
5
5
  SPAN_OUTPUT = "lmnr.span.output"
6
6
  SPAN_TYPE = "lmnr.span.type"
7
7
  SPAN_PATH = "lmnr.span.path"
8
+ SPAN_INSTRUMENTATION_SOURCE = "lmnr.span.instrumentation_source"
8
9
 
9
10
  ASSOCIATION_PROPERTIES = "lmnr.association.properties"
10
11
  SESSION_ID = "session_id"
@@ -25,7 +25,11 @@ from opentelemetry.instrumentation.threading import ThreadingInstrumentor
25
25
 
26
26
  # from lmnr.traceloop_sdk import Telemetry
27
27
  from lmnr.traceloop_sdk.instruments import Instruments
28
- from lmnr.traceloop_sdk.tracing.attributes import ASSOCIATION_PROPERTIES, SPAN_PATH
28
+ from lmnr.traceloop_sdk.tracing.attributes import (
29
+ ASSOCIATION_PROPERTIES,
30
+ SPAN_INSTRUMENTATION_SOURCE,
31
+ SPAN_PATH,
32
+ )
29
33
  from lmnr.traceloop_sdk.tracing.content_allow_list import ContentAllowList
30
34
  from lmnr.traceloop_sdk.utils import is_notebook
31
35
  from lmnr.traceloop_sdk.utils.package_check import is_package_installed
@@ -235,6 +239,8 @@ class TracerWrapper(object):
235
239
  # the final part of the name to the span on the backend.
236
240
  span.set_attribute(SPAN_PATH, span_path)
237
241
 
242
+ span.set_attribute(SPAN_INSTRUMENTATION_SOURCE, "python")
243
+
238
244
  association_properties = get_value("association_properties")
239
245
  if association_properties is not None:
240
246
  _set_association_properties_attributes(span, association_properties)
@@ -266,10 +272,7 @@ class TracerWrapper(object):
266
272
  if hasattr(cls, "instance"):
267
273
  return True
268
274
 
269
- if (os.getenv("TRACELOOP_SUPPRESS_WARNINGS") or "false").lower() == "true":
270
- return False
271
-
272
- print("Warning: Laminar not initialized, make sure to initialize")
275
+ logging.warning("Warning: Laminar not initialized, make sure to initialize")
273
276
  return False
274
277
 
275
278
  def flush(self):
@@ -557,7 +560,9 @@ def init_langchain_instrumentor():
557
560
  instrumentor.instrument()
558
561
  return True
559
562
  except Exception as e:
560
- logging.error(f"Error initializing LangChain instrumentor: {e}")
563
+ # FIXME: silence this error temporarily, it appears to not be critical
564
+ if str(e) != "No module named 'langchain_community'":
565
+ logging.error(f"Error initializing LangChain instrumentor: {e}")
561
566
  # Telemetry().log_exception(e)
562
567
  return False
563
568
 
@@ -1,80 +0,0 @@
1
- [project]
2
- name = "lmnr"
3
- version = "0.4.26"
4
- description = "Python SDK for Laminar AI"
5
- authors = [
6
- { name = "lmnr.ai", email = "founders@lmnr.ai" }
7
- ]
8
- readme = "README.md"
9
- requires-python = "^3.9"
10
- license = "Apache-2.0"
11
-
12
- [tool.poetry]
13
- name = "lmnr"
14
- version = "0.4.26"
15
- description = "Python SDK for Laminar AI"
16
- authors = ["lmnr.ai"]
17
- readme = "README.md"
18
- license = "Apache-2.0"
19
-
20
- [tool.poetry.dependencies]
21
- python = ">=3.9,<4"
22
- pydantic = "~=2.7"
23
- requests = "~=2.0"
24
- python-dotenv = "~=1.0"
25
- backoff = "~=2.0"
26
- opentelemetry-api = "^1.27.0"
27
- opentelemetry-sdk = "^1.27.0"
28
- opentelemetry-exporter-otlp-proto-http = "^1.27.0"
29
- opentelemetry-exporter-otlp-proto-grpc = "^1.27.0"
30
- opentelemetry-instrumentation-requests = "^0.48b0"
31
- opentelemetry-instrumentation-sqlalchemy = "^0.48b0"
32
- opentelemetry-instrumentation-urllib3 = "^0.48b0"
33
- opentelemetry-instrumentation-threading = "^0.48b0"
34
- opentelemetry-semantic-conventions-ai = "0.4.1"
35
- tenacity = ">=8.0"
36
- jinja2 = "~=3.0"
37
- deprecated = "~=1.0"
38
- opentelemetry-instrumentation-mistralai = ">=0.33.1"
39
- opentelemetry-instrumentation-openai = ">=0.33.1"
40
- opentelemetry-instrumentation-ollama = ">=0.33.1"
41
- opentelemetry-instrumentation-anthropic = ">=0.33.1"
42
- opentelemetry-instrumentation-cohere = ">=0.33.1"
43
- opentelemetry-instrumentation-google-generativeai = ">=0.33.1"
44
- opentelemetry-instrumentation-pinecone = ">=0.33.1"
45
- opentelemetry-instrumentation-qdrant = ">=0.33.1"
46
- opentelemetry-instrumentation-langchain = ">=0.33.1"
47
- opentelemetry-instrumentation-lancedb = ">=0.33.1"
48
- opentelemetry-instrumentation-chromadb = ">=0.33.1"
49
- opentelemetry-instrumentation-transformers = ">=0.33.1"
50
- opentelemetry-instrumentation-together = ">=0.33.1"
51
- opentelemetry-instrumentation-llamaindex = ">=0.33.1"
52
- opentelemetry-instrumentation-milvus = ">=0.33.1"
53
- opentelemetry-instrumentation-haystack = ">=0.33.1"
54
- opentelemetry-instrumentation-bedrock = ">=0.33.1"
55
- opentelemetry-instrumentation-replicate = ">=0.33.1"
56
- opentelemetry-instrumentation-vertexai = ">=0.33.1"
57
- opentelemetry-instrumentation-watsonx = ">=0.33.1"
58
- opentelemetry-instrumentation-weaviate = ">=0.33.1"
59
- opentelemetry-instrumentation-alephalpha = ">=0.33.1"
60
- opentelemetry-instrumentation-marqo = ">=0.33.1"
61
- opentelemetry-instrumentation-groq = ">=0.33.1"
62
- tqdm = "~=4.0"
63
- argparse = "~=1.0"
64
-
65
- openai = "^1.52.0"
66
- [tool.poetry.group.dev.dependencies]
67
- autopep8 = "^2.2.0"
68
- flake8 = "7.0.0"
69
- pytest = "^8.2.2"
70
- pytest-sugar = "1.0.0"
71
-
72
- [build-system]
73
- requires = ["poetry-core"]
74
- build-backend = "poetry.core.masonry.api"
75
-
76
- [tool.poetry.scripts]
77
- lmnr = "lmnr.cli:cli"
78
-
79
- [project.optional-dependencies]
80
- test = ["pytest"]
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