langtrace-python-sdk 3.8.18__tar.gz → 3.8.21__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 (327) hide show
  1. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/PKG-INFO +3 -2
  2. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/pyproject.toml +5 -1
  3. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/aws_bedrock.py +4 -0
  4. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/aws_bedrock/patch.py +75 -18
  5. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +1 -1
  6. langtrace_python_sdk-3.8.21/src/langtrace_python_sdk/version.py +1 -0
  7. langtrace_python_sdk-3.8.21/src/tests/aws_bedrock/cassettes/test_chat_completion.yaml +45 -0
  8. langtrace_python_sdk-3.8.21/src/tests/aws_bedrock/cassettes/test_generate_embedding.yaml +41 -0
  9. langtrace_python_sdk-3.8.21/src/tests/aws_bedrock/conftest.py +48 -0
  10. langtrace_python_sdk-3.8.21/src/tests/aws_bedrock/test_invoke_model.py +135 -0
  11. langtrace_python_sdk-3.8.21/src/tests/aws_bedrock/test_model_id_parsing.py +34 -0
  12. langtrace_python_sdk-3.8.18/src/langtrace_python_sdk/version.py +0 -1
  13. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/.gitignore +0 -0
  14. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/LICENSE +0 -0
  15. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/README.md +0 -0
  16. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/__init__.py +0 -0
  17. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/__init__.py +0 -0
  18. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/anthropic_example/__init__.py +0 -0
  19. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/anthropic_example/completion.py +0 -0
  20. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/autogen_example/__init__.py +0 -0
  21. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/autogen_example/main.py +0 -0
  22. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/awsbedrock_examples/__init__.py +0 -0
  23. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/awsbedrock_examples/converse.py +0 -0
  24. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/azureopenai_example/__init__.py +0 -0
  25. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/azureopenai_example/completion.py +0 -0
  26. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cerebras_example/__init__.py +0 -0
  27. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cerebras_example/main.py +0 -0
  28. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/chroma_example/__init__.py +0 -0
  29. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/chroma_example/basic.py +0 -0
  30. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cleanlab_example/simple.py +0 -0
  31. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/__init__.py +0 -0
  32. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/chat.py +0 -0
  33. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/chat_stream.py +0 -0
  34. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/chat_streamv2.py +0 -0
  35. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/chatv2.py +0 -0
  36. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/embed.py +0 -0
  37. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/rerank.py +0 -0
  38. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/rerankv2.py +0 -0
  39. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/cohere_example/tools.py +0 -0
  40. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/__init__.py +0 -0
  41. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/basic.py +0 -0
  42. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/__init__.py +0 -0
  43. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/agents.py +0 -0
  44. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/main.py +0 -0
  45. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/tasks.py +0 -0
  46. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/tools/__init__.py +0 -0
  47. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/instagram_post/tools/browser_tools.py +0 -0
  48. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/simple_agent/__init__.py +0 -0
  49. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/simple_agent/agents.py +0 -0
  50. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/simple_agent/main.py +0 -0
  51. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/simple_agent/tasks.py +0 -0
  52. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/__init__.py +0 -0
  53. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/agents.py +0 -0
  54. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/main.py +0 -0
  55. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/tasks.py +0 -0
  56. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/tools/calculator.py +0 -0
  57. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/crewai_example/trip_planner/tools/search_tools.py +0 -0
  58. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/QA_basic.py +0 -0
  59. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/QA_basic_with_chain_of_thought.py +0 -0
  60. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/QA_basic_with_signature.py +0 -0
  61. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/QA_multi_step_with_chain_of_thought.py +0 -0
  62. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/math_problems_cot.py +0 -0
  63. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/math_problems_cot_parallel.py +0 -0
  64. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/optimizers/bootstrap_fewshot.py +0 -0
  65. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/program_of_thought_basic.py +0 -0
  66. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/quiz_gen.py +0 -0
  67. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/dspy_example/react.py +0 -0
  68. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/embedchain_example/simple.py +0 -0
  69. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/fastapi_example/__init__.py +0 -0
  70. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/fastapi_example/basic_route.py +0 -0
  71. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/gemini_example/__init__.py +0 -0
  72. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/gemini_example/function_tools.py +0 -0
  73. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/gemini_example/main.py +0 -0
  74. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/google_genai_example/__init__.py +0 -0
  75. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/google_genai_example/main.py +0 -0
  76. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/graphlit_example/__init__.py +0 -0
  77. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/graphlit_example/conversation.py +0 -0
  78. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/hiveagent_example/basic.py +0 -0
  79. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/inspect_ai_example/basic_eval.py +0 -0
  80. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/__init__.py +0 -0
  81. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/basic.py +0 -0
  82. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/groq_example.py +0 -0
  83. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/langchain_google_example.py +0 -0
  84. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/langgraph_example.py +0 -0
  85. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/langgraph_example_tools.py +0 -0
  86. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/sagemaker.py +0 -0
  87. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langchain_example/tool.py +0 -0
  88. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/langgraph_example/main.py +0 -0
  89. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/litellm_example/basic.py +0 -0
  90. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/litellm_example/config.yaml +0 -0
  91. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/litellm_example/proxy_basic.py +0 -0
  92. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/llamaindex_example/__init__.py +0 -0
  93. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/llamaindex_example/agent.py +0 -0
  94. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/llamaindex_example/basic.py +0 -0
  95. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/llamaindex_example/data/abramov.txt +0 -0
  96. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/milvus_example/main.py +0 -0
  97. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/mistral_example/__init__.py +0 -0
  98. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/mistral_example/complete.py +0 -0
  99. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/mistral_example/complete_async.py +0 -0
  100. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/mistral_example/embeddings.py +0 -0
  101. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/mongo_vector_search_example/main.py +0 -0
  102. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/neo4j_example/__init__.py +0 -0
  103. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/neo4j_example/basic.py +0 -0
  104. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/neo4j_graphrag_example/__init__.py +0 -0
  105. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/neo4j_graphrag_example/basic.py +0 -0
  106. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/neo4j_graphrag_example/data/abramov.pdf +0 -0
  107. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/ollama_example/__init__.py +0 -0
  108. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/ollama_example/basic.py +0 -0
  109. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/__init__.py +0 -0
  110. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/async_tool_calling_nonstreaming.py +0 -0
  111. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/async_tool_calling_streaming.py +0 -0
  112. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/chat_completion.py +0 -0
  113. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/chat_completion_tool_choice.py +0 -0
  114. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/embeddings_create.py +0 -0
  115. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/function_calling.py +0 -0
  116. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/images_edit.py +0 -0
  117. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/images_generate.py +0 -0
  118. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/resources/lounge_flamingo.png +0 -0
  119. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/resources/mask.png +0 -0
  120. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/send_user_feedback.py +0 -0
  121. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/tool_calling.py +0 -0
  122. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/tool_calling_nonstreaming.py +0 -0
  123. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/openai_example/tool_calling_streaming.py +0 -0
  124. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/otlp_example/otlp_basic.py +0 -0
  125. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/otlp_example/otlp_with_langtrace.py +0 -0
  126. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/perplexity_example/basic.py +0 -0
  127. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/phidata_example/__init__.py +0 -0
  128. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/phidata_example/agent.py +0 -0
  129. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/pinecone_example/__init__.py +0 -0
  130. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/pinecone_example/basic.py +0 -0
  131. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/qdrant_example/__init__.py +0 -0
  132. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/qdrant_example/basic.py +0 -0
  133. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/routellm_example/basic.py +0 -0
  134. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/vertexai_example/__init__.py +0 -0
  135. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/vertexai_example/main.py +0 -0
  136. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/weaviate_example/__init__.py +0 -0
  137. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/examples/weaviate_example/query_text.py +0 -0
  138. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/__init__.py +0 -0
  139. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/__init__.py +0 -0
  140. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -0
  141. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/__init__.py +0 -0
  142. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
  143. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
  144. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/cohere.py +0 -0
  145. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
  146. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/embedchain.py +0 -0
  147. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/gemini.py +0 -0
  148. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/groq.py +0 -0
  149. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/litellm.py +0 -0
  150. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/milvus.py +0 -0
  151. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/mistral.py +0 -0
  152. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/neo4j.py +0 -0
  153. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/ollama.py +0 -0
  154. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
  155. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
  156. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/pymongo.py +0 -0
  157. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/qdrant.py +0 -0
  158. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/vertexai.py +0 -0
  159. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/constants/instrumentation/weaviate.py +0 -0
  160. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/extensions/__init__.py +0 -0
  161. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +0 -0
  162. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/extensions/langtrace_filesystem.py +0 -0
  163. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
  164. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/agno/__init__.py +0 -0
  165. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/agno/instrumentation.py +0 -0
  166. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/agno/patch.py +0 -0
  167. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
  168. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
  169. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +0 -0
  170. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/anthropic/types.py +0 -0
  171. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/autogen/__init__.py +0 -0
  172. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/autogen/instrumentation.py +0 -0
  173. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/autogen/patch.py +0 -0
  174. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/aws_bedrock/__init__.py +0 -0
  175. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/aws_bedrock/bedrock_streaming_wrapper.py +0 -0
  176. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/aws_bedrock/instrumentation.py +0 -0
  177. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/aws_bedrock/stream_body_wrapper.py +0 -0
  178. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cerebras/__init__.py +0 -0
  179. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cerebras/instrumentation.py +0 -0
  180. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cerebras/patch.py +0 -0
  181. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
  182. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
  183. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +0 -0
  184. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cleanlab/__init__.py +0 -0
  185. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cleanlab/instrumentation.py +0 -0
  186. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cleanlab/patch.py +0 -0
  187. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cohere/__init__.py +0 -0
  188. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cohere/instrumentation.py +0 -0
  189. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/cohere/patch.py +0 -0
  190. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai/__init__.py +0 -0
  191. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai/instrumentation.py +0 -0
  192. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai/patch.py +0 -0
  193. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai_tools/__init__.py +0 -0
  194. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai_tools/instrumentation.py +0 -0
  195. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/crewai_tools/patch.py +0 -0
  196. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/dspy/__init__.py +0 -0
  197. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/dspy/instrumentation.py +0 -0
  198. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/dspy/patch.py +0 -0
  199. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/embedchain/__init__.py +0 -0
  200. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/embedchain/instrumentation.py +0 -0
  201. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/embedchain/patch.py +0 -0
  202. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/gemini/__init__.py +0 -0
  203. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/gemini/instrumentation.py +0 -0
  204. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/gemini/patch.py +0 -0
  205. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/google_genai/__init__.py +0 -0
  206. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/google_genai/instrumentation.py +0 -0
  207. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/google_genai/patch.py +0 -0
  208. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/graphlit/__init__.py +0 -0
  209. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/graphlit/instrumentation.py +0 -0
  210. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/graphlit/patch.py +0 -0
  211. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/groq/__init__.py +0 -0
  212. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/groq/instrumentation.py +0 -0
  213. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/groq/patch.py +0 -0
  214. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
  215. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
  216. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +0 -0
  217. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
  218. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +0 -0
  219. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +0 -0
  220. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
  221. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +0 -0
  222. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +0 -0
  223. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langgraph/__init__.py +0 -0
  224. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langgraph/instrumentation.py +0 -0
  225. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/langgraph/patch.py +0 -0
  226. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/litellm/__init__.py +0 -0
  227. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/litellm/instrumentation.py +0 -0
  228. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/litellm/patch.py +0 -0
  229. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/litellm/types.py +0 -0
  230. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
  231. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
  232. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +0 -0
  233. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/milvus/__init__.py +0 -0
  234. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/milvus/instrumentation.py +0 -0
  235. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/milvus/patch.py +0 -0
  236. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/mistral/__init__.py +0 -0
  237. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/mistral/instrumentation.py +0 -0
  238. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/mistral/patch.py +0 -0
  239. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j/__init__.py +0 -0
  240. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j/instrumentation.py +0 -0
  241. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j/patch.py +0 -0
  242. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j_graphrag/__init__.py +0 -0
  243. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j_graphrag/instrumentation.py +0 -0
  244. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/neo4j_graphrag/patch.py +0 -0
  245. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/ollama/__init__.py +0 -0
  246. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/ollama/instrumentation.py +0 -0
  247. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/ollama/patch.py +0 -0
  248. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
  249. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
  250. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai/patch.py +0 -0
  251. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai/types.py +0 -0
  252. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai_agents/__init__.py +0 -0
  253. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai_agents/instrumentation.py +0 -0
  254. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/openai_agents/patch.py +0 -0
  255. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/phidata/__init__.py +0 -0
  256. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/phidata/instrumentation.py +0 -0
  257. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/phidata/patch.py +0 -0
  258. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
  259. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +0 -0
  260. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pymongo/__init__.py +0 -0
  261. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pymongo/instrumentation.py +0 -0
  262. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/pymongo/patch.py +0 -0
  263. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/qdrant/__init__.py +0 -0
  264. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/qdrant/instrumentation.py +0 -0
  265. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/qdrant/patch.py +0 -0
  266. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/vertexai/__init__.py +0 -0
  267. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/vertexai/instrumentation.py +0 -0
  268. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/vertexai/patch.py +0 -0
  269. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/weaviate/__init__.py +0 -0
  270. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/weaviate/instrumentation.py +0 -0
  271. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/instrumentation/weaviate/patch.py +0 -0
  272. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/langtrace.py +0 -0
  273. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/types/__init__.py +0 -0
  274. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/__init__.py +0 -0
  275. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/langtrace_sampler.py +0 -0
  276. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/llm.py +0 -0
  277. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/misc.py +0 -0
  278. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/prompt_registry.py +0 -0
  279. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/sdk_version_checker.py +0 -0
  280. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/silently_fail.py +0 -0
  281. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/types.py +0 -0
  282. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
  283. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/run_example.py +0 -0
  284. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/__init__.py +0 -0
  285. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/anthropic/cassettes/test_anthropic.yaml +0 -0
  286. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/anthropic/cassettes/test_anthropic_streaming.yaml +0 -0
  287. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/anthropic/cassettes/test_async_anthropic_streaming.yaml +0 -0
  288. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/anthropic/conftest.py +0 -0
  289. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/anthropic/test_anthropic.py +0 -0
  290. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/chroma/conftest.py +0 -0
  291. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/chroma/test_chroma.py +0 -0
  292. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/cassettes/test_cohere_chat.yaml +0 -0
  293. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/cassettes/test_cohere_chat_streaming.yaml +0 -0
  294. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/cassettes/test_cohere_embed.yaml +0 -0
  295. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/cassettes/test_cohere_rerank.yaml +0 -0
  296. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/conftest.py +0 -0
  297. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/test_cohere_chat.py +0 -0
  298. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/test_cohere_embed.py +0 -0
  299. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/cohere/test_cohere_rerank.py +0 -0
  300. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/conftest.py +0 -0
  301. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/cassettes/test_async_chat_completion.yaml +0 -0
  302. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/cassettes/test_async_chat_completion_streaming.yaml +0 -0
  303. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/cassettes/test_chat_completion.yaml +0 -0
  304. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/cassettes/test_chat_completion_streaming.yaml +0 -0
  305. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/conftest.py +0 -0
  306. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/groq/test_groq.py +0 -0
  307. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/langchain/cassettes/test_langchain.yaml +0 -0
  308. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/langchain/conftest.py +0 -0
  309. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/langchain/test_langchain.py +0 -0
  310. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_async_chat_completion_streaming.yaml +0 -0
  311. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_async_image_generation.yaml +0 -0
  312. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_chat_completion.yaml +0 -0
  313. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_chat_completion_streaming.yaml +0 -0
  314. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_embeddings_base_url.yaml +0 -0
  315. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/cassettes/test_image_generation.yaml +0 -0
  316. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/conftest.py +0 -0
  317. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/test_chat_completion.py +0 -0
  318. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/test_embeddings.py +0 -0
  319. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/openai/test_image_generation.py +0 -0
  320. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/pinecone/cassettes/test_query.yaml +0 -0
  321. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/pinecone/cassettes/test_upsert.yaml +0 -0
  322. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/pinecone/conftest.py +0 -0
  323. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/pinecone/test_pinecone.py +0 -0
  324. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/qdrant/conftest.py +0 -0
  325. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/qdrant/test_qdrant.py +0 -0
  326. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/test_session_id.py +0 -0
  327. {langtrace_python_sdk-3.8.18 → langtrace_python_sdk-3.8.21}/src/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langtrace-python-sdk
3
- Version: 3.8.18
3
+ Version: 3.8.21
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>
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: >=3.9
13
13
  Requires-Dist: boto3==1.38.0
14
14
  Requires-Dist: colorama>=0.4.6
15
+ Requires-Dist: deprecated==1.2.18
15
16
  Requires-Dist: fsspec>=2024.6.0
16
17
  Requires-Dist: opentelemetry-api>=1.25.0
17
18
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.25.0
@@ -44,7 +45,7 @@ Requires-Dist: ollama; extra == 'dev'
44
45
  Requires-Dist: openai-agents>=0.0.3; extra == 'dev'
45
46
  Requires-Dist: openai>=1.60.0; extra == 'dev'
46
47
  Requires-Dist: phidata; extra == 'dev'
47
- Requires-Dist: pinecone; extra == 'dev'
48
+ Requires-Dist: pinecone<=6.0.2,>=3.1.0; extra == 'dev'
48
49
  Requires-Dist: python-dotenv; extra == 'dev'
49
50
  Requires-Dist: qdrant-client; extra == 'dev'
50
51
  Requires-Dist: weaviate-client; extra == 'dev'
@@ -34,6 +34,7 @@ dependencies = [
34
34
  "ujson>=5.10.0",
35
35
  "boto3==1.38.0",
36
36
  "setuptools",
37
+ "Deprecated==1.2.18",
37
38
  ]
38
39
 
39
40
  requires-python = ">=3.9"
@@ -47,7 +48,7 @@ dev = [
47
48
  "qdrant-client",
48
49
  "graphlit-client",
49
50
  "python-dotenv",
50
- "pinecone",
51
+ "pinecone>=3.1.0,<=6.0.2",
51
52
  "langchain",
52
53
  "langchain-community",
53
54
  "langchain-openai",
@@ -84,6 +85,9 @@ packages = ["src/langtrace_python_sdk", "src/examples", "src/tests"]
84
85
  [tool.hatch.source]
85
86
  url = "https://langtrace.gateway.scarf.sh/simple/"
86
87
 
88
+ [global]
89
+ extra-index-url = "https://langtrace.gateway.scarf.sh/simple/"
90
+
87
91
  [project.entry-points."fsspec.specs"]
88
92
  langtracefs = "langtrace_python_sdk:LangTraceFileSystem"
89
93
 
@@ -5,6 +5,10 @@ APIS = {
5
5
  "METHOD": "aws_bedrock.invoke_model",
6
6
  "ENDPOINT": "/invoke-model",
7
7
  },
8
+ "INVOKE_MODEL_WITH_RESPONSE_STREAM": {
9
+ "METHOD": "aws_bedrock.invoke_model_with_response_stream",
10
+ "ENDPOINT": "/invoke-model-with-response-stream",
11
+ },
8
12
  "CONVERSE": {
9
13
  "METHOD": AWSBedrockMethods.CONVERSE.value,
10
14
  "ENDPOINT": "/converse",
@@ -15,8 +15,10 @@ limitations under the License.
15
15
  """
16
16
 
17
17
  import json
18
+ import io
18
19
 
19
20
  from wrapt import ObjectProxy
21
+ from itertools import tee
20
22
  from .stream_body_wrapper import BufferedStreamBody
21
23
  from functools import wraps
22
24
  from langtrace.trace_attributes import (
@@ -43,6 +45,7 @@ from langtrace_python_sdk.utils.llm import (
43
45
  set_span_attributes,
44
46
  set_usage_attributes,
45
47
  )
48
+ from langtrace_python_sdk.utils import set_event_prompt
46
49
 
47
50
 
48
51
  def converse_stream(original_method, version, tracer):
@@ -104,7 +107,7 @@ def patch_aws_bedrock(tracer, version):
104
107
  def patch_converse_stream(original_method, tracer, version):
105
108
  def traced_method(*args, **kwargs):
106
109
  modelId = kwargs.get("modelId")
107
- (vendor, _) = modelId.split(".")
110
+ vendor, _ = parse_vendor_and_model_name_from_model_id(modelId)
108
111
  input_content = [
109
112
  {
110
113
  "role": message.get("role", "user"),
@@ -128,7 +131,9 @@ def patch_converse_stream(original_method, tracer, version):
128
131
  response = original_method(*args, **kwargs)
129
132
 
130
133
  if span.is_recording():
131
- set_span_streaming_response(span, response)
134
+ stream1, stream2 = tee(response["stream"])
135
+ set_span_streaming_response(span, stream1)
136
+ response["stream"] = stream2
132
137
  return response
133
138
 
134
139
  return traced_method
@@ -137,7 +142,7 @@ def patch_converse_stream(original_method, tracer, version):
137
142
  def patch_converse(original_method, tracer, version):
138
143
  def traced_method(*args, **kwargs):
139
144
  modelId = kwargs.get("modelId")
140
- (vendor, _) = modelId.split(".")
145
+ vendor, _ = parse_vendor_and_model_name_from_model_id(modelId)
141
146
  input_content = [
142
147
  {
143
148
  "role": message.get("role", "user"),
@@ -167,12 +172,29 @@ def patch_converse(original_method, tracer, version):
167
172
  return traced_method
168
173
 
169
174
 
175
+ def parse_vendor_and_model_name_from_model_id(model_id):
176
+ if model_id.startswith("arn:aws:bedrock:"):
177
+ # This needs to be in one of the following forms:
178
+ # arn:aws:bedrock:region:account-id:foundation-model/vendor.model-name
179
+ # arn:aws:bedrock:region:account-id:custom-model/vendor.model-name/model-id
180
+ parts = model_id.split("/")
181
+ identifiers = parts[1].split(".")
182
+ return identifiers[0], identifiers[1]
183
+ parts = model_id.split(".")
184
+ if len(parts) == 1:
185
+ return parts[0], parts[0]
186
+ else:
187
+ return parts[-2], parts[-1]
188
+
189
+
170
190
  def patch_invoke_model(original_method, tracer, version):
171
191
  def traced_method(*args, **kwargs):
172
192
  modelId = kwargs.get("modelId")
173
- (vendor, _) = modelId.split(".")
193
+ vendor, _ = parse_vendor_and_model_name_from_model_id(modelId)
174
194
  span_attributes = {
175
195
  **get_langtrace_attributes(version, vendor, vendor_type="framework"),
196
+ SpanAttributes.LLM_PATH: APIS["INVOKE_MODEL"]["ENDPOINT"],
197
+ SpanAttributes.LLM_IS_STREAMING: False,
176
198
  **get_extra_attributes(),
177
199
  }
178
200
  with tracer.start_as_current_span(
@@ -193,9 +215,11 @@ def patch_invoke_model_with_response_stream(original_method, tracer, version):
193
215
  @wraps(original_method)
194
216
  def traced_method(*args, **kwargs):
195
217
  modelId = kwargs.get("modelId")
196
- (vendor, _) = modelId.split(".")
218
+ vendor, _ = parse_vendor_and_model_name_from_model_id(modelId)
197
219
  span_attributes = {
198
220
  **get_langtrace_attributes(version, vendor, vendor_type="framework"),
221
+ SpanAttributes.LLM_PATH: APIS["INVOKE_MODEL_WITH_RESPONSE_STREAM"]["ENDPOINT"],
222
+ SpanAttributes.LLM_IS_STREAMING: True,
199
223
  **get_extra_attributes(),
200
224
  }
201
225
  span = tracer.start_span(
@@ -217,7 +241,7 @@ def handle_streaming_call(span, kwargs, response):
217
241
  def stream_finished(response_body):
218
242
  request_body = json.loads(kwargs.get("body"))
219
243
 
220
- (vendor, model) = kwargs.get("modelId").split(".")
244
+ vendor, model = parse_vendor_and_model_name_from_model_id(kwargs.get("modelId"))
221
245
 
222
246
  set_span_attribute(span, SpanAttributes.LLM_REQUEST_MODEL, model)
223
247
  set_span_attribute(span, SpanAttributes.LLM_RESPONSE_MODEL, model)
@@ -241,18 +265,22 @@ def handle_streaming_call(span, kwargs, response):
241
265
 
242
266
  def handle_call(span, kwargs, response):
243
267
  modelId = kwargs.get("modelId")
244
- (vendor, model_name) = modelId.split(".")
268
+ vendor, model_name = parse_vendor_and_model_name_from_model_id(modelId)
269
+ read_response_body = response.get("body").read()
270
+ request_body = json.loads(kwargs.get("body"))
271
+ response_body = json.loads(read_response_body)
245
272
  response["body"] = BufferedStreamBody(
246
- response["body"]._raw_stream, response["body"]._content_length
273
+ io.BytesIO(read_response_body), len(read_response_body)
247
274
  )
248
- request_body = json.loads(kwargs.get("body"))
249
- response_body = json.loads(response.get("body").read())
250
275
 
251
276
  set_span_attribute(span, SpanAttributes.LLM_RESPONSE_MODEL, modelId)
252
277
  set_span_attribute(span, SpanAttributes.LLM_REQUEST_MODEL, modelId)
253
278
 
254
279
  if vendor == "amazon":
255
- set_amazon_attributes(span, request_body, response_body)
280
+ if model_name.startswith("titan-embed-text"):
281
+ set_amazon_embedding_attributes(span, request_body, response_body)
282
+ else:
283
+ set_amazon_attributes(span, request_body, response_body)
256
284
 
257
285
  if vendor == "anthropic":
258
286
  if "prompt" in request_body:
@@ -356,6 +384,27 @@ def set_amazon_attributes(span, request_body, response_body):
356
384
  set_event_completion(span, completions)
357
385
 
358
386
 
387
+ def set_amazon_embedding_attributes(span, request_body, response_body):
388
+ input_text = request_body.get("inputText")
389
+ set_event_prompt(span, input_text)
390
+
391
+ embeddings = response_body.get("embedding", [])
392
+ input_tokens = response_body.get("inputTextTokenCount")
393
+ set_usage_attributes(
394
+ span,
395
+ {
396
+ "input_tokens": input_tokens,
397
+ "output": len(embeddings),
398
+ },
399
+ )
400
+ set_span_attribute(
401
+ span, SpanAttributes.LLM_REQUEST_MODEL, request_body.get("modelId")
402
+ )
403
+ set_span_attribute(
404
+ span, SpanAttributes.LLM_RESPONSE_MODEL, request_body.get("modelId")
405
+ )
406
+
407
+
359
408
  def set_anthropic_completions_attributes(span, request_body, response_body):
360
409
  set_span_attribute(
361
410
  span,
@@ -442,10 +491,10 @@ def _set_response_attributes(span, kwargs, result):
442
491
  )
443
492
 
444
493
 
445
- def set_span_streaming_response(span, response):
494
+ def set_span_streaming_response(span, response_stream):
446
495
  streaming_response = ""
447
496
  role = None
448
- for event in response["stream"]:
497
+ for event in response_stream:
449
498
  if "messageStart" in event:
450
499
  role = event["messageStart"]["role"]
451
500
  elif "contentBlockDelta" in event:
@@ -475,13 +524,15 @@ class StreamingBedrockWrapper(ObjectProxy):
475
524
  stream_done_callback=None,
476
525
  ):
477
526
  super().__init__(response)
478
-
479
527
  self._stream_done_callback = stream_done_callback
480
528
  self._accumulating_body = {"generation": ""}
529
+ self.last_chunk = None
481
530
 
482
531
  def __iter__(self):
483
532
  for event in self.__wrapped__:
533
+ # Process the event
484
534
  self._process_event(event)
535
+ # Yield the original event immediately
485
536
  yield event
486
537
 
487
538
  def _process_event(self, event):
@@ -496,7 +547,11 @@ class StreamingBedrockWrapper(ObjectProxy):
496
547
  self._stream_done_callback(decoded_chunk)
497
548
  return
498
549
  if "generation" in decoded_chunk:
499
- self._accumulating_body["generation"] += decoded_chunk.get("generation")
550
+ generation = decoded_chunk.get("generation")
551
+ if self.last_chunk == generation:
552
+ return
553
+ self.last_chunk = generation
554
+ self._accumulating_body["generation"] += generation
500
555
 
501
556
  if type == "message_start":
502
557
  self._accumulating_body = decoded_chunk.get("message")
@@ -505,9 +560,11 @@ class StreamingBedrockWrapper(ObjectProxy):
505
560
  decoded_chunk.get("content_block")
506
561
  )
507
562
  elif type == "content_block_delta":
508
- self._accumulating_body["content"][-1]["text"] += decoded_chunk.get(
509
- "delta"
510
- ).get("text")
563
+ text = decoded_chunk.get("delta").get("text")
564
+ if self.last_chunk == text:
565
+ return
566
+ self.last_chunk = text
567
+ self._accumulating_body["content"][-1]["text"] += text
511
568
 
512
569
  elif self.has_finished(type, decoded_chunk):
513
570
  self._accumulating_body["invocation_metrics"] = decoded_chunk.get(
@@ -33,7 +33,7 @@ class PineconeInstrumentation(BaseInstrumentor):
33
33
  The PineconeInstrumentation class represents the Pinecone instrumentation"""
34
34
 
35
35
  def instrumentation_dependencies(self) -> Collection[str]:
36
- return ["pinecone >= 3.1.0"]
36
+ return ["pinecone >= 3.1.0", "pinecone <= 6.0.2"]
37
37
 
38
38
  def _instrument(self, **kwargs):
39
39
  tracer_provider = kwargs.get("tracer_provider")
@@ -0,0 +1 @@
1
+ __version__ = "3.8.21"
@@ -0,0 +1,45 @@
1
+ interactions:
2
+ - request:
3
+ body: '{"messages": [{"role": "user", "content": "Say this is a test three times"}],
4
+ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 100}'
5
+ headers:
6
+ Accept:
7
+ - !!binary |
8
+ YXBwbGljYXRpb24vanNvbg==
9
+ Content-Length:
10
+ - '139'
11
+ Content-Type:
12
+ - !!binary |
13
+ YXBwbGljYXRpb24vanNvbg==
14
+ User-Agent:
15
+ - !!binary |
16
+ Qm90bzMvMS4zOC4xOCBtZC9Cb3RvY29yZSMxLjM4LjE4IHVhLzIuMSBvcy9tYWNvcyMyNC40LjAg
17
+ bWQvYXJjaCNhcm02NCBsYW5nL3B5dGhvbiMzLjEzLjEgbWQvcHlpbXBsI0NQeXRob24gbS9aLGIg
18
+ Y2ZnL3JldHJ5LW1vZGUjc3RhbmRhcmQgQm90b2NvcmUvMS4zOC4xOA==
19
+ method: POST
20
+ uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-7-sonnet-20250219-v1%3A0/invoke
21
+ response:
22
+ body:
23
+ string: '{"id":"msg_bdrk_01NJB1bDTLkFh6pgfoAD5hkb","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"This
24
+ is a test.\nThis is a test.\nThis is a test."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":14,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":20}}'
25
+ headers:
26
+ Connection:
27
+ - keep-alive
28
+ Content-Length:
29
+ - '355'
30
+ Content-Type:
31
+ - application/json
32
+ Date:
33
+ - Mon, 19 May 2025 16:42:05 GMT
34
+ X-Amzn-Bedrock-Input-Token-Count:
35
+ - '14'
36
+ X-Amzn-Bedrock-Invocation-Latency:
37
+ - '926'
38
+ X-Amzn-Bedrock-Output-Token-Count:
39
+ - '20'
40
+ x-amzn-RequestId:
41
+ - c0a92363-ec28-4a8b-9c09-571131d946b0
42
+ status:
43
+ code: 200
44
+ message: OK
45
+ version: 1
@@ -0,0 +1,41 @@
1
+ interactions:
2
+ - request:
3
+ body: '{"inputText": "Say this is a test three times"}'
4
+ headers:
5
+ Accept:
6
+ - !!binary |
7
+ YXBwbGljYXRpb24vanNvbg==
8
+ Content-Length:
9
+ - '47'
10
+ Content-Type:
11
+ - !!binary |
12
+ YXBwbGljYXRpb24vanNvbg==
13
+ User-Agent:
14
+ - !!binary |
15
+ Qm90bzMvMS4zOC4xOCBtZC9Cb3RvY29yZSMxLjM4LjE4IHVhLzIuMSBvcy9tYWNvcyMyNC40LjAg
16
+ bWQvYXJjaCNhcm02NCBsYW5nL3B5dGhvbiMzLjEzLjEgbWQvcHlpbXBsI0NQeXRob24gbS9aLGIg
17
+ Y2ZnL3JldHJ5LW1vZGUjc3RhbmRhcmQgQm90b2NvcmUvMS4zOC4xOA==
18
+ method: POST
19
+ uri: https://bedrock-runtime.us-east-1.amazonaws.com/model/amazon.titan-embed-text-v1/invoke
20
+ response:
21
+ body:
22
+ string: '{"embedding":[0.53515625,-0.64453125,-0.51953125,-0.1787109375,0.5234375,0.498046875,0.019287109375,-2.2172927856445312E-5,-0.1796875,1.220703125E-4,-0.54296875,-0.078125,0.07177734375,0.0966796875,-0.380859375,-0.0030517578125,-0.197265625,-0.283203125,-0.107421875,-0.03759765625,-0.765625,-0.0947265625,0.06298828125,0.73828125,0.263671875,0.00750732421875,0.234375,-0.423828125,0.023681640625,-0.076171875,-0.3984375,0.486328125,0.396484375,-1.140625,0.451171875,-0.1669921875,-0.0888671875,0.1474609375,0.5859375,-0.10888671875,0.076171875,0.3359375,0.34375,0.52734375,-0.1416015625,0.26171875,0.099609375,-0.375,-0.2373046875,0.490234375,-0.19140625,0.318359375,0.1396484375,-0.35546875,0.3671875,0.2578125,0.443359375,0.361328125,0.48046875,-0.361328125,0.0169677734375,-0.11767578125,-0.294921875,-0.72265625,-0.0771484375,0.1640625,-0.08154296875,-0.333984375,-0.61328125,0.00750732421875,-0.1220703125,-0.546875,-0.291015625,0.138671875,-0.01806640625,0.37109375,-0.00848388671875,0.08935546875,-0.06005859375,0.54296875,-0.216796875,-0.42578125,-0.0299072265625,0.412109375,-0.5390625,0.09765625,-0.55859375,0.5703125,1.354217529296875E-4,-0.50390625,-0.2021484375,0.88671875,0.2099609375,-0.044677734375,0.1669921875,0.43359375,-0.3984375,0.875,0.6015625,-0.15625,-0.228515625,0.1591796875,0.134765625,0.7734375,-0.138671875,0.29296875,-0.232421875,0.365234375,0.11572265625,0.50390625,-0.004486083984375,-0.279296875,0.6171875,-1.03125,-0.169921875,-0.4609375,0.08984375,-0.01336669921875,-0.1962890625,-0.3828125,0.53125,0.0830078125,0.353515625,-0.1650390625,-0.00799560546875,-0.6015625,0.142578125,0.2158203125,-0.046875,0.423828125,0.2451171875,0.33203125,-0.494140625,-0.4140625,0.1650390625,0.1533203125,-0.53515625,0.023193359375,0.275390625,0.09716796875,-0.18359375,-0.083984375,0.71875,0.2138671875,0.21875,0.026611328125,-0.1318359375,0.2109375,-0.93359375,-0.005706787109375,0.263671875,-0.419921875,-0.34375,-0.7578125,0.1396484375,-0.40234375,0.103515625,0.435546875,-0.625,0.150390625,0.3203125,0.6328125,-0.82421875,-0.59375,0.1591796875,-0.46875,0.08349609375,0.146484375,-0.1845703125,0.171875,0.421875,-0.34765625,0.37109375,0.140625,-0.04638671875,-0.03466796875,0.490234375,0.061767578125,-0.2255859375,-0.236328125,-0.234375,0.220703125,-0.016845703125,0.002716064453125,1.2578125,0.16015625,0.12109375,0.46484375,-0.19921875,-0.00909423828125,0.287109375,0.578125,-0.47265625,-0.353515625,-0.365234375,0.41796875,-0.248046875,-0.357421875,-0.56640625,-0.294921875,-0.353515625,0.1982421875,0.45703125,-0.06689453125,0.162109375,0.388671875,0.29296875,-0.051025390625,0.0732421875,0.30078125,0.11181640625,0.6484375,-0.349609375,1.0703125,0.5625,0.408203125,0.359375,0.220703125,-0.06982421875,-0.78125,-0.1962890625,-0.369140625,-0.016357421875,-0.287109375,-0.25390625,0.3671875,-0.004791259765625,-0.2275390625,0.40625,0.734375,-0.392578125,0.06298828125,-0.75390625,0.49609375,-0.01422119140625,-0.4296875,-0.609375,0.31640625,0.41015625,0.275390625,0.146484375,-0.39453125,-0.515625,-0.6953125,-0.267578125,-0.5703125,0.76171875,-0.271484375,0.28125,-0.140625,0.0810546875,0.71484375,-0.34375,-0.2001953125,-0.365234375,-0.0361328125,-0.62890625,0.39453125,0.60546875,-0.201171875,0.2216796875,-0.416015625,0.1865234375,0.330078125,0.8671875,-0.337890625,0.421875,-0.30859375,-0.030029296875,-0.28125,1.354217529296875E-4,-0.11669921875,0.3671875,0.16015625,-0.1728515625,-0.06298828125,-0.251953125,0.0322265625,0.66015625,-0.53125,0.205078125,0.375,0.54296875,0.3203125,-0.212890625,-0.478515625,-0.263671875,0.20703125,0.201171875,-0.1357421875,-0.59375,-0.1787109375,0.54296875,0.20703125,0.07275390625,0.203125,-0.1943359375,0.443359375,0.318359375,0.609375,-0.181640625,-0.1728515625,0.375,-1.2421875,0.1953125,-0.244140625,0.103515625,-0.1591796875,0.1455078125,-0.03466796875,-0.154296875,0.20703125,-0.341796875,0.283203125,-0.1611328125,0.328125,-0.2255859375,0.486328125,-0.83203125,-0.185546875,0.203125,-0.357421875,-0.357421875,-0.4453125,0.271484375,-0.00823974609375,0.298828125,-0.1826171875,0.2578125,-0.515625,-0.71875,-1.03125,-0.068359375,0.1875,1.0390625,0.07373046875,0.1572265625,0.45703125,-0.337890625,-0.296875,-0.0078125,-0.19921875,-0.0634765625,-0.58984375,-0.4453125,-0.08935546875,0.002227783203125,0.1416015625,-0.27734375,0.1396484375,0.10498046875,-0.185546875,0.2890625,-0.66015625,0.400390625,-0.0908203125,0.703125,0.193359375,-0.376953125,-0.06591796875,-0.09912109375,-0.0888671875,-0.0038909912109375,0.1103515625,-0.51953125,-0.279296875,-0.53125,-0.361328125,0.0294189453125,0.7265625,-0.09521484375,0.62890625,-0.224609375,-0.140625,0.1259765625,0.322265625,0.6015625,-0.396484375,-0.451171875,-0.384765625,-0.134765625,-0.54296875,-0.11865234375,0.275390625,-0.26171875,0.796875,-0.302734375,-0.8828125,0.78515625,-0.333984375,0.1611328125,0.37109375,0.234375,0.042724609375,0.53515625,0.2333984375,-0.061279296875,-0.10107421875,0.16796875,0.18359375,-0.005950927734375,0.435546875,-0.0927734375,-0.275390625,0.05029296875,1.2421875,-0.169921875,-0.05322265625,-0.3125,-0.2216796875,-0.21484375,-0.1806640625,-0.58984375,0.55859375,-0.390625,0.140625,0.32421875,-0.1484375,0.06884765625,-0.2138671875,0.2578125,0.255859375,0.26953125,0.107421875,0.1474609375,0.578125,-0.10791015625,0.294921875,-0.1962890625,0.404296875,0.10693359375,1.1484375,-0.65234375,0.365234375,0.39453125,0.5625,0.169921875,0.1875,0.58203125,-0.103515625,-0.72265625,-0.71484375,0.310546875,0.1572265625,-0.11083984375,-0.55078125,-0.1044921875,-0.28125,-1.0546875,-0.357421875,0.1728515625,0.40234375,0.150390625,-0.376953125,-0.33203125,0.67578125,-0.267578125,0.020751953125,0.38671875,0.2353515625,0.67578125,0.302734375,-0.185546875,0.265625,0.076171875,0.2314453125,1.4765625,-0.287109375,0.1015625,-0.42578125,-0.1728515625,-0.007049560546875,-0.08935546875,0.65234375,-0.26171875,0.197265625,-0.427734375,-0.95703125,-0.34765625,-0.5703125,0.1259765625,-0.11279296875,-0.453125,0.30859375,-0.10009765625,0.1337890625,0.07666015625,-0.19921875,0.07421875,0.56640625,0.71484375,0.640625,-0.482421875,-0.06640625,-0.2353515625,0.224609375,-4.00543212890625E-4,-1.0625,0.470703125,0.26953125,0.2353515625,0.2021484375,-0.470703125,0.35546875,0.01611328125,0.462890625,-0.265625,0.03857421875,-0.6796875,-0.11962890625,0.0272216796875,-0.30859375,0.1279296875,-0.2421875,0.330078125,0.5546875,-0.023193359375,-0.80859375,-0.2490234375,0.267578125,0.2216796875,0.2138671875,0.125,0.69921875,-0.10986328125,0.91015625,-0.28125,-0.005859375,-0.3828125,0.1923828125,-0.251953125,-0.625,-0.298828125,-0.224609375,-0.333984375,0.62890625,-0.109375,0.2490234375,0.11865234375,-0.022216796875,0.8203125,-0.291015625,0.0015869140625,0.5390625,-0.2353515625,0.310546875,0.07275390625,0.109375,0.04248046875,1.1328125,1.3203125,0.0498046875,-0.1826171875,0.306640625,0.2001953125,0.48046875,0.1943359375,-0.039306640625,0.26171875,-0.455078125,-0.0693359375,-0.2314453125,0.00958251953125,-0.283203125,0.0380859375,0.232421875,-0.06640625,-0.34375,-0.328125,0.09375,0.70703125,-0.1376953125,0.1416015625,-0.35546875,-0.00421142578125,1.328125,-0.33203125,-0.703125,-0.34765625,-0.59765625,-0.373046875,0.00714111328125,0.80078125,-0.06298828125,0.0361328125,-0.032958984375,-0.0771484375,-0.640625,0.1689453125,-0.37109375,-0.68359375,-0.1337890625,-0.255859375,0.439453125,-0.8984375,-0.11328125,0.31640625,-0.466796875,-0.345703125,-0.349609375,0.828125,-0.40234375,0.8359375,-0.00433349609375,-0.35546875,0.5546875,-0.54296875,0.61328125,-0.14453125,0.033935546875,0.53515625,0.205078125,-0.00799560546875,-0.26953125,-0.49609375,-0.2060546875,0.6015625,-0.01397705078125,-0.57421875,-0.26171875,0.06298828125,0.609375,-0.9375,-0.171875,-0.0859375,0.0419921875,0.6328125,-0.6796875,0.10791015625,0.609375,-0.2255859375,0.7265625,-0.193359375,-0.01708984375,-0.353515625,-1.392364501953125E-4,0.578125,-1.046875,-0.028564453125,-0.1650390625,0.419921875,0.01153564453125,0.047607421875,-1.1328125,0.46875,0.201171875,0.044677734375,-0.06640625,-0.0654296875,-0.142578125,-0.67578125,0.11376953125,-0.00360107421875,0.052490234375,-0.038330078125,-0.22265625,0.35546875,0.07080078125,-0.24609375,-0.1787109375,-0.1630859375,-0.70703125,-0.2021484375,0.36328125,-0.1630859375,0.099609375,-0.453125,0.0966796875,-0.7421875,0.435546875,0.4609375,-0.265625,0.298828125,0.05859375,-0.4765625,-0.85546875,-0.0703125,0.703125,0.010986328125,-0.294921875,0.34375,-0.091796875,-0.5,-0.8671875,-0.296875,-0.5859375,0.1328125,0.0947265625,0.13671875,0.07666015625,-0.48046875,0.271484375,0.314453125,0.478515625,0.13671875,0.328125,0.21875,0.1123046875,0.2490234375,-0.369140625,-0.050537109375,-0.126953125,-0.353515625,0.1669921875,-0.345703125,0.30859375,0.5546875,0.244140625,-0.0966796875,0.349609375,0.3828125,0.1796875,0.37109375,0.15625,-0.287109375,0.0908203125,-0.361328125,0.0908203125,-0.11181640625,-0.1552734375,0.08056640625,0.04052734375,0.59375,-0.08837890625,-0.1435546875,-0.4453125,0.77734375,0.515625,0.546875,-0.40625,-0.021728515625,-0.5078125,1.0234375,-0.072265625,-0.216796875,0.11767578125,-0.2890625,-0.390625,-0.019775390625,0.70703125,0.3515625,-0.484375,0.54296875,0.01446533203125,-0.11669921875,-0.279296875,-0.25390625,-0.6796875,0.80859375,-0.16015625,-0.1884765625,0.431640625,-0.09912109375,-0.1943359375,-0.0849609375,-0.0703125,0.345703125,0.349609375,-0.08349609375,-0.3515625,0.1650390625,0.5546875,-0.498046875,0.302734375,-0.140625,-0.12060546875,0.5390625,0.3046875,-0.02734375,0.08837890625,0.25,-0.12353515625,0.375,0.11474609375,0.228515625,-0.003631591796875,1.28125,0.66796875,-0.466796875,0.453125,0.71484375,0.205078125,0.01318359375,0.462890625,-0.99609375,-0.2353515625,0.76171875,-0.1533203125,0.2578125,0.55859375,-1.0078125,-0.041015625,0.16015625,0.1279296875,0.2265625,0.49609375,-0.07080078125,-0.498046875,0.337890625,-0.59375,-0.267578125,-0.2294921875,0.14453125,0.453125,-0.96875,0.010986328125,0.37890625,1.046875,-0.032470703125,0.10791015625,-0.1650390625,-0.1416015625,0.150390625,-0.3203125,-0.11328125,0.251953125,-0.265625,-0.79296875,0.427734375,-0.177734375,-0.55859375,0.55859375,-0.40234375,-0.400390625,-0.091796875,0.00244140625,-0.09716796875,0.0157470703125,0.41796875,-0.306640625,-0.56640625,0.55078125,0.12451171875,-0.1220703125,-0.451171875,-0.318359375,0.0302734375,-0.31640625,0.150390625,-0.54296875,-0.2734375,-0.28515625,0.80859375,-0.103515625,-0.0341796875,-0.47265625,-0.0966796875,0.03369140625,0.390625,0.2392578125,1.5,-0.0240478515625,-0.7734375,-0.60546875,0.1298828125,-0.1728515625,-0.0224609375,-0.3046875,-0.1298828125,-0.40234375,0.119140625,-0.55078125,0.12353515625,0.1650390625,0.25390625,-0.07666015625,0.294921875,-0.2265625,-0.2197265625,0.10693359375,0.173828125,-0.392578125,0.236328125,-0.177734375,0.62109375,0.1845703125,0.80078125,0.2314453125,-0.138671875,-0.22265625,0.0556640625,-0.427734375,-1.0078125,-0.201171875,0.130859375,-0.052978515625,0.107421875,0.390625,-0.3203125,-0.1357421875,0.1064453125,-0.609375,-0.396484375,0.26171875,-0.28125,0.189453125,-0.388671875,0.4140625,-0.58984375,-0.002960205078125,-0.369140625,0.7265625,0.1181640625,-0.439453125,-0.5078125,-0.142578125,0.1552734375,0.1904296875,0.28515625,-0.1328125,-0.177734375,-0.072265625,0.9609375,0.4453125,-0.62109375,0.88671875,0.12353515625,0.010986328125,-0.31640625,-0.1865234375,0.10205078125,-0.169921875,0.56640625,-0.357421875,0.14453125,-0.02685546875,-0.4765625,0.130859375,0.271484375,-0.0654296875,-1.03125,-0.5859375,-0.11181640625,-0.0859375,0.1435546875,0.4375,0.458984375,-0.2158203125,-0.28515625,-0.59375,-0.1279296875,2.9921531677246094E-5,0.00994873046875,0.73046875,0.2119140625,-0.76171875,-0.2060546875,0.008056640625,-0.09130859375,0.0228271484375,0.15234375,0.045654296875,0.64453125,0.0012359619140625,0.1474609375,0.345703125,0.671875,-0.2265625,-0.58203125,0.59375,0.04931640625,0.435546875,-0.3046875,-0.68359375,-0.494140625,0.412109375,0.0703125,0.169921875,1.0625,0.31640625,-0.9921875,-0.068359375,-0.349609375,-0.314453125,-0.1904296875,0.310546875,0.1748046875,0.49609375,0.84765625,-0.423828125,0.061767578125,-0.2451171875,0.0908203125,-0.408203125,-0.703125,0.8046875,-0.349609375,0.3046875,-0.54296875,-0.5234375,-0.3359375,-0.06640625,-0.275390625,0.1474609375,0.8828125,-0.55078125,0.10791015625,-0.103515625,1.0390625,-0.51953125,-0.42578125,0.77734375,-0.216796875,0.5546875,0.11669921875,-0.443359375,-0.380859375,-0.2109375,0.6171875,-0.83984375,0.5234375,0.337890625,0.01068115234375,0.053466796875,5.07354736328125E-4,-0.68359375,-0.1044921875,-0.07861328125,-0.388671875,-0.0712890625,-0.578125,-0.1796875,-0.609375,-0.228515625,0.2578125,0.98046875,-0.21484375,0.9609375,-0.427734375,-0.640625,0.173828125,0.33203125,-0.0439453125,0.05224609375,0.047607421875,-0.9609375,0.330078125,0.0888671875,-0.36328125,0.275390625,-0.119140625,0.263671875,-0.134765625,-0.10791015625,-0.578125,-0.076171875,0.66015625,0.0732421875,0.00140380859375,0.06201171875,0.00860595703125,-0.431640625,0.404296875,0.353515625,0.1728515625,0.2138671875,-0.2470703125,0.578125,-0.0225830078125,-0.515625,0.10107421875,0.375,0.33203125,0.53125,0.1826171875,-0.32421875,0.2373046875,-0.3046875,0.94140625,0.5625,-0.232421875,-0.1884765625,-0.004150390625,0.310546875,-0.2119140625,0.466796875,-0.5,-0.2158203125,0.171875,0.57421875,0.1611328125,-0.56640625,-0.00139617919921875,-0.4765625,0.5,-0.038330078125,0.99609375,0.06787109375,-0.0262451171875,0.06982421875,0.12158203125,-0.11767578125,0.14453125,-0.2119140625,0.8671875,0.5859375,0.412109375,-0.220703125,-0.71484375,-0.07763671875,0.25390625,0.75390625,0.3671875,-1.59375,0.326171875,0.1044921875,0.0029754638671875,-0.0264892578125,-0.119140625,-0.25390625,-0.345703125,0.244140625,0.302734375,0.23828125,0.390625,0.65625,0.43359375,0.0361328125,-0.0556640625,0.0703125,0.060302734375,-0.2890625,-0.25390625,0.34375,-0.8046875,0.169921875,0.59375,-0.33984375,0.2275390625,-0.01092529296875,-0.45703125,-0.6015625,0.059814453125,0.85546875,0.038330078125,-0.263671875,0.1484375,0.494140625,0.07275390625,-0.01190185546875,0.921875,-0.1591796875,0.7109375,-0.19140625,-0.275390625,-0.369140625,-0.201171875,-0.70703125,-0.41015625,0.408203125,-0.1435546875,-0.302734375,-1.046875,-0.255859375,0.010498046875,0.875,0.4375,-0.25390625,-0.70703125,0.10546875,0.0947265625,-0.302734375,0.15234375,0.63671875,-0.023681640625,0.345703125,0.640625,-0.09130859375,-0.50390625,0.173828125,0.0027923583984375,0.3359375,-0.7421875,0.1865234375,0.10400390625,-0.61328125,0.5234375,0.271484375,-0.41796875,-0.15625,-0.341796875,0.318359375,-0.3515625,-0.1708984375,-0.1435546875,-0.2490234375,0.095703125,0.38671875,0.10791015625,-0.1416015625,-0.27734375,0.1591796875,-0.61328125,1.4921875,0.2451171875,0.00750732421875,-0.055419921875,-0.09033203125,-0.07470703125,-0.1103515625,-0.322265625,-0.181640625,0.65234375,-0.427734375,0.033935546875,-0.85546875,-0.47265625,-0.0103759765625,0.796875,-0.10546875,-0.44140625,0.5703125,0.002044677734375,0.337890625,0.44140625,0.2060546875,-0.0283203125,0.01495361328125,0.41015625,-0.703125,-0.2421875,-0.388671875,-0.6875,-0.26171875,-0.1337890625,0.32421875,0.63671875,0.1884765625,0.1982421875,0.1474609375,-0.083984375,-0.46875,-0.58984375,-0.8359375,0.41796875,0.1376953125,0.03955078125,-0.291015625,-0.361328125,-0.78515625,-0.337890625,-0.123046875,0.24609375,-0.125,0.39453125,-0.70703125,0.302734375,-0.00714111328125,-0.68359375,-0.419921875,0.373046875,0.177734375,0.130859375,-0.42578125,0.45703125,-0.94921875,0.287109375,-0.6171875,-0.1826171875,-0.40234375,-0.40625,-0.228515625,0.1396484375,-0.1083984375,-0.255859375,-0.65625,-0.9296875,-0.365234375,-0.14453125,6.37054443359375E-4,0.271484375,0.6796875,0.1064453125,0.376953125,-0.4140625,0.1484375,0.051025390625,-0.2197265625,-0.283203125,-0.42578125,-0.2255859375,0.5546875,-0.1328125,0.1796875,-0.1650390625,-0.0732421875,-0.11669921875,0.173828125,0.1982421875,-0.1689453125,0.369140625,-1.3515625,-0.25390625,-0.310546875,-0.38671875,-1.1015625,-0.083984375,0.12451171875,-0.111328125,-0.458984375,-0.30859375,0.154296875,-0.2021484375,0.6015625,0.11376953125,-0.5703125,0.41015625,-0.4375,0.66015625,-0.37890625,-0.421875,-0.26953125,0.5546875,-0.00506591796875,0.6484375,0.038330078125,-0.1484375,0.0272216796875,-0.4921875,0.2470703125,0.267578125,-0.251953125,-0.369140625,0.042236328125,-0.150390625,-0.1728515625,0.466796875,-0.341796875,0.443359375,0.6015625,-0.154296875,0.07861328125,0.330078125,-0.671875,0.0233154296875,-0.625,1.28125,-0.25390625,0.6484375,-0.1689453125,0.36328125,-0.078125,0.4140625,0.71875,-0.09716796875,-0.0419921875,-0.68359375,-0.228515625,0.64453125,-0.201171875,0.10302734375,0.232421875,-0.20703125,-0.443359375,0.36328125,-0.1748046875,0.34765625,0.09912109375,0.07861328125,0.197265625,-0.455078125,0.1259765625,-0.1845703125,-0.470703125,0.984375,0.0184326171875,-0.01080322265625,-0.150390625,0.259765625,0.31640625,0.46875,0.09814453125,0.68359375,-0.322265625,-0.1416015625,-0.6953125,0.142578125,-0.1787109375,0.314453125,0.09619140625,0.53515625,0.49609375,-0.1298828125,-1.2109375,0.1611328125,0.625,-0.169921875,-0.2275390625,0.06298828125,-0.77734375,-0.5,-0.2373046875,-0.1787109375,0.32421875,0.47265625,0.40234375,0.345703125,0.099609375,0.45703125,-0.09765625,0.240234375,-0.2373046875,-0.333984375,0.62890625,0.1630859375,0.1279296875,-0.25390625,0.42578125,0.009521484375,0.470703125,-0.7421875,0.357421875,-0.16015625,0.0264892578125,-0.2451171875,-0.318359375,-0.06201171875,-0.326171875,-0.0859375,-0.3046875,0.52734375,0.1357421875,0.376953125,-0.042236328125,0.57421875,-0.0751953125,0.796875,-0.4609375,0.53125,-0.71484375,0.5078125,-0.6875,0.6796875,-0.09716796875,-0.6875,-0.2734375,-0.1103515625,-0.55078125,0.054443359375,-0.3359375,0.08447265625,-0.26953125,0.18359375,0.75390625,0.06689453125,-0.1611328125,0.259765625,-1.109375,-0.1708984375,-0.421875,-0.408203125,0.0022125244140625,0.671875,-0.150390625,0.45703125,0.6484375,0.28515625,-0.11572265625,-0.55078125,0.625,0.11328125,-0.1435546875,0.23828125,0.060546875,-0.2451171875,-0.07763671875,0.53125,-0.16796875,0.12451171875,-0.0625,0.265625,-0.2578125,0.09912109375,0.2431640625,0.23046875,0.357421875,0.21875,-0.326171875,0.244140625,-0.17578125,-0.359375,-0.32421875,-0.453125,-0.7734375,0.0289306640625,-0.0830078125,0.5,-0.50390625,-0.79296875,-0.042236328125,-0.1240234375,-0.33984375,0.5625,1.515625,0.228515625,0.357421875,-0.546875,-0.515625,0.62109375,-0.53125,-0.3203125,0.2119140625,-0.6640625,-0.1328125,0.08056640625,-1.1953125,0.373046875,0.0791015625,-0.28125,0.0296630859375,0.2353515625,-0.330078125,0.2275390625,0.036865234375,0.330078125,-0.9140625,0.4375,0.349609375,-0.0703125,-0.072265625,0.251953125,0.69140625,0.1328125,0.0016326904296875,-0.421875,0.326171875,-0.51953125,0.3671875,0.1982421875,-0.01336669921875,0.05908203125,-0.05908203125,-0.1240234375,0.01220703125,-0.6328125,0.77734375],"inputTextTokenCount":7}'
23
+ headers:
24
+ Connection:
25
+ - keep-alive
26
+ Content-Length:
27
+ - '18891'
28
+ Content-Type:
29
+ - application/json
30
+ Date:
31
+ - Mon, 19 May 2025 16:42:06 GMT
32
+ X-Amzn-Bedrock-Input-Token-Count:
33
+ - '7'
34
+ X-Amzn-Bedrock-Invocation-Latency:
35
+ - '68'
36
+ x-amzn-RequestId:
37
+ - 1b70cfa3-5b0a-41b1-acfb-271252abc5be
38
+ status:
39
+ code: 200
40
+ message: OK
41
+ version: 1
@@ -0,0 +1,48 @@
1
+ """Unit tests configuration module."""
2
+
3
+ import pytest
4
+ import os
5
+
6
+ from boto3.session import Session
7
+ from botocore.config import Config
8
+
9
+ from langtrace_python_sdk.instrumentation.aws_bedrock.instrumentation import (
10
+ AWSBedrockInstrumentation,
11
+ )
12
+
13
+
14
+ @pytest.fixture(autouse=True)
15
+ def environment():
16
+ if not os.getenv("AWS_ACCESS_KEY_ID"):
17
+ os.environ["AWS_ACCESS_KEY_ID"] = "test_aws_access_key_id"
18
+ if not os.getenv("AWS_SECRET_ACCESS_KEY"):
19
+ os.environ["AWS_SECRET_ACCESS_KEY"] = "test_aws_secret_access_key"
20
+
21
+
22
+ @pytest.fixture
23
+ def aws_bedrock_client():
24
+ bedrock_config = Config(
25
+ region_name="us-east-1",
26
+ connect_timeout=300,
27
+ read_timeout=300,
28
+ retries={"total_max_attempts": 2, "mode": "standard"},
29
+ )
30
+ return Session().client("bedrock-runtime", config=bedrock_config)
31
+
32
+
33
+ @pytest.fixture(scope="module")
34
+ def vcr_config():
35
+ return {
36
+ "filter_headers": [
37
+ "authorization",
38
+ "X-Amz-Date",
39
+ "X-Amz-Security-Token",
40
+ "amz-sdk-invocation-id",
41
+ "amz-sdk-request",
42
+ ]
43
+ }
44
+
45
+
46
+ @pytest.fixture(scope="session", autouse=True)
47
+ def instrument():
48
+ AWSBedrockInstrumentation().instrument()
@@ -0,0 +1,135 @@
1
+ import pytest
2
+ import json
3
+ from tests.utils import (
4
+ assert_completion_in_events,
5
+ assert_prompt_in_events,
6
+ assert_token_count,
7
+ )
8
+ from importlib_metadata import version as v
9
+
10
+ from langtrace.trace_attributes import SpanAttributes
11
+ from langtrace_python_sdk.constants.instrumentation.aws_bedrock import APIS
12
+
13
+ ANTHROPIC_VERSION = "bedrock-2023-05-31"
14
+
15
+
16
+ @pytest.mark.vcr()
17
+ def test_chat_completion(exporter, aws_bedrock_client):
18
+ model_id = "us.anthropic.claude-3-7-sonnet-20250219-v1:0"
19
+ messages_value = [{"role": "user", "content": "Say this is a test three times"}]
20
+
21
+ kwargs = {
22
+ "modelId": model_id,
23
+ "accept": "application/json",
24
+ "contentType": "application/json",
25
+ "body": json.dumps(
26
+ {
27
+ "messages": messages_value,
28
+ "anthropic_version": ANTHROPIC_VERSION,
29
+ "max_tokens": 100,
30
+ }
31
+ ),
32
+ }
33
+
34
+ aws_bedrock_client.invoke_model(**kwargs)
35
+ spans = exporter.get_finished_spans()
36
+ completion_span = spans[-1]
37
+ assert completion_span.name == "aws_bedrock.invoke_model"
38
+
39
+ attributes = completion_span.attributes
40
+
41
+ assert attributes.get(SpanAttributes.LANGTRACE_SDK_NAME) == "langtrace-python-sdk"
42
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_NAME) == "anthropic"
43
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_TYPE) == "framework"
44
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_VERSION) == v("boto3")
45
+ assert attributes.get(SpanAttributes.LANGTRACE_VERSION) == v("langtrace-python-sdk")
46
+ assert attributes.get(SpanAttributes.LLM_PATH) == APIS["INVOKE_MODEL"]["ENDPOINT"]
47
+ assert attributes.get(SpanAttributes.LLM_RESPONSE_MODEL) == model_id
48
+ assert attributes.get(SpanAttributes.LLM_IS_STREAMING) is False
49
+ assert_prompt_in_events(completion_span.events)
50
+ assert_completion_in_events(completion_span.events)
51
+ assert_token_count(attributes)
52
+
53
+
54
+ @pytest.mark.skip(reason="Skipping streaming test due to no streaming support in vcrpy")
55
+ def test_chat_completion_streaming(exporter, aws_bedrock_client):
56
+ model_id = "us.anthropic.claude-3-7-sonnet-20250219-v1:0"
57
+ messages_value = [{"role": "user", "content": "Say this is a test three times"}]
58
+
59
+ kwargs = {
60
+ "modelId": model_id,
61
+ "accept": "application/json",
62
+ "contentType": "application/json",
63
+ "body": json.dumps(
64
+ {
65
+ "messages": messages_value,
66
+ "anthropic_version": ANTHROPIC_VERSION,
67
+ "max_tokens": 100,
68
+ }
69
+ ),
70
+ }
71
+
72
+ response = aws_bedrock_client.invoke_model_with_response_stream(**kwargs)
73
+ chunk_count = 0
74
+
75
+ for chunk in response["body"]:
76
+ if chunk:
77
+ chunk_count += 1
78
+
79
+ spans = exporter.get_finished_spans()
80
+ streaming_span = spans[-1]
81
+ assert streaming_span.name == "aws_bedrock.invoke_model_with_response_stream"
82
+
83
+ attributes = streaming_span.attributes
84
+
85
+ assert attributes.get(SpanAttributes.LANGTRACE_SDK_NAME) == "langtrace-python-sdk"
86
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_NAME) == "anthropic"
87
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_TYPE) == "framework"
88
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_VERSION) == v("boto3")
89
+ assert attributes.get(SpanAttributes.LANGTRACE_VERSION) == v("langtrace-python-sdk")
90
+ assert (
91
+ attributes.get(SpanAttributes.LLM_PATH)
92
+ == APIS["INVOKE_MODEL_WITH_RESPONSE_STREAM"]["ENDPOINT"]
93
+ )
94
+ assert (
95
+ attributes.get(SpanAttributes.LLM_RESPONSE_MODEL)
96
+ == "claude-3-7-sonnet-20250219-v1:0"
97
+ )
98
+ assert attributes.get(SpanAttributes.LLM_IS_STREAMING) is True
99
+ assert_prompt_in_events(streaming_span.events)
100
+ assert_completion_in_events(streaming_span.events)
101
+ assert_token_count(attributes)
102
+
103
+
104
+ @pytest.mark.vcr()
105
+ def test_generate_embedding(exporter, aws_bedrock_client):
106
+ model_id = "amazon.titan-embed-text-v1"
107
+
108
+ kwargs = {
109
+ "modelId": model_id,
110
+ "accept": "application/json",
111
+ "contentType": "application/json",
112
+ "body": json.dumps(
113
+ {
114
+ "inputText": "Say this is a test three times",
115
+ }
116
+ ),
117
+ }
118
+
119
+ aws_bedrock_client.invoke_model(**kwargs)
120
+ spans = exporter.get_finished_spans()
121
+ completion_span = spans[-1]
122
+ assert completion_span.name == "aws_bedrock.invoke_model"
123
+
124
+ attributes = completion_span.attributes
125
+
126
+ assert attributes.get(SpanAttributes.LANGTRACE_SDK_NAME) == "langtrace-python-sdk"
127
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_NAME) == "amazon"
128
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_TYPE) == "framework"
129
+ assert attributes.get(SpanAttributes.LANGTRACE_SERVICE_VERSION) == v("boto3")
130
+ assert attributes.get(SpanAttributes.LANGTRACE_VERSION) == v("langtrace-python-sdk")
131
+ assert attributes.get(SpanAttributes.LLM_PATH) == APIS["INVOKE_MODEL"]["ENDPOINT"]
132
+ assert attributes.get(SpanAttributes.LLM_RESPONSE_MODEL) == model_id
133
+ assert attributes.get(SpanAttributes.LLM_IS_STREAMING) is False
134
+ assert_prompt_in_events(completion_span.events)
135
+ assert_token_count(attributes)
@@ -0,0 +1,34 @@
1
+ import pytest
2
+ from langtrace_python_sdk.instrumentation.aws_bedrock.patch import (
3
+ parse_vendor_and_model_name_from_model_id,
4
+ )
5
+
6
+
7
+ def test_model_id_parsing():
8
+ model_id = "anthropic.claude-3-opus-20240229"
9
+ vendor, model_name = parse_vendor_and_model_name_from_model_id(model_id)
10
+ assert vendor == "anthropic"
11
+ assert model_name == "claude-3-opus-20240229"
12
+
13
+
14
+ def test_model_id_parsing_cross_region_inference():
15
+ model_id = "us.anthropic.claude-3-opus-20240229"
16
+ vendor, model_name = parse_vendor_and_model_name_from_model_id(model_id)
17
+ assert vendor == "anthropic"
18
+ assert model_name == "claude-3-opus-20240229"
19
+
20
+
21
+ def test_model_id_parsing_arn_custom_model_inference():
22
+ model_id = (
23
+ "arn:aws:bedrock:us-east-1:123456789012:custom-model/amazon.my-model/abc123"
24
+ )
25
+ vendor, model_name = parse_vendor_and_model_name_from_model_id(model_id)
26
+ assert vendor == "amazon"
27
+ assert model_name == "my-model"
28
+
29
+
30
+ def test_model_id_parsing_arn_foundation_model_inference():
31
+ model_id = "arn:aws:bedrock:us-east-1:123456789012:foundation-model/anthropic.claude-3-opus-20240229"
32
+ vendor, model_name = parse_vendor_and_model_name_from_model_id(model_id)
33
+ assert vendor == "anthropic"
34
+ assert model_name == "claude-3-opus-20240229"
@@ -1 +0,0 @@
1
- __version__ = "3.8.18"