langtrace-python-sdk 1.2.20__tar.gz → 1.2.23__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 (78) hide show
  1. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/PKG-INFO +1 -1
  2. langtrace_python_sdk-1.2.23/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +1 -0
  3. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +6 -7
  4. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/openai/patch.py +7 -18
  5. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/langtrace.py +3 -3
  6. langtrace_python_sdk-1.2.23/src/langtrace_python_sdk/version.py +1 -0
  7. langtrace_python_sdk-1.2.20/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -1
  8. langtrace_python_sdk-1.2.20/src/langtrace_python_sdk/version.py +0 -1
  9. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/.gitignore +0 -0
  10. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/LICENSE +0 -0
  11. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/README.md +0 -0
  12. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/pyproject.toml +0 -0
  13. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/__init__.py +0 -0
  14. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/__init__.py +0 -0
  15. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/anthropic_example/__init__.py +0 -0
  16. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/anthropic_example/completion.py +0 -0
  17. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/chroma_example/__init__.py +0 -0
  18. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/chroma_example/basic.py +0 -0
  19. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/langchain_example/__init__.py +0 -0
  20. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/langchain_example/basic.py +0 -0
  21. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/langchain_example/tool.py +0 -0
  22. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/llamaindex_example/__init__.py +0 -0
  23. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/llamaindex_example/basic.py +0 -0
  24. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/llamaindex_example/data/abramov.txt +0 -0
  25. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/openai/__init__.py +0 -0
  26. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/openai/chat_completion.py +0 -0
  27. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/openai/embeddings_create.py +0 -0
  28. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/openai/function_calling.py +0 -0
  29. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/openai/images_generate.py +0 -0
  30. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/pinecone_example/__init__.py +0 -0
  31. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/examples/pinecone_example/basic.py +0 -0
  32. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/__init__.py +0 -0
  33. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/__init__.py +0 -0
  34. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/__init__.py +0 -0
  35. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
  36. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
  37. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
  38. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
  39. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
  40. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/extensions/__init__.py +0 -0
  41. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
  42. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
  43. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
  44. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +0 -0
  45. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
  46. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
  47. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +0 -0
  48. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
  49. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
  50. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +0 -0
  51. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
  52. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +0 -0
  53. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +0 -0
  54. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
  55. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +0 -0
  56. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +0 -0
  57. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
  58. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
  59. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +0 -0
  60. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
  61. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
  62. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
  63. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +0 -0
  64. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +0 -0
  65. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/utils/__init__.py +0 -0
  66. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/utils/llm.py +0 -0
  67. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
  68. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/run_example.py +0 -0
  69. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/__init__.py +0 -0
  70. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/anthropic/test_anthropic.py +0 -0
  71. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/chroma/test_chroma.py +0 -0
  72. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/langchain/test_langchain.py +0 -0
  73. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/langchain/test_langchain_community.py +0 -0
  74. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/langchain/test_langchain_core.py +0 -0
  75. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/openai/test_chat_completion.py +0 -0
  76. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/openai/test_image_generation.py +0 -0
  77. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/pinecone/test_pinecone.py +0 -0
  78. {langtrace_python_sdk-1.2.20 → langtrace_python_sdk-1.2.23}/src/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langtrace-python-sdk
3
- Version: 1.2.20
3
+ Version: 1.2.23
4
4
  Summary: Python SDK for LangTrace
5
5
  Project-URL: Homepage, https://github.com/Scale3-Labs/langtrace-python-sdk
6
6
  Author-email: Scale3 Labs <engineering@scale3labs.com>
@@ -0,0 +1 @@
1
+ LANGTRACE_REMOTE_URL = "https://langtrace.ai"
@@ -2,13 +2,12 @@ import json
2
2
  import os
3
3
  import typing
4
4
 
5
- from langtrace_python_sdk.constants.exporter.langtrace_exporter import (
6
- LANGTRACE_REMOTE_URL,
7
- )
8
5
  import requests
9
6
  from opentelemetry.sdk.trace.export import ReadableSpan, SpanExporter, SpanExportResult
10
7
  from opentelemetry.trace.span import format_trace_id
11
8
 
9
+ from langtrace_python_sdk.constants.exporter.langtrace_exporter import LANGTRACE_REMOTE_URL
10
+
12
11
 
13
12
  class LangTraceExporter(SpanExporter):
14
13
  """
@@ -49,9 +48,10 @@ class LangTraceExporter(SpanExporter):
49
48
  api_key: str
50
49
  write_to_remote_url: bool
51
50
 
52
- def __init__(self, api_key: str = None, write_to_remote_url: bool = False) -> None:
53
- self.api_key = api_key if api_key else os.environ.get("LANGTRACE_API_KEY")
51
+ def __init__(self, api_key: str = None, write_to_remote_url: bool = False, api_host: typing.Optional[str] = None) -> None:
52
+ self.api_key = api_key or os.environ.get("LANGTRACE_API_KEY")
54
53
  self.write_to_remote_url = write_to_remote_url
54
+ self.api_host: str = api_host or LANGTRACE_REMOTE_URL
55
55
 
56
56
  if self.write_to_remote_url and not self.api_key:
57
57
  raise ValueError("No API key provided")
@@ -66,7 +66,6 @@ class LangTraceExporter(SpanExporter):
66
66
  Returns:
67
67
  The result of the export SUCCESS or FAILURE
68
68
  """
69
-
70
69
  data = [
71
70
  {
72
71
  "traceId": format_trace_id(span.get_span_context().trace_id),
@@ -86,7 +85,7 @@ class LangTraceExporter(SpanExporter):
86
85
  # Send data to remote URL
87
86
  try:
88
87
  requests.post(
89
- url=LANGTRACE_REMOTE_URL,
88
+ url=f"{self.api_host}/api/trace",
90
89
  data=json.dumps(data),
91
90
  headers={"Content-Type": "application/json", "x-api-key": self.api_key},
92
91
  )
@@ -281,30 +281,19 @@ def chat_completions_create(original_method, version, tracer):
281
281
  }
282
282
  ),
283
283
  )
284
- if function_call is False:
285
- span.set_attribute(
286
- "llm.responses",
287
- json.dumps(
288
- {
289
- "message": {
290
- "role": "assistant",
291
- "content": "".join(result_content),
292
- }
293
- }
294
- ),
295
- )
296
- else:
297
- span.set_attribute(
298
- "llm.responses",
299
- json.dumps(
284
+ span.set_attribute(
285
+ "llm.responses",
286
+ json.dumps(
287
+ [
300
288
  {
301
289
  "message": {
302
290
  "role": "assistant",
303
291
  "content": "".join(result_content),
304
292
  }
305
293
  }
306
- ),
307
- )
294
+ ]
295
+ ),
296
+ )
308
297
  span.set_status(StatusCode.OK)
309
298
  span.end()
310
299
 
@@ -1,4 +1,4 @@
1
-
1
+ from typing import Optional
2
2
  from opentelemetry import trace
3
3
  from opentelemetry.sdk.trace import TracerProvider
4
4
  from opentelemetry.sdk.trace.export import (
@@ -40,12 +40,12 @@ def init(
40
40
  write_to_langtrace_cloud: bool = True,
41
41
  debug_log_to_console: bool = False,
42
42
  custom_remote_exporter=None,
43
+ api_host: Optional[str] = None,
43
44
  ):
44
-
45
45
  provider = TracerProvider()
46
46
 
47
47
  remote_write_exporter = (
48
- LangTraceExporter(api_key, write_to_langtrace_cloud)
48
+ LangTraceExporter(api_key, write_to_langtrace_cloud, api_host=api_host)
49
49
  if custom_remote_exporter is None
50
50
  else custom_remote_exporter
51
51
  )
@@ -0,0 +1 @@
1
+ __version__ = "1.2.23"
@@ -1 +0,0 @@
1
- LANGTRACE_REMOTE_URL = "https://langtrace.ai/api/trace"
@@ -1 +0,0 @@
1
- __version__ = "1.2.20"