ragaai-catalyst 2.1.7b1__tar.gz → 2.1.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.github/workflows/ci.yml +2 -0
  2. {ragaai_catalyst-2.1.7b1/ragaai_catalyst.egg-info → ragaai_catalyst-2.1.7.1}/PKG-INFO +3 -3
  3. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/crewai/scifi_writer/scifi_writer.py +5 -5
  4. {ragaai_catalyst-2.1.7b1/tests → ragaai_catalyst-2.1.7.1}/examples/custom_agents/travel_agent/config.py +2 -1
  5. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/haystack/news_fetching/news_fetching.py +5 -5
  6. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/diagnosis_agent.py +8 -7
  7. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langgraph/personal_research_assistant/research_assistant.py +5 -5
  8. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/legal_rag.py +5 -5
  9. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +5 -5
  10. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/pyproject.toml +10 -3
  11. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +15 -2
  12. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +29 -4
  13. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/tracer.py +58 -12
  14. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/rag_trace_json_converter.py +5 -3
  15. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1/ragaai_catalyst.egg-info}/PKG-INFO +3 -3
  16. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst.egg-info/SOURCES.txt +2 -2
  17. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst.egg-info/requires.txt +1 -1
  18. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1/tests}/examples/all_llm_provider/config.py +10 -7
  19. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/crewai/scifi_writer/scifi_writer.py +2 -2
  20. ragaai_catalyst-2.1.7.1/tests/examples/custom_agents/travel_agent/config.py +24 -0
  21. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/haystack/news_fetching/news_fetching.py +2 -2
  22. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langchain/medical_rag/diagnosis_agent.py +2 -2
  23. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langgraph/personal_research_assistant/research_assistant.py +2 -2
  24. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/llamaindex_examples/legal_research_rag/legal_rag.py +2 -2
  25. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +2 -2
  26. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/test_utils/get_trace_data.py +5 -3
  27. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_evaluation.py +6 -60
  28. ragaai_catalyst-2.1.7.1/tests/test_catalyst/test_synthetic_data_generation.py +54 -0
  29. ragaai_catalyst-2.1.7.1/tests_requirements.txt +14 -0
  30. ragaai_catalyst-2.1.7b1/examples/custom_agents/travel_agent/config.py +0 -24
  31. ragaai_catalyst-2.1.7b1/tests/test_catalyst/test_openinference_langchain.py +0 -562
  32. ragaai_catalyst-2.1.7b1/tests/test_catalyst/test_synthetic_data_generation.py +0 -158
  33. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  34. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  35. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  36. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.gitignore +0 -0
  37. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/.gitmodules +0 -0
  38. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/LICENSE +0 -0
  39. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/README.md +0 -0
  40. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/dataset_management.md +0 -0
  41. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/autheticate.gif +0 -0
  42. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/create_project.gif +0 -0
  43. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/custom_metrics.png +0 -0
  44. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/dataset.gif +0 -0
  45. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/dataset.png +0 -0
  46. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/evaluation.gif +0 -0
  47. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/evaluation.png +0 -0
  48. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/guardrails.png +0 -0
  49. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/last_main.png +0 -0
  50. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/main.png +0 -0
  51. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/projects_new.png +0 -0
  52. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/img/trace_comp.png +0 -0
  53. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/prompt_management.md +0 -0
  54. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/docs/trace_management.md +0 -0
  55. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/all_llm_provider/all_llm_provider.py +0 -0
  56. {ragaai_catalyst-2.1.7b1/tests → ragaai_catalyst-2.1.7.1}/examples/all_llm_provider/config.py +3 -3
  57. /ragaai_catalyst-2.1.7b1/examples/all_llm_provider/test_llm_call_utils.py → /ragaai_catalyst-2.1.7.1/examples/all_llm_provider/run_all_llm_provider.py +0 -0
  58. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/crewai/scifi_writer/README.md +0 -0
  59. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/crewai/scifi_writer/requirements.txt +0 -0
  60. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/crewai/scifi_writer/sample.env +0 -0
  61. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/custom_agents/travel_agent/agents.py +0 -0
  62. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/custom_agents/travel_agent/main.py +0 -0
  63. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/custom_agents/travel_agent/tools.py +0 -0
  64. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/haystack/news_fetching/README.md +0 -0
  65. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/haystack/news_fetching/requirements.txt +0 -0
  66. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  67. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  68. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  69. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/requirements.txt +0 -0
  70. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langchain/medical_rag/sample.env +0 -0
  71. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langgraph/personal_research_assistant/README.md +0 -0
  72. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langgraph/personal_research_assistant/requirements.txt +0 -0
  73. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/langgraph/personal_research_assistant/sample.env +0 -0
  74. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  75. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  76. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  77. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/requirements.txt +0 -0
  78. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/llamaindex_examples/legal_research_rag/sample.env +0 -0
  79. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/email_data_extraction_agent/README.md +0 -0
  80. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/email_data_extraction_agent/data_extraction_email.py +0 -0
  81. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/email_data_extraction_agent/requirements.txt +0 -0
  82. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/email_data_extraction_agent/sample.env +0 -0
  83. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/youtube_summary_agent/README.md +0 -0
  84. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/youtube_summary_agent/requirements.txt +0 -0
  85. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/youtube_summary_agent/sample.env +0 -0
  86. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/openai_agents_sdk/youtube_summary_agent/youtube_summary_agent.py +0 -0
  87. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/pii_masking_example/llamaindex_agentic_fastapi/app.py +0 -0
  88. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/pii_masking_example/llamaindex_agentic_fastapi/app_presidio.py +0 -0
  89. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/pii_masking_example/llamaindex_agentic_fastapi/request.py +0 -0
  90. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/pii_masking_example/llamaindex_agentic_fastapi/requirements.txt +0 -0
  91. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/smolagents/most_upvoted_paper/README.md +0 -0
  92. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/smolagents/most_upvoted_paper/requirements.txt +0 -0
  93. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/examples/smolagents/most_upvoted_paper/sample.env +0 -0
  94. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/__init__.py +0 -0
  95. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/_version.py +0 -0
  96. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/dataset.py +0 -0
  97. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/evaluation.py +0 -0
  98. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/experiment.py +0 -0
  99. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/guard_executor.py +0 -0
  100. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/guardrails_manager.py +0 -0
  101. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/internal_api_completion.py +0 -0
  102. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/prompt_manager.py +0 -0
  103. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/proxy_call.py +0 -0
  104. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/ragaai_catalyst.py +0 -0
  105. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/__init__.py +0 -0
  106. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/config/detectors.toml +0 -0
  107. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/data_generator/scenario_generator.py +0 -0
  108. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/data_generator/test_case_generator.py +0 -0
  109. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/evaluator.py +0 -0
  110. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/llm_generator.py +0 -0
  111. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/llm_generator_old.py +0 -0
  112. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/red_teaming.py +0 -0
  113. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/requirements.txt +0 -0
  114. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/tests/grok.ipynb +0 -0
  115. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/tests/stereotype.ipynb +0 -0
  116. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/upload_result.py +0 -0
  117. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/utils/issue_description.py +0 -0
  118. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming/utils/rt.png +0 -0
  119. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/redteaming_old.py +0 -0
  120. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/synthetic_data_generation.py +0 -0
  121. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/__init__.py +0 -0
  122. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/README.md +0 -0
  123. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/__init__.py +0 -0
  124. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/data/__init__.py +0 -0
  125. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +0 -0
  126. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/FinancialAnalysisSystem.ipynb +0 -0
  127. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/GameActivityEventPlanner.ipynb +0 -0
  128. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/TravelPlanner.ipynb +0 -0
  129. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/__init__.py +0 -0
  130. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py +0 -0
  131. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py +0 -0
  132. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/__init__.py +0 -0
  133. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +0 -0
  134. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +0 -0
  135. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +0 -0
  136. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  137. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +0 -0
  138. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +0 -0
  139. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +0 -0
  140. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +0 -0
  141. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +0 -0
  142. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/__init__.py +0 -0
  143. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +0 -0
  144. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +0 -0
  145. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +0 -0
  146. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py +0 -0
  147. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py +0 -0
  148. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +0 -0
  149. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +0 -0
  150. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +0 -0
  151. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py +0 -0
  152. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/generic.py +0 -0
  153. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +0 -0
  154. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +0 -0
  155. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +0 -0
  156. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +0 -0
  157. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml +0 -0
  158. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py +0 -0
  159. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +0 -0
  160. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py +0 -0
  161. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +0 -0
  162. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/distributed.py +0 -0
  163. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/exporters/__init__.py +0 -0
  164. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/exporters/file_span_exporter.py +0 -0
  165. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/exporters/raga_exporter.py +0 -0
  166. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/instrumentators/__init__.py +0 -0
  167. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/langchain_callback.py +0 -0
  168. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/llamaindex_callback.py +0 -0
  169. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/llamaindex_instrumentation.py +0 -0
  170. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/upload_traces.py +0 -0
  171. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/__init__.py +0 -0
  172. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py +0 -0
  173. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py +0 -0
  174. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py +0 -0
  175. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py +0 -0
  176. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +0 -0
  177. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/trace_json_converter.py +0 -0
  178. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/tracers/utils/utils.py +0 -0
  179. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst/utils.py +0 -0
  180. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst.egg-info/dependency_links.txt +0 -0
  181. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/ragaai_catalyst.egg-info/top_level.txt +0 -0
  182. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/requirements.txt +0 -0
  183. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/setup.cfg +0 -0
  184. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/test_report_20250407_183101.txt +0 -0
  185. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/README.md +0 -0
  186. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/environment.yml +0 -0
  187. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/__init__.py +0 -0
  188. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/all_llm_provider/all_llm_provider.py +0 -0
  189. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/all_llm_provider/test_all_llm_provider.py +0 -0
  190. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/crewai/scifi_writer/sci_fi_story.md +0 -0
  191. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/crewai/scifi_writer/test_scifi_writer.py +0 -0
  192. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/custom_agents/travel_agent/agents.py +0 -0
  193. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/custom_agents/travel_agent/main.py +0 -0
  194. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/custom_agents/travel_agent/test_travel_agent.py +0 -0
  195. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/custom_agents/travel_agent/tools.py +0 -0
  196. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/haystack/news_fetching/test_news_fetching.py +0 -0
  197. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  198. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  199. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  200. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langchain/medical_rag/test_diagnosis_agent.py +0 -0
  201. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/langgraph/personal_research_assistant/test_research_assistant.py +0 -0
  202. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  203. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  204. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  205. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/llamaindex_examples/legal_research_rag/test_legal_rag.py +0 -0
  206. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/smolagents/most_upvoted_paper/paper.pdf +0 -0
  207. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/smolagents/most_upvoted_paper/test_most_upvoted_paper.py +0 -0
  208. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/examples/test_utils/get_components.py +0 -0
  209. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/run_pytest_and_print_and_save_results.py +0 -0
  210. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/table_result.png +0 -0
  211. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_base_tracer_add_metrics.py +0 -0
  212. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_base_tracer_metrics.py +0 -0
  213. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_data/util_synthetic_data_doc.pdf +0 -0
  214. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_data/util_synthetic_data_invalid.csv +0 -0
  215. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_data/util_synthetic_data_valid.csv +0 -0
  216. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_data/util_test_dataset.csv +0 -0
  217. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_data/util_test_langchain_tracing.pdf +0 -0
  218. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_dataset.py +0 -0
  219. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_evaluation_metrics.py +0 -0
  220. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_prompt_manager.py +0 -0
  221. {ragaai_catalyst-2.1.7b1 → ragaai_catalyst-2.1.7.1}/tests/test_catalyst/test_the_configuration.py +0 -0
@@ -59,11 +59,13 @@ jobs:
59
59
  if [ "$RUNNER_OS" == "Windows" ]; then
60
60
  python -m pip install --upgrade pip
61
61
  pip install pytest pytest-cov
62
+ pip install -r tests_requirements.txt
62
63
  pip install -e ".[dev]"
63
64
  else
64
65
  curl -LsSf https://astral.sh/uv/install.sh | sh
65
66
  export PATH="$HOME/.cargo/bin:$PATH"
66
67
  uv pip install --system pytest pytest-cov
68
+ uv pip install --system -r tests_requirements.txt
67
69
  uv pip install --system -e ".[dev]"
68
70
  fi
69
71
  - name: Test with pytest
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.7b1
3
+ Version: 2.1.7.1
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>
6
- Requires-Python: <3.13,>=3.10
6
+ Requires-Python: <=3.13.2,>=3.10
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Requires-Dist: aiohttp>=3.10.2
@@ -45,7 +45,7 @@ Requires-Dist: opentelemetry-sdk
45
45
  Requires-Dist: opentelemetry-exporter-otlp
46
46
  Requires-Dist: opentelemetry-proto>=1.12.0
47
47
  Provides-Extra: dev
48
- Requires-Dist: pytest; extra == "dev"
48
+ Requires-Dist: pytest>=8.3.5; extra == "dev"
49
49
  Requires-Dist: pytest-cov; extra == "dev"
50
50
  Requires-Dist: black; extra == "dev"
51
51
  Requires-Dist: isort; extra == "dev"
@@ -10,14 +10,14 @@ from ragaai_catalyst.tracers import Tracer
10
10
  load_dotenv()
11
11
 
12
12
  catalyst = RagaAICatalyst(
13
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
14
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
15
- base_url=os.getenv('CATALYST_BASE_URL')
13
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
14
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
15
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
16
16
  )
17
17
 
18
18
  tracer = Tracer(
19
- project_name=os.getenv('PROJECT_NAME'),
20
- dataset_name=os.getenv('DATASET_NAME'),
19
+ project_name=os.getenv('RAGAAI_PROJECT_NAME'),
20
+ dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
21
21
  tracer_type="agentic/crewai",
22
22
  )
23
23
  init_tracing(catalyst=catalyst, tracer=tracer)
@@ -1,7 +1,8 @@
1
1
  import sys
2
2
  import os
3
3
  from dotenv import load_dotenv
4
- sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../..')))
4
+ load_dotenv()
5
+
5
6
  from ragaai_catalyst import RagaAICatalyst, init_tracing
6
7
  from ragaai_catalyst.tracers import Tracer
7
8
  import uuid
@@ -21,14 +21,14 @@ load_dotenv()
21
21
 
22
22
  # Setup Raga AI Catalyst for enhanced monitoring and tracing
23
23
  catalyst = RagaAICatalyst(
24
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
25
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
26
- base_url=os.getenv('CATALYST_BASE_URL')
24
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
25
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
26
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
27
27
  )
28
28
 
29
29
  tracer = Tracer(
30
- project_name=os.getenv('PROJECT_NAME'),
31
- dataset_name=os.getenv('DATASET_NAME'),
30
+ project_name=os.getenv('RAGAAI_PROJECT_NAME'),
31
+ dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
32
32
  tracer_type="agentic/haystack",
33
33
  )
34
34
 
@@ -18,20 +18,21 @@ from dotenv import load_dotenv
18
18
  load_dotenv()
19
19
 
20
20
  catalyst = RagaAICatalyst(
21
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
22
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
23
- base_url=os.getenv('CATALYST_BASE_URL')
21
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
22
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
23
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
24
24
  )
25
25
  tracer = Tracer(
26
- project_name=os.environ['PROJECT_NAME'],
27
- dataset_name=os.environ['DATASET_NAME'],
26
+ project_name=os.environ['RAGAAI_PROJECT_NAME'],
27
+ dataset_name=os.environ['RAGAAI_DATASET_NAME'],
28
28
  tracer_type="agentic/langchain",
29
29
  )
30
30
 
31
31
  init_tracing(catalyst=catalyst, tracer=tracer)
32
32
 
33
- MEDICAL_TEXTS_DIR = "data/medical_texts"
34
- SYMPTOM_MAP_CSV = "data/symptom_disease_map.csv"
33
+ DIR_PATH = os.path.dirname(os.path.abspath(__file__))
34
+ MEDICAL_TEXTS_DIR = os.path.join(DIR_PATH, "data", "medical_texts")
35
+ SYMPTOM_MAP_CSV = os.path.join(DIR_PATH, "data", "symptom_disease_map.csv")
35
36
  EMBEDDINGS_MODEL = "all-MiniLM-L6-v2"
36
37
  MODEL_TYPE = "openai"
37
38
 
@@ -20,14 +20,14 @@ from ragaai_catalyst.tracers import Tracer
20
20
  def initialize_catalyst():
21
21
  """Initialize RagaAI Catalyst using environment credentials."""
22
22
  catalyst = RagaAICatalyst(
23
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
24
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
25
- base_url=os.getenv('CATALYST_BASE_URL')
23
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
24
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
25
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
26
26
  )
27
27
 
28
28
  tracer = Tracer(
29
- project_name=os.environ['PROJECT_NAME'],
30
- dataset_name=os.environ['DATASET_NAME'],
29
+ project_name=os.environ['RAGAAI_PROJECT_NAME'],
30
+ dataset_name=os.environ['RAGAAI_DATASET_NAME'],
31
31
  tracer_type="agentic/langgraph",
32
32
  )
33
33
 
@@ -17,14 +17,14 @@ load_dotenv()
17
17
 
18
18
 
19
19
  catalyst = RagaAICatalyst(
20
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
21
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
22
- base_url=os.getenv('CATALYST_BASE_URL')
20
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
21
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
22
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
23
23
  )
24
24
  # Initialize tracer
25
25
  tracer = Tracer(
26
- project_name=os.getenv('PROJECT_NAME'),
27
- dataset_name=os.getenv('DATASET_NAME'),
26
+ project_name=os.getenv('RAGAAI_PROJECT_NAME'),
27
+ dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
28
28
  tracer_type="agentic/llamaindex",
29
29
  )
30
30
 
@@ -26,14 +26,14 @@ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../.
26
26
  from ragaai_catalyst import RagaAICatalyst, Tracer, init_tracing
27
27
 
28
28
  catalyst = RagaAICatalyst(
29
- access_key=os.getenv('CATALYST_ACCESS_KEY'),
30
- secret_key=os.getenv('CATALYST_SECRET_KEY'),
31
- base_url=os.getenv('CATALYST_BASE_URL'),
29
+ access_key=os.getenv('RAGAAI_CATALYST_ACCESS_KEY'),
30
+ secret_key=os.getenv('RAGAAI_CATALYST_SECRET_KEY'),
31
+ base_url=os.getenv('RAGAAI_CATALYST_BASE_URL'),
32
32
  )
33
33
 
34
34
  tracer = Tracer(
35
- project_name=os.getenv('PROJECT_NAME'),
36
- dataset_name=os.getenv('DATASET_NAME'),
35
+ project_name=os.getenv('RAGAAI_PROJECT_NAME'),
36
+ dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
37
37
  tracer_type="agentic/smolagents",
38
38
  )
39
39
 
@@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta"
6
6
  name = "ragaai_catalyst"
7
7
  description = "RAGA AI CATALYST"
8
8
  readme = "README.md"
9
- requires-python = ">=3.10,<3.13"
9
+ requires-python = ">=3.10,<=3.13.2"
10
10
  # license = {file = "LICENSE"}
11
- version = "2.1.7.beta.1"
11
+ version = "2.1.7.1"
12
12
  authors = [
13
13
  {name = "Kiran Scaria", email = "kiran.scaria@raga.ai"},
14
14
  {name = "Kedar Gaikwad", email = "kedar.gaikwad@raga.ai"},
@@ -61,7 +61,14 @@ dependencies = [
61
61
  ]
62
62
 
63
63
  [project.optional-dependencies]
64
- dev = ["pytest", "pytest-cov", "black", "isort", "mypy", "flake8"]
64
+ dev = [
65
+ "pytest>=8.3.5",
66
+ "pytest-cov",
67
+ "black",
68
+ "isort",
69
+ "mypy",
70
+ "flake8"
71
+ ]
65
72
 
66
73
  [tool.setuptools]
67
74
  packages = ["ragaai_catalyst"]
@@ -14,7 +14,7 @@ class DynamicTraceExporter(SpanExporter):
14
14
  certain properties to be updated dynamically during execution.
15
15
  """
16
16
 
17
- def __init__(self, tracer_type, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120, post_processor = None, max_upload_workers = 30):
17
+ def __init__(self, tracer_type, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120, post_processor = None, max_upload_workers = 30,user_context = None, external_id=None):
18
18
  """
19
19
  Initialize the DynamicTraceExporter.
20
20
 
@@ -40,7 +40,9 @@ class DynamicTraceExporter(SpanExporter):
40
40
  custom_model_cost=custom_model_cost,
41
41
  timeout=timeout,
42
42
  post_processor= post_processor,
43
- max_upload_workers = max_upload_workers
43
+ max_upload_workers = max_upload_workers,
44
+ user_context = user_context,
45
+ external_id=external_id
44
46
  )
45
47
 
46
48
  # Store the initial values
@@ -53,6 +55,7 @@ class DynamicTraceExporter(SpanExporter):
53
55
  self._custom_model_cost = custom_model_cost
54
56
  self._post_processor = post_processor
55
57
  self._max_upload_workers = max_upload_workers
58
+ self._user_context = user_context
56
59
 
57
60
 
58
61
  def export(self, spans):
@@ -111,6 +114,7 @@ class DynamicTraceExporter(SpanExporter):
111
114
  self._exporter.custom_model_cost = self._custom_model_cost
112
115
  self._exporter.post_processor = self._post_processor
113
116
  self._exporter.max_upload_workers = self._max_upload_workers
117
+ self._exporter.user_context = self._user_context
114
118
 
115
119
  # Getter and setter methods for dynamic properties
116
120
 
@@ -177,3 +181,12 @@ class DynamicTraceExporter(SpanExporter):
177
181
  @max_upload_workers.setter
178
182
  def max_upload_workers(self, value):
179
183
  self._max_upload_workers = value
184
+
185
+ @property
186
+ def user_context(self):
187
+ return self._user_context
188
+
189
+ @user_context.setter
190
+ def user_context(self, value):
191
+ self._user_context = value
192
+
@@ -26,7 +26,7 @@ logging_level = (
26
26
 
27
27
 
28
28
  class RAGATraceExporter(SpanExporter):
29
- def __init__(self, tracer_type, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120, post_processor = None, max_upload_workers = 30):
29
+ def __init__(self, tracer_type, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120, post_processor = None, max_upload_workers = 30,user_context = None, external_id=None):
30
30
  self.trace_spans = dict()
31
31
  self.tmp_dir = tempfile.gettempdir()
32
32
  self.tracer_type = tracer_type
@@ -41,6 +41,8 @@ class RAGATraceExporter(SpanExporter):
41
41
  self.timeout = timeout
42
42
  self.post_processor = post_processor
43
43
  self.max_upload_workers = max_upload_workers
44
+ self.user_context = user_context
45
+ self.external_id = external_id
44
46
 
45
47
  def export(self, spans):
46
48
  for span in spans:
@@ -86,12 +88,33 @@ class RAGATraceExporter(SpanExporter):
86
88
  ragaai_trace_details = self.prepare_trace(spans, trace_id)
87
89
  except Exception as e:
88
90
  print(f"Error converting trace {trace_id}: {e}")
91
+ return # Exit early if conversion fails
92
+
93
+ # Check if trace details are None (conversion failed)
94
+ if ragaai_trace_details is None:
95
+ logger.error(f"Cannot upload trace {trace_id}: conversion failed and returned None")
96
+ return # Exit early if conversion failed
97
+
89
98
  # Upload the trace if upload_trace function is provided
90
99
  try:
91
100
  if self.post_processor!=None:
92
101
  ragaai_trace_details['trace_file_path'] = self.post_processor(ragaai_trace_details['trace_file_path'])
93
102
  if self.tracer_type == "langchain":
94
- asyncio.run(self.upload_rag_trace(ragaai_trace_details, additional_metadata, trace_id))
103
+ # Check if we're already in an event loop
104
+ try:
105
+ loop = asyncio.get_event_loop()
106
+ if loop.is_running():
107
+ # We're in a running event loop (like in Colab/Jupyter)
108
+ # Create a future and run the coroutine
109
+ future = asyncio.ensure_future(self.upload_rag_trace(ragaai_trace_details, additional_metadata, trace_id))
110
+ # We don't wait for it to complete as this would block the event loop
111
+ logger.info(f"Scheduled async upload for trace {trace_id} in existing event loop")
112
+ else:
113
+ # No running event loop, use asyncio.run()
114
+ asyncio.run(self.upload_rag_trace(ragaai_trace_details, additional_metadata, trace_id))
115
+ except RuntimeError:
116
+ # No event loop exists, create one
117
+ asyncio.run(self.upload_rag_trace(ragaai_trace_details, additional_metadata, trace_id))
95
118
  else:
96
119
  self.upload_trace(ragaai_trace_details, trace_id)
97
120
  except Exception as e:
@@ -185,10 +208,12 @@ class RAGATraceExporter(SpanExporter):
185
208
 
186
209
  async def upload_rag_trace(self, ragaai_trace, additional_metadata, trace_id):
187
210
  try:
211
+ ragaai_trace[0]['external_id'] = self.external_id
188
212
  trace_file_path = os.path.join(self.tmp_dir, f"{trace_id}.json")
189
213
  with open(trace_file_path, 'w') as f:
190
214
  json.dump(ragaai_trace, f, indent=2)
191
-
215
+ logger.info(f"Trace file saved at {trace_file_path}")
216
+
192
217
  # Create a ThreadPoolExecutor with max_workers=30
193
218
  with concurrent.futures.ThreadPoolExecutor(max_workers=self.max_upload_workers) as executor:
194
219
  # Create a partial function with all the necessary arguments
@@ -233,7 +258,7 @@ class RAGATraceExporter(SpanExporter):
233
258
 
234
259
  def prepare_rag_trace(self, spans, trace_id):
235
260
  try:
236
- ragaai_trace, additional_metadata = rag_trace_json_converter(spans, self.custom_model_cost, trace_id, self.user_details, self.tracer_type)
261
+ ragaai_trace, additional_metadata = rag_trace_json_converter(spans, self.custom_model_cost, trace_id, self.user_details, self.tracer_type,self.user_context)
237
262
  ragaai_trace["metadata"]["recorded_on"] = datetime.datetime.now().astimezone().isoformat()
238
263
  ragaai_trace["metadata"]["log_source"] = "langchain_tracer"
239
264
 
@@ -24,6 +24,7 @@ from ragaai_catalyst.tracers.exporters.raga_exporter import RagaExporter
24
24
  from ragaai_catalyst.tracers.utils import get_unique_key
25
25
  # from ragaai_catalyst.tracers.llamaindex_callback import LlamaIndexTracer
26
26
  from ragaai_catalyst.tracers.llamaindex_instrumentation import LlamaIndexInstrumentationTracer
27
+ from openinference.instrumentation.langchain import LangChainInstrumentor
27
28
  from ragaai_catalyst import RagaAICatalyst
28
29
  from ragaai_catalyst.tracers.agentic_tracing import AgenticTracing
29
30
  from ragaai_catalyst.tracers.agentic_tracing.tracers.llm_tracer import LLMTracerMixin
@@ -59,7 +60,8 @@ class Tracer(AgenticTracing):
59
60
  },
60
61
  interval_time=2,
61
62
  # auto_instrumentation=True/False # to control automatic instrumentation of everything
62
- max_upload_workers=30
63
+ max_upload_workers=30,
64
+ external_id=None
63
65
 
64
66
  ):
65
67
  """
@@ -143,6 +145,10 @@ class Tracer(AgenticTracing):
143
145
  self.file_tracker = TrackName()
144
146
  self.post_processor = None
145
147
  self.max_upload_workers = max_upload_workers
148
+ self.user_details = self._pass_user_data()
149
+ self.update_llm_cost = update_llm_cost
150
+ self.auto_instrumentation = auto_instrumentation
151
+ self.external_id = external_id
146
152
 
147
153
  try:
148
154
  response = requests.get(
@@ -460,6 +466,30 @@ class Tracer(AgenticTracing):
460
466
  self.dynamic_exporter._exporter.post_processor = post_processor_func
461
467
  self.dynamic_exporter._post_processor = post_processor_func
462
468
  logger.info("Registered post process as: "+str(post_processor_func))
469
+
470
+
471
+ def set_external_id(self, external_id):
472
+ current_params = {
473
+ 'project_name': self.project_name,
474
+ 'dataset_name': self.dataset_name,
475
+ 'trace_name': self.trace_name,
476
+ 'tracer_type': self.tracer_type,
477
+ 'pipeline': self.pipeline,
478
+ 'metadata': self.metadata,
479
+ 'description': self.description,
480
+ 'timeout': self.timeout,
481
+ 'update_llm_cost': self.update_llm_cost,
482
+ 'auto_instrumentation': self.auto_instrumentation,
483
+ 'interval_time': self.interval_time,
484
+ 'max_upload_workers': self.max_upload_workers
485
+ }
486
+
487
+ # Reinitialize self with new external_id and stored parameters
488
+ self.__init__(
489
+ external_id=external_id,
490
+ **current_params
491
+ )
492
+
463
493
 
464
494
 
465
495
  def set_dataset_name(self, dataset_name):
@@ -485,15 +515,20 @@ class Tracer(AgenticTracing):
485
515
  # Also update the user_details in the dynamic exporter
486
516
  self.dynamic_exporter.user_details = self.user_details
487
517
  else:
488
- # Store current parameters
489
518
  current_params = {
490
- 'project_name': self.project_name,
491
- 'tracer_type': self.tracer_type,
492
- 'pipeline': self.pipeline,
493
- 'metadata': self.metadata,
494
- 'description': self.description,
495
- 'timeout': self.timeout
496
- }
519
+ 'project_name': self.project_name,
520
+ 'trace_name': self.trace_name,
521
+ 'tracer_type': self.tracer_type,
522
+ 'pipeline': self.pipeline,
523
+ 'metadata': self.metadata,
524
+ 'description': self.description,
525
+ 'timeout': self.timeout,
526
+ 'update_llm_cost': self.update_llm_cost,
527
+ 'auto_instrumentation': self.auto_instrumentation,
528
+ 'interval_time': self.interval_time,
529
+ 'max_upload_workers': self.max_upload_workers,
530
+ 'external_id': self.external_id
531
+ }
497
532
 
498
533
  # Reinitialize self with new dataset_name and stored parameters
499
534
  self.__init__(
@@ -503,7 +538,7 @@ class Tracer(AgenticTracing):
503
538
 
504
539
  def _improve_metadata(self, metadata, tracer_type):
505
540
  if metadata is None:
506
- metadata = {}
541
+ metadata = {"metadata": {}}
507
542
  metadata.setdefault("log_source", f"{tracer_type}_tracer")
508
543
  metadata.setdefault("recorded_on", str(datetime.datetime.now()))
509
544
  return metadata
@@ -766,7 +801,9 @@ class Tracer(AgenticTracing):
766
801
  custom_model_cost=self.model_custom_cost,
767
802
  timeout = self.timeout,
768
803
  post_processor= self.post_processor,
769
- max_upload_workers = self.max_upload_workers
804
+ max_upload_workers = self.max_upload_workers,
805
+ user_context = self.user_context,
806
+ external_id=self.external_id
770
807
  )
771
808
 
772
809
  # Set up tracer provider
@@ -775,7 +812,15 @@ class Tracer(AgenticTracing):
775
812
 
776
813
  # Instrument all specified instrumentors
777
814
  for instrumentor_class, args in instrumentors:
778
- instrumentor_class().instrument(tracer_provider=tracer_provider, *args)
815
+ # Create an instance of the instrumentor
816
+ instrumentor = instrumentor_class()
817
+
818
+ # Uninstrument only if it is already instrumented
819
+ if isinstance(instrumentor, LangChainInstrumentor) and instrumentor._is_instrumented_by_opentelemetry:
820
+ instrumentor.uninstrument()
821
+
822
+ # Instrument with the provided tracer provider and arguments
823
+ instrumentor.instrument(tracer_provider=tracer_provider, *args)
779
824
 
780
825
  def update_file_list(self):
781
826
  """
@@ -810,6 +855,7 @@ class Tracer(AgenticTracing):
810
855
 
811
856
  # Convert string context to string if needed
812
857
  if isinstance(context, str):
858
+ self.dynamic_exporter.user_context = context
813
859
  self.user_context = context
814
860
  else:
815
861
  raise TypeError("context must be a string")
@@ -11,9 +11,8 @@ logging_level = (
11
11
  logger.setLevel(logging.DEBUG) if os.getenv("DEBUG") == "1" else logging.INFO
12
12
  )
13
13
 
14
- def rag_trace_json_converter(input_trace, custom_model_cost, trace_id, user_details, tracer_type):
14
+ def rag_trace_json_converter(input_trace, custom_model_cost, trace_id, user_details, tracer_type,user_context):
15
15
  trace_aggregate = {}
16
-
17
16
  def get_prompt(input_trace):
18
17
  if tracer_type == "langchain":
19
18
  for span in input_trace:
@@ -46,7 +45,9 @@ def rag_trace_json_converter(input_trace, custom_model_cost, trace_id, user_deta
46
45
  return None
47
46
 
48
47
  def get_context(input_trace):
49
- if tracer_type == "langchain":
48
+ if user_context.strip():
49
+ return user_context
50
+ elif tracer_type == "langchain":
50
51
  for span in input_trace:
51
52
  if span["name"] == "VectorStoreRetriever":
52
53
  return span["attributes"].get("retrieval.documents.1.document.content")
@@ -82,6 +83,7 @@ def rag_trace_json_converter(input_trace, custom_model_cost, trace_id, user_deta
82
83
  else:
83
84
  additional_metadata = get_additional_metadata(input_trace, custom_model_cost, model_cost)
84
85
 
86
+ trace_aggregate["metadata"] = user_details.get("trace_user_detail", {}).get("metadata")
85
87
  trace_aggregate["metadata"].update(additional_metadata)
86
88
  additional_metadata.pop("total_cost")
87
89
  additional_metadata.pop("total_latency")
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.7b1
3
+ Version: 2.1.7.1
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>
6
- Requires-Python: <3.13,>=3.10
6
+ Requires-Python: <=3.13.2,>=3.10
7
7
  Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Requires-Dist: aiohttp>=3.10.2
@@ -45,7 +45,7 @@ Requires-Dist: opentelemetry-sdk
45
45
  Requires-Dist: opentelemetry-exporter-otlp
46
46
  Requires-Dist: opentelemetry-proto>=1.12.0
47
47
  Provides-Extra: dev
48
- Requires-Dist: pytest; extra == "dev"
48
+ Requires-Dist: pytest>=8.3.5; extra == "dev"
49
49
  Requires-Dist: pytest-cov; extra == "dev"
50
50
  Requires-Dist: black; extra == "dev"
51
51
  Requires-Dist: isort; extra == "dev"
@@ -5,6 +5,7 @@ README.md
5
5
  pyproject.toml
6
6
  requirements.txt
7
7
  test_report_20250407_183101.txt
8
+ tests_requirements.txt
8
9
  .github/PULL_REQUEST_TEMPLATE.md
9
10
  .github/ISSUE_TEMPLATE/bug_report.md
10
11
  .github/ISSUE_TEMPLATE/feature_request.md
@@ -26,7 +27,7 @@ docs/img/projects_new.png
26
27
  docs/img/trace_comp.png
27
28
  examples/all_llm_provider/all_llm_provider.py
28
29
  examples/all_llm_provider/config.py
29
- examples/all_llm_provider/test_llm_call_utils.py
30
+ examples/all_llm_provider/run_all_llm_provider.py
30
31
  examples/crewai/scifi_writer/README.md
31
32
  examples/crewai/scifi_writer/requirements.txt
32
33
  examples/crewai/scifi_writer/sample.env
@@ -205,7 +206,6 @@ tests/test_catalyst/test_base_tracer_metrics.py
205
206
  tests/test_catalyst/test_dataset.py
206
207
  tests/test_catalyst/test_evaluation.py
207
208
  tests/test_catalyst/test_evaluation_metrics.py
208
- tests/test_catalyst/test_openinference_langchain.py
209
209
  tests/test_catalyst/test_prompt_manager.py
210
210
  tests/test_catalyst/test_synthetic_data_generation.py
211
211
  tests/test_catalyst/test_the_configuration.py
@@ -38,7 +38,7 @@ opentelemetry-exporter-otlp
38
38
  opentelemetry-proto>=1.12.0
39
39
 
40
40
  [dev]
41
- pytest
41
+ pytest>=8.3.5
42
42
  pytest-cov
43
43
  black
44
44
  isort
@@ -1,20 +1,23 @@
1
- from ragaai_catalyst import RagaAICatalyst, init_tracing
2
- from ragaai_catalyst.tracers import Tracer
3
1
  import sys
4
2
  import os
5
3
  sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))
6
4
 
5
+ from ragaai_catalyst import RagaAICatalyst, init_tracing
6
+ from ragaai_catalyst.tracers import Tracer
7
+
8
+ from dotenv import load_dotenv
9
+ load_dotenv()
7
10
 
8
11
  def initialize_tracing():
9
12
  catalyst = RagaAICatalyst(
10
- access_key=os.getenv("CATALYST_ACCESS_KEY"),
11
- secret_key=os.getenv("CATALYST_SECRET_KEY"),
12
- base_url=os.getenv("CATALYST_BASE_URL"),
13
+ access_key=os.getenv("RAGAAI_CATALYST_ACCESS_KEY"),
14
+ secret_key=os.getenv("RAGAAI_CATALYST_SECRET_KEY"),
15
+ base_url=os.getenv("RAGAAI_CATALYST_BASE_URL"),
13
16
  )
14
17
 
15
18
  tracer = Tracer(
16
- project_name=os.getenv("PROJECT_NAME"),
17
- dataset_name=os.getenv("DATASET_NAME"),
19
+ project_name='prompt_metric_dataset',#os.getenv("RAGAAI_PROJECT_NAME"),
20
+ dataset_name='pytest_dataset',#os.getenv("RAGAAI_DATASET_NAME"),
18
21
  tracer_type="Agentic",
19
22
  )
20
23
 
@@ -21,8 +21,8 @@ catalyst = RagaAICatalyst(
21
21
  )
22
22
 
23
23
  tracer = Tracer(
24
- project_name=os.getenv('RAGAAI_PROJECT_NAME'),
25
- dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
24
+ project_name='prompt_metric_dataset',#os.getenv("RAGAAI_PROJECT_NAME"),
25
+ dataset_name='pytest_dataset',#os.getenv("RAGAAI_DATASET_NAME"),
26
26
  tracer_type="agentic/crewai",
27
27
  )
28
28
  init_tracing(catalyst=catalyst, tracer=tracer)
@@ -0,0 +1,24 @@
1
+ import sys
2
+ import os
3
+ from dotenv import load_dotenv
4
+ sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../..')))
5
+ from ragaai_catalyst import RagaAICatalyst, init_tracing
6
+ from ragaai_catalyst.tracers import Tracer
7
+ import uuid
8
+
9
+
10
+ def initialize_tracing():
11
+ catalyst = RagaAICatalyst(
12
+ access_key=os.getenv("RAGAAI_CATALYST_ACCESS_KEY"),
13
+ secret_key=os.getenv("RAGAAI_CATALYST_SECRET_KEY"),
14
+ base_url=os.getenv("RAGAAI_CATALYST_BASE_URL"),
15
+ )
16
+
17
+ tracer = Tracer(
18
+ project_name='prompt_metric_dataset',#os.getenv("RAGAAI_PROJECT_NAME"),
19
+ dataset_name='pytest_dataset',#os.getenv("RAGAAI_DATASET_NAME"),
20
+ tracer_type="Agentic",
21
+ )
22
+
23
+ init_tracing(catalyst=catalyst, tracer=tracer)
24
+ return tracer
@@ -28,8 +28,8 @@ catalyst = RagaAICatalyst(
28
28
  )
29
29
 
30
30
  tracer = Tracer(
31
- project_name=os.getenv('RAGAAI_PROJECT_NAME'),
32
- dataset_name=os.getenv('RAGAAI_DATASET_NAME'),
31
+ project_name='prompt_metric_dataset',#os.getenv("RAGAAI_PROJECT_NAME"),
32
+ dataset_name='pytest_dataset',#os.getenv("RAGAAI_DATASET_NAME"),
33
33
  tracer_type="agentic/haystack",
34
34
  )
35
35
 
@@ -27,8 +27,8 @@ catalyst = RagaAICatalyst(
27
27
  base_url=os.getenv('RAGAAI_CATALYST_BASE_URL')
28
28
  )
29
29
  tracer = Tracer(
30
- project_name=os.environ['RAGAAI_PROJECT_NAME'],
31
- dataset_name=os.environ['RAGAAI_DATASET_NAME'],
30
+ project_name='prompt_metric_dataset',#os.getenv("RAGAAI_PROJECT_NAME"),
31
+ dataset_name='pytest_dataset',#os.getenv("RAGAAI_DATASET_NAME"),
32
32
  tracer_type="agentic/langchain",
33
33
  )
34
34