langtrace-python-sdk 2.1.7__tar.gz → 2.1.9__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 (149) hide show
  1. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/PKG-INFO +1 -1
  2. langtrace_python_sdk-2.1.9/src/langtrace_python_sdk/constants/__init__.py +1 -0
  3. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +4 -1
  4. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +4 -1
  5. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/cohere/patch.py +7 -4
  6. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/groq/patch.py +5 -2
  7. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +2 -1
  8. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +4 -1
  9. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +5 -2
  10. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langgraph/patch.py +4 -1
  11. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +5 -2
  12. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/openai/patch.py +9 -6
  13. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +4 -1
  14. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/qdrant/patch.py +4 -1
  15. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/weaviate/patch.py +4 -1
  16. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/langtrace.py +2 -0
  17. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/__init__.py +8 -0
  18. langtrace_python_sdk-2.1.9/src/langtrace_python_sdk/utils/sdk_version_checker.py +53 -0
  19. langtrace_python_sdk-2.1.9/src/langtrace_python_sdk/version.py +1 -0
  20. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/anthropic/test_anthropic.py +4 -2
  21. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/test_cohere_chat.py +4 -2
  22. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/test_cohere_embed.py +5 -5
  23. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/test_cohere_rerank.py +4 -7
  24. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/test_chat_completion.py +7 -13
  25. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/test_image_generation.py +5 -9
  26. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/pinecone/test_pinecone.py +5 -9
  27. langtrace_python_sdk-2.1.7/src/langtrace_python_sdk/version.py +0 -1
  28. langtrace_python_sdk-2.1.7/src/tests/__init__.py +0 -0
  29. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/.gitignore +0 -0
  30. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/LICENSE +0 -0
  31. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/README.md +0 -0
  32. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/pyproject.toml +0 -0
  33. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/__init__.py +0 -0
  34. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/__init__.py +0 -0
  35. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/anthropic_example/__init__.py +0 -0
  36. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/anthropic_example/completion.py +0 -0
  37. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/chroma_example/__init__.py +0 -0
  38. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/chroma_example/basic.py +0 -0
  39. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/__init__.py +0 -0
  40. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/chat.py +0 -0
  41. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/chat_stream.py +0 -0
  42. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/embed.py +0 -0
  43. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/rerank.py +0 -0
  44. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/cohere_example/tools.py +0 -0
  45. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/fastapi_example/basic_route.py +0 -0
  46. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/hiveagent_example/basic.py +0 -0
  47. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/langchain_example/__init__.py +0 -0
  48. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/langchain_example/basic.py +0 -0
  49. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/langchain_example/groq_example.py +0 -0
  50. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/langchain_example/langgraph_example.py +0 -0
  51. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/langchain_example/tool.py +0 -0
  52. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/llamaindex_example/__init__.py +0 -0
  53. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/llamaindex_example/agent.py +0 -0
  54. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/llamaindex_example/basic.py +0 -0
  55. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/llamaindex_example/data/abramov.txt +0 -0
  56. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/__init__.py +0 -0
  57. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/async_tool_calling_nonstreaming.py +0 -0
  58. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/async_tool_calling_streaming.py +0 -0
  59. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/chat_completion.py +0 -0
  60. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/embeddings_create.py +0 -0
  61. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/function_calling.py +0 -0
  62. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/images_generate.py +0 -0
  63. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/tool_calling.py +0 -0
  64. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/tool_calling_nonstreaming.py +0 -0
  65. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/openai_example/tool_calling_streaming.py +0 -0
  66. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/perplexity_example/basic.py +0 -0
  67. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/pinecone_example/__init__.py +0 -0
  68. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/pinecone_example/basic.py +0 -0
  69. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/qdrant_example/__init__.py +0 -0
  70. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/qdrant_example/basic.py +0 -0
  71. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/examples/weaviate_example/query_text.py +0 -0
  72. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/__init__.py +0 -0
  73. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -0
  74. {langtrace_python_sdk-2.1.7/src/langtrace_python_sdk/constants → langtrace_python_sdk-2.1.9/src/langtrace_python_sdk/constants/instrumentation}/__init__.py +0 -0
  75. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
  76. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
  77. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/cohere.py +0 -0
  78. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
  79. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/groq.py +0 -0
  80. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
  81. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
  82. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/qdrant.py +0 -0
  83. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/constants/instrumentation/weaviate.py +0 -0
  84. {langtrace_python_sdk-2.1.7/src/langtrace_python_sdk/constants/instrumentation → langtrace_python_sdk-2.1.9/src/langtrace_python_sdk/extensions}/__init__.py +0 -0
  85. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +0 -0
  86. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
  87. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
  88. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
  89. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
  90. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
  91. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/cohere/__init__.py +0 -0
  92. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/cohere/instrumentation.py +0 -0
  93. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/groq/__init__.py +0 -0
  94. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/groq/instrumentation.py +0 -0
  95. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
  96. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
  97. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
  98. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +0 -0
  99. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
  100. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +0 -0
  101. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langgraph/__init__.py +0 -0
  102. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/langgraph/instrumentation.py +0 -0
  103. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
  104. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
  105. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
  106. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
  107. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
  108. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +0 -0
  109. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/qdrant/__init__.py +0 -0
  110. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/qdrant/instrumentation.py +0 -0
  111. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/weaviate/__init__.py +0 -0
  112. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/instrumentation/weaviate/instrumentation.py +0 -0
  113. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/types/__init__.py +0 -0
  114. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/llm.py +0 -0
  115. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/misc.py +0 -0
  116. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/prompt_registry.py +0 -0
  117. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/silently_fail.py +0 -0
  118. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/types.py +0 -0
  119. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
  120. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/run_example.py +0 -0
  121. {langtrace_python_sdk-2.1.7/src/langtrace_python_sdk/extensions → langtrace_python_sdk-2.1.9/src/tests}/__init__.py +0 -0
  122. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/anthropic/cassettes/test_anthropic.yaml +0 -0
  123. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/anthropic/cassettes/test_anthropic_streaming.yaml +0 -0
  124. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/anthropic/cassettes/test_async_anthropic_streaming.yaml +0 -0
  125. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/anthropic/conftest.py +0 -0
  126. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/chroma/conftest.py +0 -0
  127. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/chroma/test_chroma.py +0 -0
  128. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/cassettes/test_cohere_chat.yaml +0 -0
  129. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/cassettes/test_cohere_chat_streaming.yaml +0 -0
  130. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/cassettes/test_cohere_embed.yaml +0 -0
  131. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/cassettes/test_cohere_rerank.yaml +0 -0
  132. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/cohere/conftest.py +0 -0
  133. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/conftest.py +0 -0
  134. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/langchain/cassettes/test_langchain.yaml +0 -0
  135. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/langchain/conftest.py +0 -0
  136. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/langchain/test_langchain.py +0 -0
  137. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/cassettes/test_async_chat_completion_streaming.yaml +0 -0
  138. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/cassettes/test_async_image_generation.yaml +0 -0
  139. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/cassettes/test_chat_completion.yaml +0 -0
  140. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/cassettes/test_chat_completion_streaming.yaml +0 -0
  141. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/cassettes/test_image_generation.yaml +0 -0
  142. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/conftest.py +0 -0
  143. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/openai/test_embeddings.py +0 -0
  144. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/pinecone/cassettes/test_query.yaml +0 -0
  145. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/pinecone/cassettes/test_upsert.yaml +0 -0
  146. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/pinecone/conftest.py +0 -0
  147. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/qdrant/conftest.py +0 -0
  148. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/qdrant/test_qdrant.py +0 -0
  149. {langtrace_python_sdk-2.1.7 → langtrace_python_sdk-2.1.9}/src/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: langtrace-python-sdk
3
- Version: 2.1.7
3
+ Version: 2.1.9
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_SDK_NAME = "langtrace-python-sdk"
@@ -26,6 +26,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
26
26
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
27
27
  SERVICE_PROVIDERS,
28
28
  )
29
+ from importlib_metadata import version as v
30
+
31
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
29
32
 
30
33
 
31
34
  def messages_create(original_method, version, tracer):
@@ -54,7 +57,7 @@ def messages_create(original_method, version, tracer):
54
57
  "langtrace.service.name": service_provider,
55
58
  "langtrace.service.type": "llm",
56
59
  "langtrace.service.version": version,
57
- "langtrace.version": "1.0.0",
60
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
58
61
  "url.full": base_url,
59
62
  "llm.api": APIS["MESSAGES_CREATE"]["ENDPOINT"],
60
63
  "llm.model": kwargs.get("model"),
@@ -27,6 +27,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
27
27
  SERVICE_PROVIDERS,
28
28
  )
29
29
  import json
30
+ from importlib_metadata import version as v
31
+
32
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
30
33
 
31
34
 
32
35
  def collection_patch(method, version, tracer):
@@ -44,7 +47,7 @@ def collection_patch(method, version, tracer):
44
47
  "langtrace.service.name": service_provider,
45
48
  "langtrace.service.type": "vectordb",
46
49
  "langtrace.service.version": version,
47
- "langtrace.version": "1.0.0",
50
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
48
51
  "db.system": "chromadb",
49
52
  "db.operation": api["OPERATION"],
50
53
  "db.query": json.dumps(kwargs.get("query")),
@@ -26,6 +26,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
26
26
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
27
27
  SERVICE_PROVIDERS,
28
28
  )
29
+ from importlib_metadata import version as v
30
+
31
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
29
32
 
30
33
 
31
34
  def rerank(original_method, version, tracer):
@@ -40,7 +43,7 @@ def rerank(original_method, version, tracer):
40
43
  "langtrace.service.name": service_provider,
41
44
  "langtrace.service.type": "llm",
42
45
  "langtrace.service.version": version,
43
- "langtrace.version": "1.0.0",
46
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
44
47
  "url.full": APIS["RERANK"]["URL"],
45
48
  "llm.api": APIS["RERANK"]["ENDPOINT"],
46
49
  "llm.model": kwargs.get("model"),
@@ -132,7 +135,7 @@ def embed(original_method, version, tracer):
132
135
  "langtrace.service.name": service_provider,
133
136
  "langtrace.service.type": "llm",
134
137
  "langtrace.service.version": version,
135
- "langtrace.version": "1.0.0",
138
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
136
139
  "url.full": APIS["EMBED"]["URL"],
137
140
  "llm.api": APIS["EMBED"]["ENDPOINT"],
138
141
  "llm.model": kwargs.get("model"),
@@ -242,7 +245,7 @@ def chat_create(original_method, version, tracer):
242
245
  "langtrace.service.name": service_provider,
243
246
  "langtrace.service.type": "llm",
244
247
  "langtrace.service.version": version,
245
- "langtrace.version": "1.0.0",
248
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
246
249
  "url.full": APIS["CHAT_CREATE"]["URL"],
247
250
  "llm.api": APIS["CHAT_CREATE"]["ENDPOINT"],
248
251
  "llm.model": (
@@ -437,7 +440,7 @@ def chat_stream(original_method, version, tracer):
437
440
  "langtrace.service.name": service_provider,
438
441
  "langtrace.service.type": "llm",
439
442
  "langtrace.service.version": version,
440
- "langtrace.version": "1.0.0",
443
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
441
444
  "url.full": APIS["CHAT_STREAM"]["URL"],
442
445
  "llm.api": APIS["CHAT_STREAM"]["ENDPOINT"],
443
446
  "llm.model": (
@@ -27,6 +27,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
27
27
  )
28
28
  from langtrace_python_sdk.constants.instrumentation.groq import APIS
29
29
  from langtrace_python_sdk.utils.llm import calculate_prompt_tokens, estimate_tokens
30
+ from importlib_metadata import version as v
31
+
32
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
30
33
 
31
34
 
32
35
  def chat_completions_create(original_method, version, tracer):
@@ -80,7 +83,7 @@ def chat_completions_create(original_method, version, tracer):
80
83
  "langtrace.service.name": service_provider,
81
84
  "langtrace.service.type": "llm",
82
85
  "langtrace.service.version": version,
83
- "langtrace.version": "1.0.0",
86
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
84
87
  "url.full": base_url,
85
88
  "llm.api": APIS["CHAT_COMPLETION"]["ENDPOINT"],
86
89
  "llm.prompts": json.dumps(llm_prompts),
@@ -340,7 +343,7 @@ def async_chat_completions_create(original_method, version, tracer):
340
343
  "langtrace.service.name": service_provider,
341
344
  "langtrace.service.type": "llm",
342
345
  "langtrace.service.version": version,
343
- "langtrace.version": "1.0.0",
346
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
344
347
  "url.full": base_url,
345
348
  "llm.api": APIS["CHAT_COMPLETION"]["ENDPOINT"],
346
349
  "llm.prompts": json.dumps(llm_prompts),
@@ -25,6 +25,7 @@ from langtrace_python_sdk.constants.instrumentation.common import (
25
25
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
26
26
  SERVICE_PROVIDERS,
27
27
  )
28
+ from importlib_metadata import version as v
28
29
 
29
30
 
30
31
  def generic_patch(
@@ -43,7 +44,7 @@ def generic_patch(
43
44
  "langtrace.service.name": service_provider,
44
45
  "langtrace.service.type": "framework",
45
46
  "langtrace.service.version": version,
46
- "langtrace.version": "1.0.0",
47
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
47
48
  "langchain.task.name": task,
48
49
  **(extra_attributes if extra_attributes is not None else {}),
49
50
  }
@@ -25,6 +25,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
25
25
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
26
26
  SERVICE_PROVIDERS,
27
27
  )
28
+ from importlib_metadata import version as v
29
+
30
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
28
31
 
29
32
 
30
33
  def generic_patch(
@@ -39,7 +42,7 @@ def generic_patch(
39
42
  "langtrace.service.name": service_provider,
40
43
  "langtrace.service.type": "framework",
41
44
  "langtrace.service.version": version,
42
- "langtrace.version": "1.0.0",
45
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
43
46
  "langchain.task.name": task,
44
47
  **(extra_attributes if extra_attributes is not None else {}),
45
48
  }
@@ -25,6 +25,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
25
25
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
26
26
  SERVICE_PROVIDERS,
27
27
  )
28
+ from importlib_metadata import version as v
29
+
30
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
28
31
 
29
32
 
30
33
  def generic_patch(
@@ -49,7 +52,7 @@ def generic_patch(
49
52
  "langtrace.service.name": service_provider,
50
53
  "langtrace.service.type": "framework",
51
54
  "langtrace.service.version": version,
52
- "langtrace.version": "1.0.0",
55
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
53
56
  "langchain.task.name": task,
54
57
  **(extra_attributes if extra_attributes is not None else {}),
55
58
  }
@@ -115,7 +118,7 @@ def runnable_patch(
115
118
  "langtrace.service.name": service_provider,
116
119
  "langtrace.service.type": "framework",
117
120
  "langtrace.service.version": version,
118
- "langtrace.version": "1.0.0",
121
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
119
122
  "langchain.task.name": task,
120
123
  }
121
124
 
@@ -25,6 +25,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
25
25
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
26
26
  SERVICE_PROVIDERS,
27
27
  )
28
+ from importlib_metadata import version as v
29
+
30
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
28
31
 
29
32
 
30
33
  def patch_graph_methods(method_name, tracer, version):
@@ -37,7 +40,7 @@ def patch_graph_methods(method_name, tracer, version):
37
40
  "langtrace.service.name": service_provider,
38
41
  "langtrace.service.type": "framework",
39
42
  "langtrace.service.version": version,
40
- "langtrace.version": "1.0.0",
43
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
41
44
  **(extra_attributes if extra_attributes is not None else {}),
42
45
  }
43
46
 
@@ -23,6 +23,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
23
23
  LANGTRACE_ADDITIONAL_SPAN_ATTRIBUTES_KEY,
24
24
  SERVICE_PROVIDERS,
25
25
  )
26
+ from importlib_metadata import version as v
27
+
28
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
26
29
 
27
30
 
28
31
  def generic_patch(method, task, tracer, version):
@@ -38,7 +41,7 @@ def generic_patch(method, task, tracer, version):
38
41
  "langtrace.service.name": service_provider,
39
42
  "langtrace.service.type": "framework",
40
43
  "langtrace.service.version": version,
41
- "langtrace.version": "1.0.0",
44
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
42
45
  "llamaindex.task.name": task,
43
46
  **(extra_attributes if extra_attributes is not None else {}),
44
47
  }
@@ -80,7 +83,7 @@ def async_generic_patch(method, task, tracer, version):
80
83
  "langtrace.service.name": service_provider,
81
84
  "langtrace.service.type": "framework",
82
85
  "langtrace.service.version": version,
83
- "langtrace.version": "1.0.0",
86
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
84
87
  "llamaindex.task.name": task,
85
88
  **(extra_attributes if extra_attributes is not None else {}),
86
89
  }
@@ -27,6 +27,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
27
27
  )
28
28
  from langtrace_python_sdk.constants.instrumentation.openai import APIS
29
29
  from langtrace_python_sdk.utils.llm import calculate_prompt_tokens, estimate_tokens
30
+ from importlib_metadata import version as v
31
+
32
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
30
33
 
31
34
 
32
35
  def images_generate(original_method, version, tracer):
@@ -48,7 +51,7 @@ def images_generate(original_method, version, tracer):
48
51
  "langtrace.service.name": service_provider,
49
52
  "langtrace.service.type": "llm",
50
53
  "langtrace.service.version": version,
51
- "langtrace.version": "1.0.0",
54
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
52
55
  "url.full": base_url,
53
56
  "llm.api": APIS["IMAGES_GENERATION"]["ENDPOINT"],
54
57
  "llm.model": kwargs.get("model"),
@@ -125,7 +128,7 @@ def async_images_generate(original_method, version, tracer):
125
128
  "langtrace.service.name": service_provider,
126
129
  "langtrace.service.type": "llm",
127
130
  "langtrace.service.version": version,
128
- "langtrace.version": "1.0.0",
131
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
129
132
  "url.full": base_url,
130
133
  "llm.api": APIS["IMAGES_GENERATION"]["ENDPOINT"],
131
134
  "llm.model": kwargs.get("model"),
@@ -235,7 +238,7 @@ def chat_completions_create(original_method, version, tracer):
235
238
  "langtrace.service.name": service_provider,
236
239
  "langtrace.service.type": "llm",
237
240
  "langtrace.service.version": version,
238
- "langtrace.version": "1.0.0",
241
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
239
242
  "url.full": base_url,
240
243
  "llm.api": APIS["CHAT_COMPLETION"]["ENDPOINT"],
241
244
  "llm.prompts": json.dumps(llm_prompts),
@@ -495,7 +498,7 @@ def async_chat_completions_create(original_method, version, tracer):
495
498
  "langtrace.service.name": service_provider,
496
499
  "langtrace.service.type": "llm",
497
500
  "langtrace.service.version": version,
498
- "langtrace.version": "1.0.0",
501
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
499
502
  "url.full": base_url,
500
503
  "llm.api": APIS["CHAT_COMPLETION"]["ENDPOINT"],
501
504
  "llm.prompts": json.dumps(llm_prompts),
@@ -725,7 +728,7 @@ def embeddings_create(original_method, version, tracer):
725
728
  "langtrace.service.name": service_provider,
726
729
  "langtrace.service.type": "llm",
727
730
  "langtrace.service.version": version,
728
- "langtrace.version": "1.0.0",
731
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
729
732
  "url.full": base_url,
730
733
  "llm.api": APIS["EMBEDDINGS_CREATE"]["ENDPOINT"],
731
734
  "llm.model": kwargs.get("model"),
@@ -792,7 +795,7 @@ def async_embeddings_create(original_method, version, tracer):
792
795
  "langtrace.service.name": service_provider,
793
796
  "langtrace.service.type": "llm",
794
797
  "langtrace.service.version": version,
795
- "langtrace.version": "1.0.0",
798
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
796
799
  "url.full": base_url,
797
800
  "llm.api": APIS["EMBEDDINGS_CREATE"]["ENDPOINT"],
798
801
  "llm.model": kwargs.get("model"),
@@ -28,6 +28,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
28
28
  from langtrace_python_sdk.constants.instrumentation.pinecone import APIS
29
29
  from langtrace_python_sdk.utils import set_span_attribute
30
30
  from langtrace_python_sdk.utils.silently_fail import silently_fail
31
+ from importlib_metadata import version as v
32
+
33
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
31
34
 
32
35
 
33
36
  def generic_patch(operation_name, version, tracer):
@@ -44,7 +47,7 @@ def generic_patch(operation_name, version, tracer):
44
47
  "langtrace.service.name": service_provider,
45
48
  "langtrace.service.type": "vectordb",
46
49
  "langtrace.service.version": version,
47
- "langtrace.version": "1.0.0",
50
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
48
51
  "db.system": "pinecone",
49
52
  "db.operation": api["OPERATION"],
50
53
  "db.query": json.dumps(kwargs.get("query")),
@@ -27,6 +27,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
27
27
  SERVICE_PROVIDERS,
28
28
  )
29
29
  from langtrace_python_sdk.constants.instrumentation.qdrant import APIS
30
+ from importlib_metadata import version as v
31
+
32
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
30
33
 
31
34
 
32
35
  def collection_patch(method, version, tracer):
@@ -44,7 +47,7 @@ def collection_patch(method, version, tracer):
44
47
  "langtrace.service.name": service_provider,
45
48
  "langtrace.service.type": "vectordb",
46
49
  "langtrace.service.version": version,
47
- "langtrace.version": "1.0.0",
50
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
48
51
  "db.system": "qdrant",
49
52
  "db.operation": api["OPERATION"],
50
53
  "db.query": json.dumps(kwargs.get("query")),
@@ -27,6 +27,9 @@ from langtrace_python_sdk.constants.instrumentation.common import (
27
27
  )
28
28
  from langtrace_python_sdk.constants.instrumentation.weaviate import APIS
29
29
  from langtrace_python_sdk.utils.misc import extract_input_params, to_iso_format
30
+ from importlib_metadata import version as v
31
+
32
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
30
33
 
31
34
  # Predefined metadata response attributes
32
35
  METADATA_ATTRIBUTES = [
@@ -118,7 +121,7 @@ def create_traced_method(method_name, version, tracer, get_collection_name=None)
118
121
  "langtrace.service.name": service_provider,
119
122
  "langtrace.service.type": "vectordb",
120
123
  "langtrace.service.version": version,
121
- "langtrace.version": "1.0.0",
124
+ "langtrace.version": v(LANGTRACE_SDK_NAME),
122
125
  "db.system": "weaviate",
123
126
  "db.operation": api["OPERATION"],
124
127
  "db.collection.name": collection_name,
@@ -45,6 +45,7 @@ from langtrace_python_sdk.instrumentation import (
45
45
  )
46
46
  from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor
47
47
  from colorama import Fore
48
+ from langtrace_python_sdk.utils import check_if_sdk_is_outdated
48
49
 
49
50
 
50
51
  def init(
@@ -55,6 +56,7 @@ def init(
55
56
  api_host: Optional[str] = None,
56
57
  disable_instrumentations: Optional[DisableInstrumentations] = None,
57
58
  ):
59
+ check_if_sdk_is_outdated()
58
60
  print(Fore.GREEN + "Initializing Langtrace SDK.." + Fore.RESET)
59
61
  provider = TracerProvider(resource=Resource.create({"service.name": sys.argv[0]}))
60
62
 
@@ -1,5 +1,13 @@
1
+ from .sdk_version_checker import SDKVersionChecker
2
+
3
+
1
4
  def set_span_attribute(span, name, value):
2
5
  if value is not None:
3
6
  if value != "":
4
7
  span.set_attribute(name, value)
5
8
  return
9
+
10
+
11
+ def check_if_sdk_is_outdated():
12
+ SDKVersionChecker().check()
13
+ return
@@ -0,0 +1,53 @@
1
+ from importlib.metadata import version
2
+ import time
3
+ import requests
4
+ from colorama import Fore
5
+
6
+
7
+ class SDKVersionChecker:
8
+ _cache: None
9
+ _cache_duration: int
10
+ _current_version: str
11
+ _latest_version: str
12
+
13
+ def __init__(self):
14
+ self._cache = {"timestamp": 0, "latest_version": None}
15
+ self._cache_duration = 3600 # Cache for 1 hour
16
+ self._current_version = version("langtrace_python_sdk")
17
+
18
+ def fetch_latest(self):
19
+ try:
20
+ current_time = time.time()
21
+ if (
22
+ current_time - self._cache["timestamp"] < self._cache_duration
23
+ and self._cache["latest_version"]
24
+ ):
25
+ return self._cache["latest_version"]
26
+
27
+ response = requests.get(
28
+ "https://api.github.com/repos/Scale3-Labs/langtrace-python-sdk/releases/latest",
29
+ timeout=20,
30
+ )
31
+ response.raise_for_status()
32
+ latest_version = response.json()["tag_name"]
33
+ self._cache.update(
34
+ {"timestamp": current_time, "latest_version": latest_version}
35
+ )
36
+ self._latest_version = latest_version
37
+ return latest_version
38
+ except Exception as err:
39
+ return None
40
+
41
+ def is_outdated(self):
42
+ latest_version = self.fetch_latest()
43
+ if latest_version:
44
+ return self._current_version < latest_version
45
+ return False
46
+
47
+ def check(self):
48
+ if self.is_outdated():
49
+ print(
50
+ Fore.YELLOW
51
+ + f"Warning: Your Langtrace SDK version {self._current_version} is outdated. Please upgrade to {self._latest_version}."
52
+ + Fore.RESET
53
+ )
@@ -0,0 +1 @@
1
+ __version__ = "2.1.9"
@@ -2,7 +2,9 @@ import pytest
2
2
  import json
3
3
  import importlib
4
4
  from langtrace_python_sdk.constants.instrumentation.anthropic import APIS
5
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
5
6
  from tests.utils import assert_response_format, assert_token_count
7
+ from importlib_metadata import version as v
6
8
 
7
9
 
8
10
  @pytest.mark.vcr()
@@ -30,7 +32,7 @@ def test_anthropic(anthropic_client, exporter):
30
32
  assert attributes.get("langtrace.service.version") == importlib.metadata.version(
31
33
  "anthropic"
32
34
  )
33
- assert attributes.get("langtrace.version") == "1.0.0"
35
+ assert attributes.get("langtrace.version") == v(LANGTRACE_SDK_NAME)
34
36
  assert attributes.get("url.full") == "https://api.anthropic.com"
35
37
  assert attributes.get("llm.api") == APIS["MESSAGES_CREATE"]["ENDPOINT"]
36
38
  assert attributes.get("llm.model") == llm_model_value
@@ -72,7 +74,7 @@ def test_anthropic_streaming(anthropic_client, exporter):
72
74
  assert attributes.get("langtrace.service.version") == importlib.metadata.version(
73
75
  "anthropic"
74
76
  )
75
- assert attributes.get("langtrace.version") == "1.0.0"
77
+ assert attributes.get("langtrace.version") == v(LANGTRACE_SDK_NAME)
76
78
  assert attributes.get("url.full") == "https://api.anthropic.com"
77
79
  assert attributes.get("llm.api") == APIS["MESSAGES_CREATE"]["ENDPOINT"]
78
80
  assert attributes.get("llm.model") == llm_model_value
@@ -3,7 +3,9 @@ from langtrace_python_sdk.constants.instrumentation.cohere import APIS
3
3
  from langtrace_python_sdk.constants.instrumentation.common import SERVICE_PROVIDERS
4
4
  import pytest
5
5
  import importlib
6
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
6
7
  from tests.utils import assert_response_format, assert_token_count
8
+ from importlib_metadata import version as v
7
9
 
8
10
 
9
11
  @pytest.mark.vcr
@@ -39,7 +41,7 @@ def test_cohere_chat(cohere_client, exporter):
39
41
  "cohere"
40
42
  )
41
43
 
42
- assert attributes.get("langtrace.version") == "1.0.0"
44
+ assert attributes.get("langtrace.version") == v(LANGTRACE_SDK_NAME)
43
45
  assert attributes.get("url.full") == APIS["CHAT_CREATE"]["URL"]
44
46
  assert attributes.get("llm.api") == APIS["CHAT_CREATE"]["ENDPOINT"]
45
47
  assert attributes.get("llm.model") == llm_model_value
@@ -97,7 +99,7 @@ def test_cohere_chat_streaming(cohere_client, exporter):
97
99
  "cohere"
98
100
  )
99
101
 
100
- assert attributes.get("langtrace.version") == "1.0.0"
102
+ assert attributes.get("langtrace.version") == v(LANGTRACE_SDK_NAME)
101
103
  assert attributes.get("url.full") == APIS["CHAT_STREAM"]["URL"]
102
104
  assert attributes.get("llm.api") == APIS["CHAT_STREAM"]["ENDPOINT"]
103
105
  assert attributes.get("llm.model") == llm_model_value
@@ -1,7 +1,9 @@
1
1
  from langtrace_python_sdk.constants.instrumentation.cohere import APIS
2
2
  from langtrace_python_sdk.constants.instrumentation.common import SERVICE_PROVIDERS
3
3
  import pytest
4
- import importlib
4
+ from importlib_metadata import version as v
5
+
6
+ from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME
5
7
 
6
8
 
7
9
  @pytest.mark.vcr
@@ -25,11 +27,9 @@ def test_cohere_embed(cohere_client, exporter):
25
27
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
26
28
  assert attributes.get("langtrace.service.name") == SERVICE_PROVIDERS["COHERE"]
27
29
  assert attributes.get("langtrace.service.type") == "llm"
28
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
29
- "cohere"
30
- )
30
+ assert attributes.get("langtrace.service.version") == v("cohere")
31
31
 
32
- assert attributes.get("langtrace.version") == "1.0.0"
32
+ assert attributes.get("langtrace.version") == v(LANGTRACE_SDK_NAME)
33
33
  assert attributes.get("url.full") == APIS["EMBED"]["URL"]
34
34
  assert attributes.get("llm.api") == APIS["EMBED"]["ENDPOINT"]
35
35
  assert attributes.get("llm.model") == llm_model_value
@@ -1,10 +1,9 @@
1
1
  from langtrace_python_sdk.constants.instrumentation.common import SERVICE_PROVIDERS
2
2
  import pytest
3
3
  import json
4
- import importlib
5
4
  from langtrace_python_sdk.constants.instrumentation.cohere import APIS
6
- from tests.utils import assert_response_format, assert_token_count
7
- import pprint
5
+ from tests.utils import assert_token_count
6
+ from importlib_metadata import version as v
8
7
 
9
8
 
10
9
  @pytest.mark.vcr
@@ -34,11 +33,9 @@ def test_cohere_rerank(cohere_client, exporter):
34
33
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
35
34
  assert attributes.get("langtrace.service.name") == SERVICE_PROVIDERS["COHERE"]
36
35
  assert attributes.get("langtrace.service.type") == "llm"
37
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
38
- "cohere"
39
- )
36
+ assert attributes.get("langtrace.service.version") == v("cohere")
40
37
 
41
- assert attributes.get("langtrace.version") == "1.0.0"
38
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
42
39
  assert attributes.get("url.full") == APIS["RERANK"]["URL"]
43
40
  assert attributes.get("llm.api") == APIS["RERANK"]["ENDPOINT"]
44
41
  assert attributes.get("llm.model") == llm_model_value
@@ -1,8 +1,8 @@
1
1
  import pytest
2
- import importlib
3
2
  import json
4
3
  from langtrace_python_sdk.constants.instrumentation.openai import APIS
5
4
  from tests.utils import assert_response_format, assert_token_count
5
+ from importlib_metadata import version as v
6
6
 
7
7
 
8
8
  @pytest.mark.vcr()
@@ -25,10 +25,8 @@ def test_chat_completion(exporter, openai_client):
25
25
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
26
26
  assert attributes.get("langtrace.service.name") == "OpenAI"
27
27
  assert attributes.get("langtrace.service.type") == "llm"
28
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
29
- "openai"
30
- )
31
- assert attributes.get("langtrace.version") == "1.0.0"
28
+ assert attributes.get("langtrace.service.version") == v("openai")
29
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
32
30
  assert attributes.get("url.full") == "https://api.openai.com/v1/"
33
31
  assert attributes.get("llm.api") == APIS["CHAT_COMPLETION"]["ENDPOINT"]
34
32
  assert attributes.get("llm.model") == "gpt-4-0613"
@@ -78,10 +76,8 @@ def test_chat_completion_streaming(exporter, openai_client):
78
76
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
79
77
  assert attributes.get("langtrace.service.name") == "OpenAI"
80
78
  assert attributes.get("langtrace.service.type") == "llm"
81
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
82
- "openai"
83
- )
84
- assert attributes.get("langtrace.version") == "1.0.0"
79
+ assert attributes.get("langtrace.service.version") == v("openai")
80
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
85
81
  assert attributes.get("url.full") == "https://api.openai.com/v1/"
86
82
  assert attributes.get("llm.api") == APIS["CHAT_COMPLETION"]["ENDPOINT"]
87
83
  assert attributes.get("llm.model") == "gpt-4-0613"
@@ -135,10 +131,8 @@ async def test_async_chat_completion_streaming(exporter, async_openai_client):
135
131
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
136
132
  assert attributes.get("langtrace.service.name") == "OpenAI"
137
133
  assert attributes.get("langtrace.service.type") == "llm"
138
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
139
- "openai"
140
- )
141
- assert attributes.get("langtrace.version") == "1.0.0"
134
+ assert attributes.get("langtrace.service.version") == v("openai")
135
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
142
136
  assert attributes.get("url.full") == "https://api.openai.com/v1/"
143
137
  assert attributes.get("llm.api") == APIS["CHAT_COMPLETION"]["ENDPOINT"]
144
138
  assert attributes.get("llm.model") == "gpt-4-0613"
@@ -1,7 +1,7 @@
1
1
  import pytest
2
2
  import json
3
- import importlib
4
3
  from langtrace_python_sdk.constants.instrumentation.openai import APIS
4
+ from importlib_metadata import version as v
5
5
 
6
6
 
7
7
  @pytest.mark.vcr()
@@ -23,10 +23,8 @@ def test_image_generation(openai_client, exporter):
23
23
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
24
24
  assert attributes.get("langtrace.service.name") == "OpenAI"
25
25
  assert attributes.get("langtrace.service.type") == "llm"
26
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
27
- "openai"
28
- )
29
- assert attributes.get("langtrace.version") == "1.0.0"
26
+ assert attributes.get("langtrace.service.version") == v("openai")
27
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
30
28
  assert attributes.get("url.full") == "https://api.openai.com/v1/"
31
29
  assert attributes.get("llm.api") == APIS["IMAGES_GENERATION"]["ENDPOINT"]
32
30
  assert attributes.get("llm.model") == llm_model_value
@@ -66,10 +64,8 @@ async def test_async_image_generation(async_openai_client, exporter):
66
64
  assert attributes.get("langtrace.sdk.name") == "langtrace-python-sdk"
67
65
  assert attributes.get("langtrace.service.name") == "OpenAI"
68
66
  assert attributes.get("langtrace.service.type") == "llm"
69
- assert attributes.get("langtrace.service.version") == importlib.metadata.version(
70
- "openai"
71
- )
72
- assert attributes.get("langtrace.version") == "1.0.0"
67
+ assert attributes.get("langtrace.service.version") == v("openai")
68
+ assert attributes.get("langtrace.version") == v("langtrace-python-sdk")
73
69
  assert attributes.get("url.full") == "https://api.openai.com/v1/"
74
70
  assert attributes.get("llm.api") == APIS["IMAGES_GENERATION"]["ENDPOINT"]
75
71
  assert attributes.get("llm.model") == llm_model_value