ragaai-catalyst 2.1.6.1__tar.gz → 2.1.6.2__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 (173) hide show
  1. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/PKG-INFO +1 -1
  2. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/pyproject.toml +1 -1
  3. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +1 -3
  4. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +2 -2
  5. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +5 -9
  6. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +1 -1
  7. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +13 -13
  8. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py +2 -2
  9. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +2 -3
  10. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +2 -4
  11. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/tracer.py +11 -10
  12. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst.egg-info/PKG-INFO +1 -1
  13. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  15. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  16. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/.gitignore +0 -0
  17. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/.gitmodules +0 -0
  18. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/LICENSE +0 -0
  19. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/README.md +0 -0
  20. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/dataset_management.md +0 -0
  21. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/autheticate.gif +0 -0
  22. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/create_project.gif +0 -0
  23. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/custom_metrics.png +0 -0
  24. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/dataset.gif +0 -0
  25. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/dataset.png +0 -0
  26. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/evaluation.gif +0 -0
  27. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/evaluation.png +0 -0
  28. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/guardrails.png +0 -0
  29. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/last_main.png +0 -0
  30. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/main.png +0 -0
  31. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/projects_new.png +0 -0
  32. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/img/trace_comp.png +0 -0
  33. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/prompt_management.md +0 -0
  34. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/docs/trace_management.md +0 -0
  35. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/crewai/scifi_writer/README.md +0 -0
  36. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/crewai/scifi_writer/requirements.txt +0 -0
  37. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/crewai/scifi_writer/sample.env +0 -0
  38. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/crewai/scifi_writer/scifi_writer.py +0 -0
  39. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/custom_agents/travel_agent/agents.py +0 -0
  40. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/custom_agents/travel_agent/config.py +0 -0
  41. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/custom_agents/travel_agent/main.py +0 -0
  42. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/custom_agents/travel_agent/tools.py +0 -0
  43. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/haystack/rag/README.md +0 -0
  44. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/haystack/rag/rag.py +0 -0
  45. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/haystack/rag/requirements.txt +0 -0
  46. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/haystack/rag/sample.env +0 -0
  47. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  48. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  49. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  50. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  51. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/requirements.txt +0 -0
  52. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langchain/medical_rag/sample.env +0 -0
  53. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langgraph/personal_research_assistant/README.md +0 -0
  54. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langgraph/personal_research_assistant/requirements.txt +0 -0
  55. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  56. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/langgraph/personal_research_assistant/sample.env +0 -0
  57. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  58. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  59. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  60. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  61. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/requirements.txt +0 -0
  62. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/llamaindex_examples/legal_research_rag/sample.env +0 -0
  63. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/openai_agents_sdk/README.md +0 -0
  64. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/openai_agents_sdk/data_extraction_email.py +0 -0
  65. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/openai_agents_sdk/requirements.txt +0 -0
  66. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/openai_agents_sdk/sample.env +0 -0
  67. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/most_upvoted_paper/README.md +0 -0
  68. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  69. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/most_upvoted_paper/requirements.txt +0 -0
  70. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/most_upvoted_paper/sample.env +0 -0
  71. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/rag_using_chromadb/README.md +0 -0
  72. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/rag_using_chromadb/rag_using_chromadb.py +0 -0
  73. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/rag_using_chromadb/requirements.txt +0 -0
  74. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/examples/smolagents/rag_using_chromadb/sample.env +0 -0
  75. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/__init__.py +0 -0
  76. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/_version.py +0 -0
  77. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/dataset.py +0 -0
  78. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/evaluation.py +0 -0
  79. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/experiment.py +0 -0
  80. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/guard_executor.py +0 -0
  81. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/guardrails_manager.py +0 -0
  82. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/internal_api_completion.py +0 -0
  83. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/prompt_manager.py +0 -0
  84. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/proxy_call.py +0 -0
  85. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/ragaai_catalyst.py +0 -0
  86. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/__init__.py +0 -0
  87. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/config/detectors.toml +0 -0
  88. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/data_generator/scenario_generator.py +0 -0
  89. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/data_generator/test_case_generator.py +0 -0
  90. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/evaluator.py +0 -0
  91. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/llm_generator.py +0 -0
  92. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/llm_generator_old.py +0 -0
  93. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/red_teaming.py +0 -0
  94. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/requirements.txt +0 -0
  95. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/tests/grok.ipynb +0 -0
  96. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/tests/stereotype.ipynb +0 -0
  97. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/upload_result.py +0 -0
  98. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/utils/issue_description.py +0 -0
  99. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming/utils/rt.png +0 -0
  100. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/redteaming_old.py +0 -0
  101. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/synthetic_data_generation.py +0 -0
  102. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/__init__.py +0 -0
  103. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/README.md +0 -0
  104. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/__init__.py +0 -0
  105. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/data/__init__.py +0 -0
  106. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +0 -0
  107. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/FinancialAnalysisSystem.ipynb +0 -0
  108. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/GameActivityEventPlanner.ipynb +0 -0
  109. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/TravelPlanner.ipynb +0 -0
  110. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/__init__.py +0 -0
  111. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py +0 -0
  112. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py +0 -0
  113. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/__init__.py +0 -0
  114. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +0 -0
  115. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +0 -0
  116. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  117. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +0 -0
  118. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +0 -0
  119. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +0 -0
  120. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +0 -0
  121. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/__init__.py +0 -0
  122. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py +0 -0
  123. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +0 -0
  124. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +0 -0
  125. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +0 -0
  126. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py +0 -0
  127. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/generic.py +0 -0
  128. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +0 -0
  129. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +0 -0
  130. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +0 -0
  131. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +0 -0
  132. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml +0 -0
  133. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py +0 -0
  134. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +0 -0
  135. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py +0 -0
  136. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +0 -0
  137. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/distributed.py +0 -0
  138. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/exporters/__init__.py +0 -0
  139. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/exporters/file_span_exporter.py +0 -0
  140. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/exporters/raga_exporter.py +0 -0
  141. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/instrumentators/__init__.py +0 -0
  142. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/langchain_callback.py +0 -0
  143. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/llamaindex_callback.py +0 -0
  144. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/llamaindex_instrumentation.py +0 -0
  145. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/upload_traces.py +0 -0
  146. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/__init__.py +0 -0
  147. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py +0 -0
  148. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py +0 -0
  149. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py +0 -0
  150. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py +0 -0
  151. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +0 -0
  152. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/trace_json_converter.py +0 -0
  153. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/tracers/utils/utils.py +0 -0
  154. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst/utils.py +0 -0
  155. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst.egg-info/SOURCES.txt +0 -0
  156. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst.egg-info/dependency_links.txt +0 -0
  157. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst.egg-info/requires.txt +0 -0
  158. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/ragaai_catalyst.egg-info/top_level.txt +0 -0
  159. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/requirements.txt +0 -0
  160. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/setup.cfg +0 -0
  161. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/examples/langgraph/personal_research_assistant/test_research_assistant.py +0 -0
  162. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_base_tracer_add_metrics.py +0 -0
  163. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_base_tracer_metrics.py +0 -0
  164. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_configuration.py +0 -0
  165. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_dataset.py +0 -0
  166. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_evaluation.py +0 -0
  167. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_evaluation_metrics.py +0 -0
  168. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_langchain_tracing.py +0 -0
  169. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_llm_providers.py +0 -0
  170. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_prompt_manager.py +0 -0
  171. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_redteaming.py +0 -0
  172. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/test_synthetic_data_generation.py +0 -0
  173. {ragaai_catalyst-2.1.6.1 → ragaai_catalyst-2.1.6.2}/tests/test_catalyst/upload_trace_zip_automation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.6.1
3
+ Version: 2.1.6.2
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
6
  Requires-Python: <3.13,>=3.10
@@ -8,7 +8,7 @@ description = "RAGA AI CATALYST"
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.10,<3.13"
10
10
  # license = {file = "LICENSE"}
11
- version = "2.1.6.1"
11
+ version = "2.1.6.2"
12
12
  authors = [
13
13
  {name = "Kiran Scaria", email = "kiran.scaria@raga.ai"},
14
14
  {name = "Kedar Gaikwad", email = "kedar.gaikwad@raga.ai"},
@@ -92,7 +92,6 @@ class BaseTracer:
92
92
  self._upload_tasks = []
93
93
  self._is_uploading = False
94
94
  self._upload_completed_callback = None
95
- self.timeout = self.user_details.get("timeout", 120)
96
95
 
97
96
  ensure_uploader_running()
98
97
 
@@ -315,8 +314,7 @@ class BaseTracer:
315
314
  project_id=self.project_id,
316
315
  dataset_name=self.dataset_name,
317
316
  user_details=self.user_details,
318
- base_url=self.base_url,
319
- timeout=self.timeout
317
+ base_url=self.base_url
320
318
  )
321
319
 
322
320
  # For backward compatibility
@@ -48,7 +48,7 @@ from ragaai_catalyst.tracers.upload_traces import UploadTraces
48
48
  class AgenticTracing(
49
49
  BaseTracer, LLMTracerMixin, ToolTracerMixin, AgentTracerMixin, CustomTracerMixin
50
50
  ):
51
- def __init__(self, user_detail, auto_instrumentation=None, timeout=120):
51
+ def __init__(self, user_detail, auto_instrumentation=None):
52
52
  # Initialize all parent classes
53
53
  self.user_interaction_tracer = UserInteractionTracer()
54
54
  LLMTracerMixin.__init__(self)
@@ -60,7 +60,7 @@ class AgenticTracing(
60
60
  self.project_id = user_detail["project_id"]
61
61
  self.trace_user_detail = user_detail["trace_user_detail"]
62
62
  self.base_url = f"{RagaAICatalyst.BASE_URL}"
63
- self.timeout = timeout
63
+ self.timeout = 10
64
64
 
65
65
  # Add warning flag
66
66
  self._warning_shown = False
@@ -77,7 +77,7 @@ def get_executor():
77
77
 
78
78
  def process_upload(task_id: str, filepath: str, hash_id: str, zip_path: str,
79
79
  project_name: str, project_id: str, dataset_name: str,
80
- user_details: Dict[str, Any], base_url: str, timeout=120) -> Dict[str, Any]:
80
+ user_details: Dict[str, Any], base_url: str) -> Dict[str, Any]:
81
81
  """
82
82
  Process a single upload task
83
83
 
@@ -147,8 +147,7 @@ def process_upload(task_id: str, filepath: str, hash_id: str, zip_path: str,
147
147
  json_file_path=filepath,
148
148
  dataset_name=dataset_name,
149
149
  project_name=project_name,
150
- base_url=base_url,
151
- timeout=timeout
150
+ base_url=base_url
152
151
  )
153
152
  logger.info(f"Trace metrics uploaded: {response}")
154
153
  except Exception as e:
@@ -168,7 +167,6 @@ def process_upload(task_id: str, filepath: str, hash_id: str, zip_path: str,
168
167
  dataset_name=dataset_name,
169
168
  user_detail=user_details,
170
169
  base_url=base_url,
171
- timeout=timeout
172
170
  )
173
171
  upload_traces.upload_agentic_traces()
174
172
  logger.info("Agentic traces uploaded successfully")
@@ -187,8 +185,7 @@ def process_upload(task_id: str, filepath: str, hash_id: str, zip_path: str,
187
185
  zip_path=zip_path,
188
186
  project_name=project_name,
189
187
  dataset_name=dataset_name,
190
- base_url=base_url,
191
- timeout=timeout
188
+ base_url=base_url
192
189
  )
193
190
  logger.info(f"Code hash uploaded: {response}")
194
191
  except Exception as e:
@@ -218,7 +215,7 @@ def save_task_status(task_status: Dict[str, Any]):
218
215
  with open(status_path, "w") as f:
219
216
  json.dump(task_status, f, indent=2)
220
217
 
221
- def submit_upload_task(filepath, hash_id, zip_path, project_name, project_id, dataset_name, user_details, base_url, timeout=120):
218
+ def submit_upload_task(filepath, hash_id, zip_path, project_name, project_id, dataset_name, user_details, base_url):
222
219
  """
223
220
  Submit a new upload task using futures.
224
221
 
@@ -262,8 +259,7 @@ def submit_upload_task(filepath, hash_id, zip_path, project_name, project_id, da
262
259
  project_id=project_id,
263
260
  dataset_name=dataset_name,
264
261
  user_details=user_details,
265
- base_url=base_url,
266
- timeout=timeout
262
+ base_url=base_url
267
263
  )
268
264
 
269
265
  # Store the future for later status checks
@@ -24,7 +24,7 @@ class UploadAgenticTraces:
24
24
  self.dataset_name = dataset_name
25
25
  self.user_detail = user_detail
26
26
  self.base_url = base_url
27
- self.timeout = 120
27
+ self.timeout = 30
28
28
 
29
29
 
30
30
  def _get_presigned_url(self):
@@ -9,19 +9,19 @@ logger = logging.getLogger(__name__)
9
9
  from urllib.parse import urlparse, urlunparse
10
10
  import re
11
11
 
12
- def upload_code(hash_id, zip_path, project_name, dataset_name, base_url=None, timeout=120):
13
- code_hashes_list = _fetch_dataset_code_hashes(project_name, dataset_name, base_url, timeout=timeout)
12
+ def upload_code(hash_id, zip_path, project_name, dataset_name, base_url=None):
13
+ code_hashes_list = _fetch_dataset_code_hashes(project_name, dataset_name, base_url)
14
14
 
15
15
  if hash_id not in code_hashes_list:
16
- presigned_url = _fetch_presigned_url(project_name, dataset_name, base_url, timeout=timeout)
17
- _put_zip_presigned_url(project_name, presigned_url, zip_path, timeout=timeout)
16
+ presigned_url = _fetch_presigned_url(project_name, dataset_name, base_url)
17
+ _put_zip_presigned_url(project_name, presigned_url, zip_path)
18
18
 
19
- response = _insert_code(dataset_name, hash_id, presigned_url, project_name, base_url, timeout=timeout)
19
+ response = _insert_code(dataset_name, hash_id, presigned_url, project_name, base_url)
20
20
  return response
21
21
  else:
22
22
  return "Code already exists"
23
23
 
24
- def _fetch_dataset_code_hashes(project_name, dataset_name, base_url=None, timeout=120):
24
+ def _fetch_dataset_code_hashes(project_name, dataset_name, base_url=None):
25
25
  payload = {}
26
26
  headers = {
27
27
  "Authorization": f"Bearer {os.getenv('RAGAAI_CATALYST_TOKEN')}",
@@ -36,7 +36,7 @@ def _fetch_dataset_code_hashes(project_name, dataset_name, base_url=None, timeou
36
36
  endpoint,
37
37
  headers=headers,
38
38
  data=payload,
39
- timeout=timeout)
39
+ timeout=99999)
40
40
  elapsed_ms = (time.time() - start_time) * 1000
41
41
  logger.debug(
42
42
  f"API Call: [GET] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms")
@@ -66,7 +66,7 @@ def update_presigned_url(presigned_url, base_url):
66
66
  return presigned_url
67
67
 
68
68
 
69
- def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120):
69
+ def _fetch_presigned_url(project_name, dataset_name, base_url=None):
70
70
  payload = json.dumps({
71
71
  "datasetName": dataset_name,
72
72
  "numFiles": 1,
@@ -87,7 +87,7 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
87
87
  endpoint,
88
88
  headers=headers,
89
89
  data=payload,
90
- timeout=timeout)
90
+ timeout=99999)
91
91
  elapsed_ms = (time.time() - start_time) * 1000
92
92
  logger.debug(
93
93
  f"API Call: [GET] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms")
@@ -102,7 +102,7 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
102
102
  logger.error(f"Failed to list datasets: {e}")
103
103
  raise
104
104
 
105
- def _put_zip_presigned_url(project_name, presignedUrl, filename, timeout=120):
105
+ def _put_zip_presigned_url(project_name, presignedUrl, filename):
106
106
  headers = {
107
107
  "X-Project-Name": project_name,
108
108
  "Content-Type": "application/zip",
@@ -119,14 +119,14 @@ def _put_zip_presigned_url(project_name, presignedUrl, filename, timeout=120):
119
119
  presignedUrl,
120
120
  headers=headers,
121
121
  data=payload,
122
- timeout=timeout)
122
+ timeout=99999)
123
123
  elapsed_ms = (time.time() - start_time) * 1000
124
124
  logger.debug(
125
125
  f"API Call: [PUT] {presignedUrl} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms")
126
126
  if response.status_code != 200 or response.status_code != 201:
127
127
  return response, response.status_code
128
128
 
129
- def _insert_code(dataset_name, hash_id, presigned_url, project_name, base_url=None, timeout=120):
129
+ def _insert_code(dataset_name, hash_id, presigned_url, project_name, base_url=None):
130
130
  payload = json.dumps({
131
131
  "datasetName": dataset_name,
132
132
  "codeHash": hash_id,
@@ -147,7 +147,7 @@ def _insert_code(dataset_name, hash_id, presigned_url, project_name, base_url=No
147
147
  endpoint,
148
148
  headers=headers,
149
149
  data=payload,
150
- timeout=timeout)
150
+ timeout=99999)
151
151
  elapsed_ms = (time.time() - start_time) * 1000
152
152
  logger.debug(
153
153
  f"API Call: [POST] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms")
@@ -15,7 +15,7 @@ logging_level = (
15
15
  )
16
16
 
17
17
 
18
- def upload_trace_metric(json_file_path, dataset_name, project_name, base_url=None, timeout=120):
18
+ def upload_trace_metric(json_file_path, dataset_name, project_name, base_url=None):
19
19
  try:
20
20
  with open(json_file_path, "r") as f:
21
21
  traces = json.load(f)
@@ -51,7 +51,7 @@ def upload_trace_metric(json_file_path, dataset_name, project_name, base_url=Non
51
51
  endpoint,
52
52
  headers=headers,
53
53
  data=payload,
54
- timeout=timeout)
54
+ timeout=10)
55
55
  elapsed_ms = (time.time() - start_time) * 1000
56
56
  logger.debug(
57
57
  f"API Call: [POST] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms")
@@ -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, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120):
17
+ def __init__(self, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost):
18
18
  """
19
19
  Initialize the DynamicTraceExporter.
20
20
 
@@ -33,8 +33,7 @@ class DynamicTraceExporter(SpanExporter):
33
33
  dataset_name=dataset_name,
34
34
  user_details=user_details,
35
35
  base_url=base_url,
36
- custom_model_cost=custom_model_cost,
37
- timeout=timeout
36
+ custom_model_cost=custom_model_cost
38
37
  )
39
38
 
40
39
  # Store the initial values
@@ -19,7 +19,7 @@ logging_level = (
19
19
 
20
20
 
21
21
  class RAGATraceExporter(SpanExporter):
22
- def __init__(self, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost, timeout=120):
22
+ def __init__(self, files_to_zip, project_name, project_id, dataset_name, user_details, base_url, custom_model_cost):
23
23
  self.trace_spans = dict()
24
24
  self.tmp_dir = tempfile.gettempdir()
25
25
  self.files_to_zip = files_to_zip
@@ -30,7 +30,6 @@ class RAGATraceExporter(SpanExporter):
30
30
  self.base_url = base_url
31
31
  self.custom_model_cost = custom_model_cost
32
32
  self.system_monitor = SystemMonitor(dataset_name)
33
- self.timeout = timeout
34
33
 
35
34
  def export(self, spans):
36
35
  for span in spans:
@@ -123,8 +122,7 @@ class RAGATraceExporter(SpanExporter):
123
122
  project_id=self.project_id,
124
123
  dataset_name=self.dataset_name,
125
124
  user_details=self.user_details,
126
- base_url=self.base_url,
127
- timeout=self.timeout
125
+ base_url=self.base_url
128
126
  )
129
127
 
130
128
  logger.info(f"Submitted upload task with ID: {self.upload_task_id}")
@@ -37,6 +37,7 @@ logging_level = (
37
37
 
38
38
  class Tracer(AgenticTracing):
39
39
  NUM_PROJECTS = 99999
40
+ TIMEOUT = 10
40
41
  def __init__(
41
42
  self,
42
43
  project_name,
@@ -46,7 +47,7 @@ class Tracer(AgenticTracing):
46
47
  pipeline=None,
47
48
  metadata=None,
48
49
  description=None,
49
- timeout=120, # Default timeout of 120 seconds
50
+ upload_timeout=30, # Default timeout of 30 seconds
50
51
  update_llm_cost=True, # Parameter to control model cost updates
51
52
  auto_instrumentation={ # to control automatic instrumentation of different components
52
53
  'llm':True,
@@ -71,7 +72,7 @@ class Tracer(AgenticTracing):
71
72
  pipeline (dict, optional): The pipeline configuration. Defaults to None.
72
73
  metadata (dict, optional): The metadata. Defaults to None.
73
74
  description (str, optional): The description. Defaults to None.
74
- timeout (int, optional): The upload timeout in seconds. Defaults to 30.
75
+ upload_timeout (int, optional): The upload timeout in seconds. Defaults to 30.
75
76
  update_llm_cost (bool, optional): Whether to update model costs from GitHub. Defaults to True.
76
77
  """
77
78
 
@@ -132,8 +133,9 @@ class Tracer(AgenticTracing):
132
133
  # self.metadata["total_tokens"] = 0
133
134
  self.pipeline = pipeline
134
135
  self.description = description
135
- self.timeout = timeout
136
+ self.upload_timeout = upload_timeout
136
137
  self.base_url = f"{RagaAICatalyst.BASE_URL}"
138
+ self.timeout = 30
137
139
  self.num_projects = 99999
138
140
  self.start_time = datetime.datetime.now().astimezone().isoformat()
139
141
  self.model_cost_dict = model_cost
@@ -397,7 +399,7 @@ class Tracer(AgenticTracing):
397
399
  'pipeline': self.pipeline,
398
400
  'metadata': self.metadata,
399
401
  'description': self.description,
400
- 'timeout': self.timeout
402
+ 'upload_timeout': self.upload_timeout
401
403
  }
402
404
 
403
405
  # Reinitialize self with new dataset_name and stored parameters
@@ -613,11 +615,11 @@ class Tracer(AgenticTracing):
613
615
 
614
616
  This function uploads the traces generated by the RagaAICatalyst client to the RagaAICatalyst server. It uses the `aiohttp` library to make an asynchronous HTTP request to the server. The function first checks if the `RAGAAI_CATALYST_TOKEN` environment variable is set. If not, it raises a `ValueError` with the message "RAGAAI_CATALYST_TOKEN not found. Cannot upload traces.".
615
617
 
616
- The function then uses the `asyncio.wait_for` function to wait for the `check_and_upload_files` method of the `raga_client` object to complete. The `check_and_upload_files` method is called with the `session` object and a list of file paths to be uploaded. The `timeout` parameter is set to the value of the `timeout` attribute of the `Tracer` object.
618
+ The function then uses the `asyncio.wait_for` function to wait for the `check_and_upload_files` method of the `raga_client` object to complete. The `check_and_upload_files` method is called with the `session` object and a list of file paths to be uploaded. The `timeout` parameter is set to the value of the `upload_timeout` attribute of the `Tracer` object.
617
619
 
618
620
  If the upload is successful, the function returns the string "Files uploaded successfully" if the `upload_stat` variable is truthy, otherwise it returns the string "No files to upload".
619
621
 
620
- If the upload times out, the function returns a string with the message "Upload timed out after {self.timeout} seconds".
622
+ If the upload times out, the function returns a string with the message "Upload timed out after {self.upload_timeout} seconds".
621
623
 
622
624
  If any other exception occurs during the upload, the function returns a string with the message "Upload failed: {str(e)}", where `{str(e)}` is the string representation of the exception.
623
625
 
@@ -639,7 +641,7 @@ class Tracer(AgenticTracing):
639
641
  session=session,
640
642
  file_paths=[self.filespanx.sync_file],
641
643
  ),
642
- timeout=self.timeout,
644
+ timeout=self.upload_timeout,
643
645
  )
644
646
  return (
645
647
  "Files uploaded successfully"
@@ -647,7 +649,7 @@ class Tracer(AgenticTracing):
647
649
  else "No files to upload"
648
650
  )
649
651
  except asyncio.TimeoutError:
650
- return f"Upload timed out after {self.timeout} seconds"
652
+ return f"Upload timed out after {self.upload_timeout} seconds"
651
653
  except Exception as e:
652
654
  return f"Upload failed: {str(e)}"
653
655
 
@@ -747,8 +749,7 @@ class Tracer(AgenticTracing):
747
749
  dataset_name=self.dataset_name,
748
750
  user_details=self.user_details,
749
751
  base_url=self.base_url,
750
- custom_model_cost=self.model_custom_cost,
751
- timeout=self.timeout
752
+ custom_model_cost=self.model_custom_cost
752
753
  )
753
754
 
754
755
  # Set up tracer provider
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.6.1
3
+ Version: 2.1.6.2
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
6
  Requires-Python: <3.13,>=3.10