langtrace-python-sdk 2.2.18__tar.gz → 2.2.20__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.
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/PKG-INFO +1 -1
- langtrace_python_sdk-2.2.20/src/examples/langchain_example/sagemaker.py +81 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +8 -3
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +34 -9
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +3 -3
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +36 -22
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/langtrace.py +9 -4
- langtrace_python_sdk-2.2.20/src/langtrace_python_sdk/version.py +1 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/langchain/test_langchain.py +1 -8
- langtrace_python_sdk-2.2.18/src/langtrace_python_sdk/version.py +0 -1
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/.gitignore +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/LICENSE +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/README.md +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/pyproject.toml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/anthropic_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/anthropic_example/completion.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/chroma_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/chroma_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/chat.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/chat_stream.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/embed.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/rerank.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/tools.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/crewai_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/math_problems_cot.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/math_problems_cot_parallel.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/program_of_thought_basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/quiz_gen.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/react.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/fastapi_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/fastapi_example/basic_route.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/gemini_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/gemini_example/function_tools.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/gemini_example/main.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/hiveagent_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/inspect_ai_example/basic_eval.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/groq_example.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/langgraph_example.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/tool.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/agent.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/data/abramov.txt +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/ollama_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/ollama_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/async_tool_calling_nonstreaming.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/async_tool_calling_streaming.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/chat_completion.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/chat_completion_tool_choice.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/embeddings_create.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/function_calling.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/images_edit.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/images_generate.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/resources/lounge_flamingo.png +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/resources/mask.png +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/send_user_feedback.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/tool_calling.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/tool_calling_nonstreaming.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/tool_calling_streaming.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/otlp_example/otlp_basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/otlp_example/otlp_with_langtrace.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/perplexity_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/pinecone_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/pinecone_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/qdrant_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/qdrant_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/routellm_example/basic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/vertexai_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/vertexai_example/main.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/weaviate_example/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/weaviate_example/query_text.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/cohere.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/gemini.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/groq.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/ollama.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/qdrant.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/vertexai.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/constants/instrumentation/weaviate.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/extensions/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/extensions/langtrace_filesystem.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/cohere/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/cohere/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/cohere/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/crewai/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/crewai/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/crewai/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/dspy/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/dspy/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/dspy/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/gemini/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/gemini/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/gemini/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/groq/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/groq/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/groq/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langgraph/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langgraph/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/langgraph/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/ollama/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/ollama/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/ollama/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/openai/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/qdrant/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/qdrant/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/qdrant/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/vertexai/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/vertexai/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/vertexai/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/weaviate/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/weaviate/instrumentation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/instrumentation/weaviate/patch.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/types/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/langtrace_sampler.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/llm.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/misc.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/prompt_registry.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/sdk_version_checker.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/silently_fail.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/types.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/run_example.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/__init__.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/cassettes/test_anthropic.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/cassettes/test_anthropic_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/cassettes/test_async_anthropic_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/test_anthropic.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/chroma/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/chroma/test_chroma.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/cassettes/test_cohere_chat.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/cassettes/test_cohere_chat_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/cassettes/test_cohere_embed.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/cassettes/test_cohere_rerank.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_chat.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_embed.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_rerank.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/cassettes/test_async_chat_completion.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/cassettes/test_async_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/cassettes/test_chat_completion.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/cassettes/test_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/groq/test_groq.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/langchain/cassettes/test_langchain.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/langchain/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/cassettes/test_async_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/cassettes/test_async_image_generation.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/cassettes/test_chat_completion.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/cassettes/test_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/cassettes/test_image_generation.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/test_chat_completion.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/test_embeddings.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/test_image_generation.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/pinecone/cassettes/test_query.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/pinecone/cassettes/test_upsert.yaml +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/pinecone/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/pinecone/test_pinecone.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/qdrant/conftest.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/qdrant/test_qdrant.py +0 -0
- {langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/utils.py +0 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from typing import Dict
|
|
3
|
+
|
|
4
|
+
import boto3
|
|
5
|
+
from dotenv import load_dotenv
|
|
6
|
+
from langchain.chains.question_answering import load_qa_chain
|
|
7
|
+
from langchain_community.llms.sagemaker_endpoint import (LLMContentHandler,
|
|
8
|
+
SagemakerEndpoint)
|
|
9
|
+
from langchain_core.documents import Document
|
|
10
|
+
from langchain_core.prompts import PromptTemplate
|
|
11
|
+
|
|
12
|
+
from langtrace_python_sdk import langtrace, with_langtrace_root_span
|
|
13
|
+
|
|
14
|
+
# Add the path to the root of the project to the sys.path
|
|
15
|
+
|
|
16
|
+
load_dotenv()
|
|
17
|
+
|
|
18
|
+
langtrace.init()
|
|
19
|
+
example_doc_1 = """
|
|
20
|
+
Peter and Elizabeth took a taxi to attend the night party in the city. While in the party, Elizabeth collapsed and was rushed to the hospital.
|
|
21
|
+
Since she was diagnosed with a brain injury, the doctor told Peter to stay besides her until she gets well.
|
|
22
|
+
Therefore, Peter stayed with her at the hospital for 3 days without leaving.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
docs = [
|
|
26
|
+
Document(
|
|
27
|
+
page_content=example_doc_1,
|
|
28
|
+
)
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
query = """How long was Elizabeth hospitalized?"""
|
|
33
|
+
prompt_template = """Use the following pieces of context to answer the question at the end.
|
|
34
|
+
|
|
35
|
+
{context}
|
|
36
|
+
|
|
37
|
+
Question: {question}
|
|
38
|
+
Answer:"""
|
|
39
|
+
PROMPT = PromptTemplate(
|
|
40
|
+
template=prompt_template, input_variables=["context", "question"]
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
client = boto3.client(
|
|
45
|
+
"sagemaker-runtime",
|
|
46
|
+
region_name="us-east-1",
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class ContentHandler(LLMContentHandler):
|
|
51
|
+
content_type = "application/json"
|
|
52
|
+
accepts = "application/json"
|
|
53
|
+
|
|
54
|
+
def transform_input(self, prompt: str, model_kwargs: Dict) -> bytes:
|
|
55
|
+
input_str = json.dumps({"inputs": prompt, "parameters": model_kwargs})
|
|
56
|
+
return input_str.encode("utf-8")
|
|
57
|
+
|
|
58
|
+
def transform_output(self, output: bytes) -> str:
|
|
59
|
+
response_json = json.loads(output.read().decode("utf-8"))
|
|
60
|
+
return response_json["generated_text"]
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
@with_langtrace_root_span("SagemakerEndpoint")
|
|
64
|
+
def main():
|
|
65
|
+
content_handler = ContentHandler()
|
|
66
|
+
|
|
67
|
+
chain = load_qa_chain(
|
|
68
|
+
llm=SagemakerEndpoint(
|
|
69
|
+
endpoint_name="jumpstart-dft-meta-textgeneration-l-20240809-083223",
|
|
70
|
+
client=client,
|
|
71
|
+
model_kwargs={"temperature": 1e-10},
|
|
72
|
+
content_handler=content_handler,
|
|
73
|
+
),
|
|
74
|
+
prompt=PROMPT,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
res = chain({"input_documents": docs, "question": query}, return_only_outputs=True)
|
|
78
|
+
print(res)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
main()
|
|
@@ -49,9 +49,8 @@ def patch_module_classes(
|
|
|
49
49
|
lambda member: inspect.isclass(member) and member.__module__ == module.__name__,
|
|
50
50
|
):
|
|
51
51
|
# loop through all public methods of the class
|
|
52
|
-
for method_name,
|
|
53
|
-
|
|
54
|
-
if method_name.startswith("_"):
|
|
52
|
+
for method_name, method in inspect.getmembers(obj, predicate=inspect.isfunction):
|
|
53
|
+
if method.__qualname__.split('.')[0] != name:
|
|
55
54
|
continue
|
|
56
55
|
try:
|
|
57
56
|
method_path = f"{name}.{method_name}"
|
|
@@ -82,6 +81,12 @@ class LangchainCommunityInstrumentation(BaseInstrumentor):
|
|
|
82
81
|
|
|
83
82
|
# List of modules to patch, with their corresponding patch names
|
|
84
83
|
modules_to_patch = [
|
|
84
|
+
(
|
|
85
|
+
"langchain_community.llms.sagemaker_endpoint",
|
|
86
|
+
"sagemaker_endpoint",
|
|
87
|
+
True,
|
|
88
|
+
True,
|
|
89
|
+
),
|
|
85
90
|
("langchain_community.document_loaders.pdf", "load_pdf", True, True),
|
|
86
91
|
("langchain_community.vectorstores.faiss", "vector_store", False, False),
|
|
87
92
|
("langchain_community.vectorstores.pgvector", "vector_store", False, False),
|
|
@@ -50,6 +50,8 @@ def generic_patch(
|
|
|
50
50
|
**(extra_attributes if extra_attributes is not None else {}),
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
span_attributes["langchain.metadata"] = to_json_string(kwargs)
|
|
54
|
+
|
|
53
55
|
if trace_input and len(args) > 0:
|
|
54
56
|
span_attributes["langchain.inputs"] = to_json_string(args)
|
|
55
57
|
|
|
@@ -86,15 +88,31 @@ def generic_patch(
|
|
|
86
88
|
|
|
87
89
|
def clean_empty(d):
|
|
88
90
|
"""Recursively remove empty lists, empty dicts, or None elements from a dictionary."""
|
|
89
|
-
if not isinstance(d, (dict, list)):
|
|
91
|
+
if not isinstance(d, (dict, list, tuple)):
|
|
90
92
|
return d
|
|
93
|
+
if isinstance(d, tuple):
|
|
94
|
+
return tuple(val for val in (clean_empty(val) for val in d) if val != () and val is not None)
|
|
91
95
|
if isinstance(d, list):
|
|
92
|
-
return [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
return [val for val in (clean_empty(val) for val in d) if val != [] and val is not None]
|
|
97
|
+
result = {}
|
|
98
|
+
for k, val in d.items():
|
|
99
|
+
if isinstance(val, dict):
|
|
100
|
+
val = clean_empty(val)
|
|
101
|
+
if val != {} and val is not None:
|
|
102
|
+
result[k] = val
|
|
103
|
+
elif isinstance(val, list):
|
|
104
|
+
val = [clean_empty(value) for value in val]
|
|
105
|
+
if val != [] and val is not None:
|
|
106
|
+
result[k] = val
|
|
107
|
+
elif isinstance(val, str) and val is not None:
|
|
108
|
+
if val.strip() != "":
|
|
109
|
+
result[k] = val.strip()
|
|
110
|
+
elif isinstance(val, object):
|
|
111
|
+
# some langchain objects have a text attribute
|
|
112
|
+
val = getattr(val, 'text', None)
|
|
113
|
+
if val is not None and val.strip() != "":
|
|
114
|
+
result[k] = val.strip()
|
|
115
|
+
return result
|
|
98
116
|
|
|
99
117
|
|
|
100
118
|
def custom_serializer(obj):
|
|
@@ -109,5 +127,12 @@ def custom_serializer(obj):
|
|
|
109
127
|
|
|
110
128
|
def to_json_string(any_object):
|
|
111
129
|
"""Converts any object to a JSON-parseable string, omitting empty or None values."""
|
|
112
|
-
|
|
113
|
-
|
|
130
|
+
try:
|
|
131
|
+
cleaned_object = clean_empty(any_object)
|
|
132
|
+
return json.dumps(cleaned_object, default=custom_serializer, indent=2)
|
|
133
|
+
except NotImplementedError:
|
|
134
|
+
# Handle specific types that raise this error
|
|
135
|
+
return str(any_object) # or another appropriate fallback
|
|
136
|
+
except TypeError:
|
|
137
|
+
# Handle cases where obj is not serializable
|
|
138
|
+
return str(any_object)
|
|
@@ -66,9 +66,8 @@ def patch_module_classes(
|
|
|
66
66
|
if name.startswith("_") or name in exclude_classes:
|
|
67
67
|
continue
|
|
68
68
|
# loop through all public methods of the class
|
|
69
|
-
for method_name,
|
|
70
|
-
|
|
71
|
-
if method_name.startswith("_") or method_name in exclude_methods:
|
|
69
|
+
for method_name, method in inspect.getmembers(obj, predicate=inspect.isfunction):
|
|
70
|
+
if method_name in exclude_methods or method.__qualname__.split('.')[0] != name:
|
|
72
71
|
continue
|
|
73
72
|
try:
|
|
74
73
|
method_path = f"{name}.{method_name}"
|
|
@@ -126,6 +125,7 @@ class LangchainCoreInstrumentation(BaseInstrumentor):
|
|
|
126
125
|
modules_to_patch = [
|
|
127
126
|
("langchain_core.retrievers", "retriever", generic_patch, True, True),
|
|
128
127
|
("langchain_core.prompts.chat", "prompt", generic_patch, True, True),
|
|
128
|
+
("langchain_core.language_models.llms", "generate", generic_patch, True, True),
|
|
129
129
|
("langchain_core.runnables.base", "runnable", runnable_patch, True, True),
|
|
130
130
|
(
|
|
131
131
|
"langchain_core.runnables.passthrough",
|
|
@@ -59,19 +59,10 @@ def generic_patch(
|
|
|
59
59
|
**(extra_attributes if extra_attributes is not None else {}),
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
if len(args) > 0
|
|
63
|
-
inputs =
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
for key, value in arg.items():
|
|
67
|
-
if isinstance(value, list):
|
|
68
|
-
for item in value:
|
|
69
|
-
inputs[key] = item.__class__.__name__
|
|
70
|
-
elif isinstance(value, str):
|
|
71
|
-
inputs[key] = value
|
|
72
|
-
elif isinstance(arg, str):
|
|
73
|
-
inputs["input"] = arg
|
|
74
|
-
span_attributes["langchain.inputs"] = to_json_string(inputs)
|
|
62
|
+
if trace_input and len(args) > 0:
|
|
63
|
+
span_attributes["langchain.inputs"] = to_json_string(args)
|
|
64
|
+
|
|
65
|
+
span_attributes["langchain.metadata"] = to_json_string(kwargs)
|
|
75
66
|
|
|
76
67
|
attributes = FrameworkSpanAttributes(**span_attributes)
|
|
77
68
|
|
|
@@ -200,15 +191,31 @@ def runnable_patch(
|
|
|
200
191
|
|
|
201
192
|
def clean_empty(d):
|
|
202
193
|
"""Recursively remove empty lists, empty dicts, or None elements from a dictionary."""
|
|
203
|
-
if not isinstance(d, (dict, list)):
|
|
194
|
+
if not isinstance(d, (dict, list, tuple)):
|
|
204
195
|
return d
|
|
196
|
+
if isinstance(d, tuple):
|
|
197
|
+
return tuple(val for val in (clean_empty(val) for val in d) if val != () and val is not None)
|
|
205
198
|
if isinstance(d, list):
|
|
206
|
-
return [
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
199
|
+
return [val for val in (clean_empty(val) for val in d) if val != [] and val is not None]
|
|
200
|
+
result = {}
|
|
201
|
+
for k, val in d.items():
|
|
202
|
+
if isinstance(val, dict):
|
|
203
|
+
val = clean_empty(val)
|
|
204
|
+
if val != {} and val is not None:
|
|
205
|
+
result[k] = val
|
|
206
|
+
elif isinstance(val, list):
|
|
207
|
+
val = [clean_empty(value) for value in val]
|
|
208
|
+
if val != [] and val is not None:
|
|
209
|
+
result[k] = val
|
|
210
|
+
elif isinstance(val, str) and val is not None:
|
|
211
|
+
if val.strip() != "":
|
|
212
|
+
result[k] = val.strip()
|
|
213
|
+
elif isinstance(val, object):
|
|
214
|
+
# some langchain objects have a text attribute
|
|
215
|
+
val = getattr(val, 'text', None)
|
|
216
|
+
if val is not None and val.strip() != "":
|
|
217
|
+
result[k] = val.strip()
|
|
218
|
+
return result
|
|
212
219
|
|
|
213
220
|
|
|
214
221
|
def custom_serializer(obj):
|
|
@@ -223,5 +230,12 @@ def custom_serializer(obj):
|
|
|
223
230
|
|
|
224
231
|
def to_json_string(any_object):
|
|
225
232
|
"""Converts any object to a JSON-parseable string, omitting empty or None values."""
|
|
226
|
-
|
|
227
|
-
|
|
233
|
+
try:
|
|
234
|
+
cleaned_object = clean_empty(any_object)
|
|
235
|
+
return json.dumps(cleaned_object, default=custom_serializer, indent=2)
|
|
236
|
+
except NotImplementedError:
|
|
237
|
+
# Handle specific types that raise this error
|
|
238
|
+
return str(any_object) # or another appropriate fallback
|
|
239
|
+
except TypeError:
|
|
240
|
+
# Handle cases where obj is not serializable
|
|
241
|
+
return str(any_object)
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/langtrace.py
RENAMED
|
@@ -33,7 +33,8 @@ from opentelemetry.sdk.trace.export import (
|
|
|
33
33
|
SimpleSpanProcessor,
|
|
34
34
|
)
|
|
35
35
|
import sys
|
|
36
|
-
from opentelemetry.sdk.resources import Resource
|
|
36
|
+
from opentelemetry.sdk.resources import Resource, SERVICE_NAME
|
|
37
|
+
|
|
37
38
|
|
|
38
39
|
from langtrace_python_sdk.extensions.langtrace_exporter import LangTraceExporter
|
|
39
40
|
from langtrace_python_sdk.instrumentation import (
|
|
@@ -79,10 +80,14 @@ def init(
|
|
|
79
80
|
check_if_sdk_is_outdated()
|
|
80
81
|
print(Fore.GREEN + "Initializing Langtrace SDK.." + Fore.RESET)
|
|
81
82
|
sampler = LangtraceSampler(disabled_methods=disable_tracing_for_functions)
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
resource = Resource.create(
|
|
84
|
+
attributes={
|
|
85
|
+
SERVICE_NAME: os.environ.get("OTEL_SERVICE_NAME")
|
|
86
|
+
or service_name
|
|
87
|
+
or sys.argv[0]
|
|
88
|
+
}
|
|
85
89
|
)
|
|
90
|
+
provider = TracerProvider(resource=resource, sampler=sampler)
|
|
86
91
|
|
|
87
92
|
remote_write_exporter = (
|
|
88
93
|
LangTraceExporter(api_key=api_key, api_host=host)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.2.20"
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/langchain/test_langchain.py
RENAMED
|
@@ -18,11 +18,4 @@ def test_langchain(exporter):
|
|
|
18
18
|
chain.invoke({"input": "how can langsmith help with testing?"})
|
|
19
19
|
spans = exporter.get_finished_spans()
|
|
20
20
|
|
|
21
|
-
assert
|
|
22
|
-
"ChatPromptTemplate.invoke",
|
|
23
|
-
"openai.chat.completions.create",
|
|
24
|
-
"StrOutputParser.parse",
|
|
25
|
-
"StrOutputParser.parse_result",
|
|
26
|
-
"StrOutputParser.invoke",
|
|
27
|
-
"RunnableSequence.invoke",
|
|
28
|
-
] == [span.name for span in spans]
|
|
21
|
+
assert len(spans) > 0
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.2.18"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/chroma_example/__init__.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/chroma_example/basic.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/__init__.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/chat.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/embed.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/rerank.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/cohere_example/tools.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/crewai_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/quiz_gen.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/dspy_example/react.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/fastapi_example/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/gemini_example/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/gemini_example/main.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/hiveagent_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/langchain_example/tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/agent.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/llamaindex_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/ollama_example/__init__.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/ollama_example/basic.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/openai_example/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/otlp_example/otlp_basic.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/perplexity_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/pinecone_example/basic.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/qdrant_example/__init__.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/qdrant_example/basic.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/routellm_example/basic.py
RENAMED
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/examples/vertexai_example/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/llm.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/misc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/langtrace_python_sdk/utils/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/anthropic/test_anthropic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_chat.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_embed.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/cohere/test_cohere_rerank.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/test_chat_completion.py
RENAMED
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/openai/test_embeddings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langtrace_python_sdk-2.2.18 → langtrace_python_sdk-2.2.20}/src/tests/pinecone/test_pinecone.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|