langtrace-python-sdk 3.3.6__tar.gz → 3.3.7__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- langtrace_python_sdk-3.3.7/PKG-INFO +493 -0
- langtrace_python_sdk-3.3.7/README.md +441 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/milvus/patch.py +7 -0
- langtrace_python_sdk-3.3.7/src/langtrace_python_sdk/version.py +1 -0
- langtrace_python_sdk-3.3.6/PKG-INFO +0 -371
- langtrace_python_sdk-3.3.6/README.md +0 -319
- langtrace_python_sdk-3.3.6/src/langtrace_python_sdk/version.py +0 -1
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/.gitignore +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/LICENSE +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/pyproject.toml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/anthropic_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/anthropic_example/completion.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/autogen_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/autogen_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/awsbedrock_examples/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/awsbedrock_examples/converse.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/azureopenai_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/azureopenai_example/completion.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cerebras_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cerebras_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/chroma_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/chroma_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/chat.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/chat_stream.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/embed.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/rerank.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/cohere_example/tools.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/agents.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/tasks.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/tools/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/instagram_post/tools/browser_tools.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/simple_agent/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/simple_agent/agents.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/simple_agent/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/simple_agent/tasks.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/agents.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/tasks.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/tools/calculator.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/crewai_example/trip_planner/tools/search_tools.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/QA_basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/QA_basic_with_chain_of_thought.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/QA_basic_with_signature.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/QA_multi_step_with_chain_of_thought.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/math_problems_cot.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/math_problems_cot_parallel.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/optimizers/bootstrap_fewshot.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/program_of_thought_basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/quiz_gen.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/dspy_example/react.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/embedchain_example/simple.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/fastapi_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/fastapi_example/basic_route.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/gemini_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/gemini_example/function_tools.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/gemini_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/hiveagent_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/inspect_ai_example/basic_eval.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/groq_example.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/langchain_google_example.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/langgraph_example.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/langgraph_example_tools.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/sagemaker.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/langchain_example/tool.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/litellm_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/litellm_example/config.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/litellm_example/proxy_basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/llamaindex_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/llamaindex_example/agent.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/llamaindex_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/llamaindex_example/data/abramov.txt +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/milvus_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/mistral_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/mistral_example/complete.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/mistral_example/complete_async.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/mistral_example/embeddings.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/mongo_vector_search_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/ollama_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/ollama_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/async_tool_calling_nonstreaming.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/async_tool_calling_streaming.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/chat_completion.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/chat_completion_tool_choice.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/embeddings_create.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/function_calling.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/images_edit.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/images_generate.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/resources/lounge_flamingo.png +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/resources/mask.png +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/send_user_feedback.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/tool_calling.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/tool_calling_nonstreaming.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/openai_example/tool_calling_streaming.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/otlp_example/otlp_basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/otlp_example/otlp_with_langtrace.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/perplexity_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/pinecone_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/pinecone_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/qdrant_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/qdrant_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/routellm_example/basic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/vertexai_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/vertexai_example/main.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/weaviate_example/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/examples/weaviate_example/query_text.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/exporter/langtrace_exporter.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/anthropic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/aws_bedrock.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/chroma.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/cohere.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/common.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/embedchain.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/gemini.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/groq.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/litellm.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/milvus.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/mistral.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/ollama.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/openai.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/pinecone.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/pymongo.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/qdrant.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/vertexai.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/constants/instrumentation/weaviate.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/extensions/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/extensions/langtrace_exporter.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/extensions/langtrace_filesystem.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/anthropic/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/anthropic/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/anthropic/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/anthropic/types.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/autogen/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/autogen/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/autogen/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/aws_bedrock/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/aws_bedrock/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/aws_bedrock/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cerebras/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cerebras/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cerebras/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/chroma/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/chroma/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/chroma/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cohere/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cohere/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/cohere/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/crewai/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/crewai/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/crewai/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/dspy/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/dspy/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/dspy/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/embedchain/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/embedchain/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/embedchain/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/gemini/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/gemini/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/gemini/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/groq/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/groq/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/groq/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_community/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_community/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_community/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_core/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_core/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langchain_core/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langgraph/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langgraph/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/langgraph/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/litellm/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/litellm/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/litellm/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/litellm/types.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/llamaindex/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/llamaindex/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/llamaindex/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/milvus/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/milvus/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/mistral/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/mistral/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/mistral/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/ollama/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/ollama/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/ollama/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/openai/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/openai/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/openai/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/openai/types.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pinecone/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pinecone/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pinecone/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pymongo/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pymongo/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/pymongo/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/qdrant/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/qdrant/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/qdrant/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/vertexai/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/vertexai/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/vertexai/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/weaviate/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/weaviate/instrumentation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/instrumentation/weaviate/patch.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/langtrace.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/types/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/langtrace_sampler.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/llm.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/misc.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/prompt_registry.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/sdk_version_checker.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/silently_fail.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/types.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/langtrace_python_sdk/utils/with_root_span.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/run_example.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/__init__.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/anthropic/cassettes/test_anthropic.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/anthropic/cassettes/test_anthropic_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/anthropic/cassettes/test_async_anthropic_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/anthropic/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/anthropic/test_anthropic.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/chroma/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/chroma/test_chroma.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/cassettes/test_cohere_chat.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/cassettes/test_cohere_chat_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/cassettes/test_cohere_embed.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/cassettes/test_cohere_rerank.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/test_cohere_chat.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/test_cohere_embed.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/cohere/test_cohere_rerank.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/cassettes/test_async_chat_completion.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/cassettes/test_async_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/cassettes/test_chat_completion.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/cassettes/test_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/groq/test_groq.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/langchain/cassettes/test_langchain.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/langchain/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/langchain/test_langchain.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/cassettes/test_async_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/cassettes/test_async_image_generation.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/cassettes/test_chat_completion.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/cassettes/test_chat_completion_streaming.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/cassettes/test_image_generation.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/test_chat_completion.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/test_embeddings.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/openai/test_image_generation.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/pinecone/cassettes/test_query.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/pinecone/cassettes/test_upsert.yaml +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/pinecone/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/pinecone/test_pinecone.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/qdrant/conftest.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/qdrant/test_qdrant.py +0 -0
- {langtrace_python_sdk-3.3.6 → langtrace_python_sdk-3.3.7}/src/tests/utils.py +0 -0
@@ -0,0 +1,493 @@
|
|
1
|
+
Metadata-Version: 2.3
|
2
|
+
Name: langtrace-python-sdk
|
3
|
+
Version: 3.3.7
|
4
|
+
Summary: Python SDK for LangTrace
|
5
|
+
Project-URL: Homepage, https://github.com/Scale3-Labs/langtrace-python-sdk
|
6
|
+
Author-email: Scale3 Labs <engineering@scale3labs.com>
|
7
|
+
License: Apache-2.0
|
8
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
9
|
+
Classifier: Operating System :: OS Independent
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
11
|
+
Requires-Python: >=3.9
|
12
|
+
Requires-Dist: colorama>=0.4.6
|
13
|
+
Requires-Dist: fsspec>=2024.6.0
|
14
|
+
Requires-Dist: opentelemetry-api>=1.25.0
|
15
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.25.0
|
16
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.25.0
|
17
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy>=0.46b0
|
18
|
+
Requires-Dist: opentelemetry-instrumentation>=0.47b0
|
19
|
+
Requires-Dist: opentelemetry-sdk>=1.25.0
|
20
|
+
Requires-Dist: sentry-sdk>=2.14.0
|
21
|
+
Requires-Dist: sqlalchemy
|
22
|
+
Requires-Dist: tiktoken>=0.1.1
|
23
|
+
Requires-Dist: trace-attributes==7.1.0
|
24
|
+
Requires-Dist: transformers>=4.11.3
|
25
|
+
Requires-Dist: ujson>=5.10.0
|
26
|
+
Provides-Extra: dev
|
27
|
+
Requires-Dist: anthropic; extra == 'dev'
|
28
|
+
Requires-Dist: boto3; extra == 'dev'
|
29
|
+
Requires-Dist: chromadb; extra == 'dev'
|
30
|
+
Requires-Dist: cohere; extra == 'dev'
|
31
|
+
Requires-Dist: embedchain; extra == 'dev'
|
32
|
+
Requires-Dist: google-cloud-aiplatform; extra == 'dev'
|
33
|
+
Requires-Dist: google-generativeai; extra == 'dev'
|
34
|
+
Requires-Dist: groq; extra == 'dev'
|
35
|
+
Requires-Dist: langchain; extra == 'dev'
|
36
|
+
Requires-Dist: langchain-community; extra == 'dev'
|
37
|
+
Requires-Dist: langchain-openai; extra == 'dev'
|
38
|
+
Requires-Dist: litellm==1.48.7; extra == 'dev'
|
39
|
+
Requires-Dist: mistralai; extra == 'dev'
|
40
|
+
Requires-Dist: ollama; extra == 'dev'
|
41
|
+
Requires-Dist: openai==1.45.0; extra == 'dev'
|
42
|
+
Requires-Dist: pinecone-client; extra == 'dev'
|
43
|
+
Requires-Dist: python-dotenv; extra == 'dev'
|
44
|
+
Requires-Dist: qdrant-client; extra == 'dev'
|
45
|
+
Requires-Dist: setuptools; extra == 'dev'
|
46
|
+
Requires-Dist: weaviate-client; extra == 'dev'
|
47
|
+
Provides-Extra: test
|
48
|
+
Requires-Dist: pytest; extra == 'test'
|
49
|
+
Requires-Dist: pytest-asyncio; extra == 'test'
|
50
|
+
Requires-Dist: pytest-vcr; extra == 'test'
|
51
|
+
Description-Content-Type: text/markdown
|
52
|
+
|
53
|
+
<div align="center">
|
54
|
+
<h1>Langtrace Python SDK</h1>
|
55
|
+
<p>Open Source & Open Telemetry(OTEL) Observability for LLM Applications</p>
|
56
|
+
|
57
|
+
![Static Badge](https://img.shields.io/badge/License-Apache--2.0-blue)
|
58
|
+
![Static Badge](https://img.shields.io/badge/pip_langtrace--python--sdk-1.2.8-green)
|
59
|
+
![Static Badge](https://img.shields.io/badge/Development_status-Active-green)
|
60
|
+
[![Downloads](https://static.pepy.tech/badge/langtrace-python-sdk)](https://static.pepy.tech/badge/langtrace-python-sdk)
|
61
|
+
[![Deploy](https://railway.app/button.svg)](https://railway.app/template/8dNq1c?referralCode=MA2S9H)
|
62
|
+
</div>
|
63
|
+
|
64
|
+
---
|
65
|
+
|
66
|
+
## 📚 Table of Contents
|
67
|
+
- [✨ Features](#-features)
|
68
|
+
- [🚀 Quick Start](#-quick-start)
|
69
|
+
- [🔗 Integrations](#-supported-integrations)
|
70
|
+
- [🌐 Getting Started](#-getting-started)
|
71
|
+
- [⚙️ Configuration](#-configuration)
|
72
|
+
- [🔧 Advanced Features](#-advanced-features)
|
73
|
+
- [📐 Examples](#-examples)
|
74
|
+
- [🏠 Self Hosting](#-langtrace-self-hosted)
|
75
|
+
- [🤝 Contributing](#-contributions)
|
76
|
+
- [🔒 Security](#-security)
|
77
|
+
- [❓ FAQ](#-frequently-asked-questions)
|
78
|
+
- [📜 License](#-license)
|
79
|
+
|
80
|
+
Langtrace is an open source observability software which lets you capture, debug and analyze traces and metrics from all your applications that leverages LLM APIs, Vector Databases and LLM based Frameworks.
|
81
|
+
|
82
|
+
## ✨ Features
|
83
|
+
|
84
|
+
- 📊 **Open Telemetry Support**: Built on OTEL standards for comprehensive tracing
|
85
|
+
- 🔄 **Real-time Monitoring**: Track LLM API calls, vector operations, and framework usage
|
86
|
+
- 🎯 **Performance Insights**: Analyze latency, costs, and usage patterns
|
87
|
+
- 🔍 **Debug Tools**: Trace and debug your LLM application workflows
|
88
|
+
- 📈 **Analytics**: Get detailed metrics and visualizations
|
89
|
+
- 🛠️ **Framework Support**: Extensive integration with popular LLM frameworks
|
90
|
+
- 🔌 **Vector DB Integration**: Support for major vector databases
|
91
|
+
- 🎨 **Flexible Configuration**: Customizable tracing and monitoring options
|
92
|
+
|
93
|
+
## 🚀 Quick Start
|
94
|
+
|
95
|
+
```bash
|
96
|
+
pip install langtrace-python-sdk
|
97
|
+
```
|
98
|
+
|
99
|
+
```python
|
100
|
+
from langtrace_python_sdk import langtrace
|
101
|
+
langtrace.init(api_key='<your_api_key>') # Get your API key at langtrace.ai
|
102
|
+
```
|
103
|
+
|
104
|
+
## 🔗 Supported Integrations
|
105
|
+
|
106
|
+
Langtrace automatically captures traces from the following vendors:
|
107
|
+
|
108
|
+
### LLM Providers
|
109
|
+
| Provider | TypeScript SDK | Python SDK |
|
110
|
+
|----------|:-------------:|:----------:|
|
111
|
+
| OpenAI | ✅ | ✅ |
|
112
|
+
| Anthropic | ✅ | ✅ |
|
113
|
+
| Azure OpenAI | ✅ | ✅ |
|
114
|
+
| Cohere | ✅ | ✅ |
|
115
|
+
| Groq | ✅ | ✅ |
|
116
|
+
| Perplexity | ✅ | ✅ |
|
117
|
+
| Gemini | ❌ | ✅ |
|
118
|
+
| Mistral | ❌ | ✅ |
|
119
|
+
| AWS Bedrock | ✅ | ✅ |
|
120
|
+
| Ollama | ❌ | ✅ |
|
121
|
+
| Cerebras | ❌ | ✅ |
|
122
|
+
|
123
|
+
### Frameworks
|
124
|
+
| Framework | TypeScript SDK | Python SDK |
|
125
|
+
|-----------|:-------------:|:----------:|
|
126
|
+
| Langchain | ❌ | ✅ |
|
127
|
+
| LlamaIndex | ✅ | ✅ |
|
128
|
+
| Langgraph | ❌ | ✅ |
|
129
|
+
| LiteLLM | ❌ | ✅ |
|
130
|
+
| DSPy | ❌ | ✅ |
|
131
|
+
| CrewAI | ❌ | ✅ |
|
132
|
+
| VertexAI | ✅ | ✅ |
|
133
|
+
| EmbedChain | ❌ | ✅ |
|
134
|
+
| Autogen | ❌ | ✅ |
|
135
|
+
| HiveAgent | ❌ | ✅ |
|
136
|
+
| Inspect AI | ❌ | ✅ |
|
137
|
+
|
138
|
+
### Vector Databases
|
139
|
+
| Database | TypeScript SDK | Python SDK |
|
140
|
+
|----------|:-------------:|:----------:|
|
141
|
+
| Pinecone | ✅ | ✅ |
|
142
|
+
| ChromaDB | ✅ | ✅ |
|
143
|
+
| QDrant | ✅ | ✅ |
|
144
|
+
| Weaviate | ✅ | ✅ |
|
145
|
+
| PGVector | ✅ | ✅ (SQLAlchemy) |
|
146
|
+
| MongoDB | ❌ | ✅ |
|
147
|
+
| Milvus | ❌ | ✅ |
|
148
|
+
|
149
|
+
## 🌐 Getting Started
|
150
|
+
|
151
|
+
### Langtrace Cloud ☁️
|
152
|
+
|
153
|
+
<!-- Original cloud setup instructions -->
|
154
|
+
1. Sign up by going to [this link](https://langtrace.ai).
|
155
|
+
2. Create a new Project after signing up. Projects are containers for storing traces and metrics generated by your application. If you have only one application, creating 1 project will do.
|
156
|
+
3. Generate an API key by going inside the project.
|
157
|
+
4. In your application, install the Langtrace SDK and initialize it with the API key you generated in the step 3.
|
158
|
+
5. The code for installing and setting up the SDK is shown below
|
159
|
+
|
160
|
+
### Framework Quick Starts
|
161
|
+
|
162
|
+
#### FastAPI
|
163
|
+
```python
|
164
|
+
from fastapi import FastAPI
|
165
|
+
from langtrace_python_sdk import langtrace
|
166
|
+
from openai import OpenAI
|
167
|
+
|
168
|
+
langtrace.init()
|
169
|
+
app = FastAPI()
|
170
|
+
client = OpenAI()
|
171
|
+
|
172
|
+
@app.get("/")
|
173
|
+
def root():
|
174
|
+
client.chat.completions.create(
|
175
|
+
model="gpt-4",
|
176
|
+
messages=[{"role": "user", "content": "Say this is a test"}],
|
177
|
+
stream=False,
|
178
|
+
)
|
179
|
+
return {"Hello": "World"}
|
180
|
+
```
|
181
|
+
|
182
|
+
#### Django
|
183
|
+
```python
|
184
|
+
# settings.py
|
185
|
+
from langtrace_python_sdk import langtrace
|
186
|
+
langtrace.init()
|
187
|
+
|
188
|
+
# views.py
|
189
|
+
from django.http import JsonResponse
|
190
|
+
from openai import OpenAI
|
191
|
+
|
192
|
+
client = OpenAI()
|
193
|
+
|
194
|
+
def chat_view(request):
|
195
|
+
response = client.chat.completions.create(
|
196
|
+
model="gpt-4",
|
197
|
+
messages=[{"role": "user", "content": request.GET.get('message', '')}]
|
198
|
+
)
|
199
|
+
return JsonResponse({"response": response.choices[0].message.content})
|
200
|
+
```
|
201
|
+
|
202
|
+
#### Flask
|
203
|
+
```python
|
204
|
+
from flask import Flask
|
205
|
+
from langtrace_python_sdk import langtrace
|
206
|
+
from openai import OpenAI
|
207
|
+
|
208
|
+
app = Flask(__name__)
|
209
|
+
langtrace.init()
|
210
|
+
client = OpenAI()
|
211
|
+
|
212
|
+
@app.route('/')
|
213
|
+
def chat():
|
214
|
+
response = client.chat.completions.create(
|
215
|
+
model="gpt-4",
|
216
|
+
messages=[{"role": "user", "content": "Hello!"}]
|
217
|
+
)
|
218
|
+
return {"response": response.choices[0].message.content}
|
219
|
+
```
|
220
|
+
|
221
|
+
#### LangChain
|
222
|
+
```python
|
223
|
+
from langtrace_python_sdk import langtrace
|
224
|
+
from langchain.chat_models import ChatOpenAI
|
225
|
+
from langchain.prompts import ChatPromptTemplate
|
226
|
+
|
227
|
+
langtrace.init()
|
228
|
+
|
229
|
+
# LangChain operations are automatically traced
|
230
|
+
chat = ChatOpenAI()
|
231
|
+
prompt = ChatPromptTemplate.from_messages([
|
232
|
+
("system", "You are a helpful assistant."),
|
233
|
+
("user", "{input}")
|
234
|
+
])
|
235
|
+
chain = prompt | chat
|
236
|
+
response = chain.invoke({"input": "Hello!"})
|
237
|
+
```
|
238
|
+
|
239
|
+
#### LlamaIndex
|
240
|
+
```python
|
241
|
+
from langtrace_python_sdk import langtrace
|
242
|
+
from llama_index import VectorStoreIndex, SimpleDirectoryReader
|
243
|
+
|
244
|
+
langtrace.init()
|
245
|
+
|
246
|
+
# Document loading and indexing are automatically traced
|
247
|
+
documents = SimpleDirectoryReader('data').load_data()
|
248
|
+
index = VectorStoreIndex.from_documents(documents)
|
249
|
+
|
250
|
+
# Queries are traced with metadata
|
251
|
+
query_engine = index.as_query_engine()
|
252
|
+
response = query_engine.query("What's in the documents?")
|
253
|
+
```
|
254
|
+
|
255
|
+
#### DSPy
|
256
|
+
```python
|
257
|
+
from langtrace_python_sdk import langtrace
|
258
|
+
import dspy
|
259
|
+
from dspy.teleprompt import BootstrapFewShot
|
260
|
+
|
261
|
+
langtrace.init()
|
262
|
+
|
263
|
+
# DSPy operations are automatically traced
|
264
|
+
lm = dspy.OpenAI(model="gpt-4")
|
265
|
+
dspy.settings.configure(lm=lm)
|
266
|
+
|
267
|
+
class SimpleQA(dspy.Signature):
|
268
|
+
"""Answer questions with short responses."""
|
269
|
+
question = dspy.InputField()
|
270
|
+
answer = dspy.OutputField(desc="short answer")
|
271
|
+
|
272
|
+
compiler = BootstrapFewShot(metric=dspy.metrics.Answer())
|
273
|
+
program = compiler.compile(SimpleQA)
|
274
|
+
```
|
275
|
+
|
276
|
+
#### CrewAI
|
277
|
+
```python
|
278
|
+
from langtrace_python_sdk import langtrace
|
279
|
+
from crewai import Agent, Task, Crew
|
280
|
+
|
281
|
+
langtrace.init()
|
282
|
+
|
283
|
+
# Agents and tasks are automatically traced
|
284
|
+
researcher = Agent(
|
285
|
+
role="Researcher",
|
286
|
+
goal="Research and analyze data",
|
287
|
+
backstory="Expert data researcher",
|
288
|
+
allow_delegation=False
|
289
|
+
)
|
290
|
+
|
291
|
+
task = Task(
|
292
|
+
description="Analyze market trends",
|
293
|
+
agent=researcher
|
294
|
+
)
|
295
|
+
|
296
|
+
crew = Crew(
|
297
|
+
agents=[researcher],
|
298
|
+
tasks=[task]
|
299
|
+
)
|
300
|
+
|
301
|
+
result = crew.kickoff()
|
302
|
+
```
|
303
|
+
|
304
|
+
For more detailed examples and framework-specific features, visit our [documentation](https://docs.langtrace.ai).
|
305
|
+
|
306
|
+
## ⚙️ Configuration
|
307
|
+
|
308
|
+
### Initialize Options
|
309
|
+
|
310
|
+
The SDK can be initialized with various configuration options to customize its behavior:
|
311
|
+
|
312
|
+
```python
|
313
|
+
langtrace.init(
|
314
|
+
api_key: Optional[str] = None, # API key for authentication
|
315
|
+
batch: bool = True, # Enable/disable batch processing
|
316
|
+
write_spans_to_console: bool = False, # Console logging
|
317
|
+
custom_remote_exporter: Optional[Any] = None, # Custom exporter
|
318
|
+
api_host: Optional[str] = None, # Custom API host
|
319
|
+
disable_instrumentations: Optional[Dict] = None, # Disable specific integrations
|
320
|
+
service_name: Optional[str] = None, # Custom service name
|
321
|
+
disable_logging: bool = False, # Disable all logging
|
322
|
+
headers: Dict[str, str] = {}, # Custom headers
|
323
|
+
)
|
324
|
+
```
|
325
|
+
|
326
|
+
#### Configuration Details
|
327
|
+
|
328
|
+
| Parameter | Type | Default Value | Description |
|
329
|
+
|-----------|------|---------------|-------------|
|
330
|
+
| `api_key` | `str` | `LANGTRACE_API_KEY` or `None` | The API key for authentication. Can be set via environment variable |
|
331
|
+
| `batch` | `bool` | `True` | Whether to batch spans before sending them to reduce API calls |
|
332
|
+
| `write_spans_to_console` | `bool` | `False` | Enable console logging for debugging purposes |
|
333
|
+
| `custom_remote_exporter` | `Optional[Exporter]` | `None` | Custom exporter for sending traces to your own backend |
|
334
|
+
| `api_host` | `Optional[str]` | `https://langtrace.ai/` | Custom API endpoint for self-hosted deployments |
|
335
|
+
| `disable_instrumentations` | `Optional[Dict]` | `None` | Disable specific vendor instrumentations (e.g., `{'only': ['openai']}`) |
|
336
|
+
| `service_name` | `Optional[str]` | `None` | Custom service name for trace identification |
|
337
|
+
| `disable_logging` | `bool` | `False` | Disable SDK logging completely |
|
338
|
+
| `headers` | `Dict[str, str]` | `{}` | Custom headers for API requests |
|
339
|
+
|
340
|
+
### Environment Variables
|
341
|
+
|
342
|
+
Configure Langtrace behavior using these environment variables:
|
343
|
+
|
344
|
+
| Variable | Description | Default | Impact |
|
345
|
+
|----------|-------------|---------|---------|
|
346
|
+
| `LANGTRACE_API_KEY` | Primary authentication method | Required* | Required if not passed to init() |
|
347
|
+
| `TRACE_PROMPT_COMPLETION_DATA` | Control prompt/completion tracing | `true` | Set to 'false' to opt out of prompt/completion data collection |
|
348
|
+
| `TRACE_DSPY_CHECKPOINT` | Control DSPy checkpoint tracing | `true` | Set to 'false' to disable checkpoint tracing |
|
349
|
+
| `LANGTRACE_ERROR_REPORTING` | Control error reporting | `true` | Set to 'false' to disable Sentry error reporting |
|
350
|
+
| `LANGTRACE_API_HOST` | Custom API endpoint | `https://langtrace.ai/` | Override default API endpoint for self-hosted deployments |
|
351
|
+
|
352
|
+
> **Performance Note**: Setting `TRACE_DSPY_CHECKPOINT=false` is recommended in production environments as checkpoint tracing involves state serialization which can impact latency.
|
353
|
+
|
354
|
+
> **Security Note**: When `TRACE_PROMPT_COMPLETION_DATA=false`, no prompt or completion data will be collected, ensuring sensitive information remains private.
|
355
|
+
|
356
|
+
## 🔧 Advanced Features
|
357
|
+
|
358
|
+
### Root Span Decorator
|
359
|
+
|
360
|
+
Use the root span decorator to create custom trace hierarchies:
|
361
|
+
|
362
|
+
```python
|
363
|
+
from langtrace_python_sdk import langtrace
|
364
|
+
|
365
|
+
@langtrace.with_langtrace_root_span(name="custom_operation")
|
366
|
+
def my_function():
|
367
|
+
# Your code here
|
368
|
+
pass
|
369
|
+
```
|
370
|
+
|
371
|
+
### Additional Attributes
|
372
|
+
|
373
|
+
Inject custom attributes into your traces:
|
374
|
+
|
375
|
+
```python
|
376
|
+
# Using decorator
|
377
|
+
@langtrace.with_additional_attributes({"custom_key": "custom_value"})
|
378
|
+
def my_function():
|
379
|
+
pass
|
380
|
+
|
381
|
+
# Using context manager
|
382
|
+
with langtrace.inject_additional_attributes({"custom_key": "custom_value"}):
|
383
|
+
# Your code here
|
384
|
+
pass
|
385
|
+
```
|
386
|
+
|
387
|
+
### Prompt Registry
|
388
|
+
|
389
|
+
Register and manage prompts for better traceability:
|
390
|
+
|
391
|
+
```python
|
392
|
+
from langtrace_python_sdk import langtrace
|
393
|
+
|
394
|
+
# Register a prompt template
|
395
|
+
langtrace.register_prompt("greeting", "Hello, {name}!")
|
396
|
+
|
397
|
+
# Use registered prompt
|
398
|
+
response = client.chat.completions.create(
|
399
|
+
model="gpt-4",
|
400
|
+
messages=[{"role": "user", "content": langtrace.get_prompt("greeting", name="Alice")}]
|
401
|
+
)
|
402
|
+
```
|
403
|
+
|
404
|
+
### User Feedback System
|
405
|
+
|
406
|
+
Collect and analyze user feedback:
|
407
|
+
|
408
|
+
```python
|
409
|
+
from langtrace_python_sdk import langtrace
|
410
|
+
|
411
|
+
# Record user feedback for a trace
|
412
|
+
langtrace.record_feedback(
|
413
|
+
trace_id="your_trace_id",
|
414
|
+
rating=5,
|
415
|
+
feedback_text="Great response!",
|
416
|
+
metadata={"user_id": "123"}
|
417
|
+
)
|
418
|
+
```
|
419
|
+
|
420
|
+
### DSPy Checkpointing
|
421
|
+
|
422
|
+
Manage DSPy checkpoints for workflow tracking:
|
423
|
+
|
424
|
+
```python
|
425
|
+
from langtrace_python_sdk import langtrace
|
426
|
+
|
427
|
+
# Enable checkpoint tracing (disabled by default in production)
|
428
|
+
langtrace.init(
|
429
|
+
api_key="your_api_key",
|
430
|
+
dspy_checkpoint_tracing=True
|
431
|
+
)
|
432
|
+
```
|
433
|
+
|
434
|
+
### Vector Database Operations
|
435
|
+
|
436
|
+
Track vector database operations:
|
437
|
+
|
438
|
+
```python
|
439
|
+
from langtrace_python_sdk import langtrace
|
440
|
+
|
441
|
+
# Vector operations are automatically traced
|
442
|
+
with langtrace.inject_additional_attributes({"operation_type": "similarity_search"}):
|
443
|
+
results = vector_db.similarity_search("query", k=5)
|
444
|
+
```
|
445
|
+
|
446
|
+
For more detailed examples and use cases, visit our [documentation](https://docs.langtrace.ai).
|
447
|
+
|
448
|
+
<!-- Will be expanded in step 007 with comprehensive documentation of advanced features -->
|
449
|
+
|
450
|
+
## 📐 Examples
|
451
|
+
|
452
|
+
<!-- Will be added in step 008: Framework-specific examples and usage patterns -->
|
453
|
+
|
454
|
+
## 🏠 Langtrace Self Hosted
|
455
|
+
|
456
|
+
<!-- Original self-hosted documentation -->
|
457
|
+
Get started with self-hosted Langtrace:
|
458
|
+
|
459
|
+
```python
|
460
|
+
from langtrace_python_sdk import langtrace
|
461
|
+
langtrace.init(write_spans_to_console=True) # For console logging
|
462
|
+
# OR
|
463
|
+
langtrace.init(custom_remote_exporter=<your_exporter>, batch=<True or False>) # For custom exporter
|
464
|
+
```
|
465
|
+
|
466
|
+
## 🤝 Contributing
|
467
|
+
|
468
|
+
We welcome contributions! To get started:
|
469
|
+
|
470
|
+
1. Fork this repository and start developing
|
471
|
+
2. Join our [Discord](https://discord.langtrace.ai) workspace
|
472
|
+
3. Run examples:
|
473
|
+
```python
|
474
|
+
# In run_example.py, set ENABLED_EXAMPLES flag to True for desired example
|
475
|
+
python src/run_example.py
|
476
|
+
```
|
477
|
+
4. Run tests:
|
478
|
+
```python
|
479
|
+
pip install '.[test]' && pip install '.[dev]'
|
480
|
+
pytest -v
|
481
|
+
```
|
482
|
+
|
483
|
+
## 🔒 Security
|
484
|
+
|
485
|
+
To report security vulnerabilities, email us at <security@scale3labs.com>. You can read more on security [here](https://github.com/Scale3-Labs/langtrace/blob/development/SECURITY.md).
|
486
|
+
|
487
|
+
## ❓ Frequently Asked Questions
|
488
|
+
|
489
|
+
<!-- Will be populated during content addition steps -->
|
490
|
+
|
491
|
+
## 📜 License
|
492
|
+
|
493
|
+
Langtrace Python SDK is licensed under the Apache 2.0 License. You can read about this license [here](https://www.apache.org/licenses/LICENSE-2.0).
|