local-deep-research 0.4.0__tar.gz → 0.4.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 (194) hide show
  1. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/PKG-INFO +1 -1
  2. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/pyproject.toml +1 -1
  3. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/__init__.py +1 -0
  4. local_deep_research-0.4.1/src/local_deep_research/__version__.py +1 -0
  5. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/app.py +8 -1
  6. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/services/research_service.py +15 -20
  7. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/search_engine_factory.py +0 -2
  8. local_deep_research-0.4.0/src/local_deep_research/__version__.py +0 -1
  9. local_deep_research-0.4.0/src/local_deep_research/app.py +0 -8
  10. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/LICENSE +0 -0
  11. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/README.md +0 -0
  12. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/__init__.py +0 -0
  13. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/filters/__init__.py +0 -0
  14. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/filters/base_filter.py +0 -0
  15. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/filters/cross_engine_filter.py +0 -0
  16. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/filters/journal_reputation_filter.py +0 -0
  17. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/findings/base_findings.py +0 -0
  18. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/findings/repository.py +0 -0
  19. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/knowledge/__init__.py +0 -0
  20. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/knowledge/base_knowledge.py +0 -0
  21. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/knowledge/standard_knowledge.py +0 -0
  22. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/questions/__init__.py +0 -0
  23. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/questions/base_question.py +0 -0
  24. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/questions/decomposition_question.py +0 -0
  25. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/questions/standard_question.py +0 -0
  26. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/repositories/__init__.py +0 -0
  27. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/__init__.py +0 -0
  28. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/base_strategy.py +0 -0
  29. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/iterdrag_strategy.py +0 -0
  30. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/parallel_search_strategy.py +0 -0
  31. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/rapid_search_strategy.py +0 -0
  32. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/source_based_strategy.py +0 -0
  33. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/strategies/standard_strategy.py +0 -0
  34. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/tools/__init__.py +0 -0
  35. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/tools/base_tool.py +0 -0
  36. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/tools/knowledge_tools/__init__.py +0 -0
  37. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/tools/question_tools/__init__.py +0 -0
  38. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/advanced_search_system/tools/search_tools/__init__.py +0 -0
  39. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/api/__init__.py +0 -0
  40. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/api/benchmark_functions.py +0 -0
  41. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/api/research_functions.py +0 -0
  42. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/README.md +0 -0
  43. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/__init__.py +0 -0
  44. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/benchmark_functions.py +0 -0
  45. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/cli/__init__.py +0 -0
  46. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/cli/benchmark_commands.py +0 -0
  47. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/cli.py +0 -0
  48. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/comparison/__init__.py +0 -0
  49. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/comparison/evaluator.py +0 -0
  50. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/__init__.py +0 -0
  51. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/base.py +0 -0
  52. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/browsecomp.py +0 -0
  53. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/custom_dataset_template.py +0 -0
  54. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/simpleqa.py +0 -0
  55. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets/utils.py +0 -0
  56. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/datasets.py +0 -0
  57. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/efficiency/__init__.py +0 -0
  58. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/efficiency/resource_monitor.py +0 -0
  59. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/efficiency/speed_profiler.py +0 -0
  60. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/evaluators/__init__.py +0 -0
  61. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/evaluators/base.py +0 -0
  62. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/evaluators/browsecomp.py +0 -0
  63. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/evaluators/composite.py +0 -0
  64. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/evaluators/simpleqa.py +0 -0
  65. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/graders.py +0 -0
  66. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics/README.md +0 -0
  67. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics/__init__.py +0 -0
  68. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics/calculation.py +0 -0
  69. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics/reporting.py +0 -0
  70. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics/visualization.py +0 -0
  71. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/metrics.py +0 -0
  72. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/optimization/__init__.py +0 -0
  73. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/optimization/api.py +0 -0
  74. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/optimization/metrics.py +0 -0
  75. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/optimization/optuna_optimizer.py +0 -0
  76. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/runners.py +0 -0
  77. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/benchmarks/templates.py +0 -0
  78. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/citation_handler.py +0 -0
  79. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/config/__init__.py +0 -0
  80. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/config/llm_config.py +0 -0
  81. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/config/search_config.py +0 -0
  82. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/defaults/.env.template +0 -0
  83. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/defaults/__init__.py +0 -0
  84. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/defaults/default_settings.json +0 -0
  85. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/migrate_db.py +0 -0
  86. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/report_generator.py +0 -0
  87. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/search_system.py +0 -0
  88. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/setup_data_dir.py +0 -0
  89. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/test_migration.py +0 -0
  90. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/__init__.py +0 -0
  91. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/db_utils.py +0 -0
  92. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/enums.py +0 -0
  93. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/es_utils.py +0 -0
  94. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/llm_utils.py +0 -0
  95. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/log_utils.py +0 -0
  96. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/search_utilities.py +0 -0
  97. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/setup_utils.py +0 -0
  98. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/utilities/url_utils.py +0 -0
  99. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/__init__.py +0 -0
  100. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/app_factory.py +0 -0
  101. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/database/README.md +0 -0
  102. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/database/migrate_to_ldr_db.py +0 -0
  103. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/database/migrations.py +0 -0
  104. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/database/models.py +0 -0
  105. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/database/schema_upgrade.py +0 -0
  106. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/models/database.py +0 -0
  107. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/models/settings.py +0 -0
  108. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/routes/api_routes.py +0 -0
  109. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/routes/benchmark_routes.py +0 -0
  110. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/routes/history_routes.py +0 -0
  111. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/routes/research_routes.py +0 -0
  112. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/routes/settings_routes.py +0 -0
  113. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/services/resource_service.py +0 -0
  114. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/services/settings_manager.py +0 -0
  115. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/services/settings_service.py +0 -0
  116. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/services/socket_service.py +0 -0
  117. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/css/custom_dropdown.css +0 -0
  118. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/css/settings.css +0 -0
  119. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/css/styles.css +0 -0
  120. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/custom_dropdown.js +0 -0
  121. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/detail.js +0 -0
  122. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/fallback/formatting.js +0 -0
  123. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/fallback/ui.js +0 -0
  124. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/history.js +0 -0
  125. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/logpanel.js +0 -0
  126. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/progress.js +0 -0
  127. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/research.js +0 -0
  128. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/results.js +0 -0
  129. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/settings.js +0 -0
  130. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/components/settings_sync.js +0 -0
  131. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/main.js +0 -0
  132. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/research_form.js +0 -0
  133. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/api.js +0 -0
  134. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/audio.js +0 -0
  135. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/formatting.js +0 -0
  136. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/pdf.js +0 -0
  137. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/socket.js +0 -0
  138. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/js/services/ui.js +0 -0
  139. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/sounds/README.md +0 -0
  140. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/sounds/error.mp3 +0 -0
  141. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/static/sounds/success.mp3 +0 -0
  142. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/base.html +0 -0
  143. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/components/custom_dropdown.html +0 -0
  144. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/components/log_panel.html +0 -0
  145. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/components/mobile_nav.html +0 -0
  146. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/components/settings_form.html +0 -0
  147. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/components/sidebar.html +0 -0
  148. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/pages/details.html +0 -0
  149. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/pages/history.html +0 -0
  150. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/pages/progress.html +0 -0
  151. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/pages/research.html +0 -0
  152. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/pages/results.html +0 -0
  153. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/templates/settings_dashboard.html +0 -0
  154. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/utils/__init__.py +0 -0
  155. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/utils/formatters.py +0 -0
  156. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web/utils/templates.py +0 -0
  157. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/__init__.py +0 -0
  158. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/default_search_engines.py +0 -0
  159. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/__init__.py +0 -0
  160. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/full_search.py +0 -0
  161. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/meta_search_engine.py +0 -0
  162. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_arxiv.py +0 -0
  163. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_brave.py +0 -0
  164. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_ddg.py +0 -0
  165. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_elasticsearch.py +0 -0
  166. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_github.py +0 -0
  167. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_google_pse.py +0 -0
  168. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_guardian.py +0 -0
  169. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_local.py +0 -0
  170. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_local_all.py +0 -0
  171. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_pubmed.py +0 -0
  172. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_searxng.py +0 -0
  173. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py +0 -0
  174. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_serpapi.py +0 -0
  175. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_wayback.py +0 -0
  176. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/engines/search_engine_wikipedia.py +0 -0
  177. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/search_engine_base.py +0 -0
  178. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/src/local_deep_research/web_search_engines/search_engines_config.py +0 -0
  179. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/TESTING_PROPOSAL.md +0 -0
  180. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/__init__.py +0 -0
  181. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/download_stuff_for_local_test.py +0 -0
  182. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/feature_tests/IMPLEMENTATION_GUIDE_241.md +0 -0
  183. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/feature_tests/README.md +0 -0
  184. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/feature_tests/__init__.py +0 -0
  185. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/feature_tests/test_custom_context.py +0 -0
  186. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/fix_tests/README.md +0 -0
  187. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/fix_tests/test_duplicate_links_fix.py +0 -0
  188. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/searxng/test_searxng_instance.py +0 -0
  189. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/searxng/test_searxng_integration.py +0 -0
  190. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/test_google_pse.py +0 -0
  191. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/test_settings_manager.py +0 -0
  192. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/test_url_utils.py +0 -0
  193. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/test_url_utils_debug.py +0 -0
  194. {local_deep_research-0.4.0 → local_deep_research-0.4.1}/tests/test_url_utils_simple.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: local-deep-research
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: AI-powered research assistant with deep, iterative analysis using LLMs and web searches
5
5
  Author-Email: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>, HashedViking <6432677+HashedViking@users.noreply.github.com>
6
6
  License: MIT License
@@ -65,7 +65,7 @@ dependencies = [
65
65
  "plotly>=6.0.1",
66
66
  "kaleido==0.1.0",
67
67
  ]
68
- version = "0.4.0"
68
+ version = "0.4.1"
69
69
 
70
70
  [project.license]
71
71
  file = "LICENSE"
@@ -9,6 +9,7 @@ from .__version__ import __version__
9
9
  from .config.llm_config import get_llm
10
10
  from .config.search_config import get_search
11
11
  from .report_generator import get_report_generator
12
+ from .web.app import main
12
13
 
13
14
 
14
15
  def get_advanced_search_system(strategy_name: str = "iterdrag"):
@@ -0,0 +1 @@
1
+ __version__ = "0.4.1"
@@ -94,7 +94,14 @@ def main():
94
94
  debug = get_db_setting("web.debug", True)
95
95
 
96
96
  logger.info(f"Starting web server on {host}:{port} (debug: {debug})")
97
- socketio.run(app, debug=debug, host=host, port=port, allow_unsafe_werkzeug=True)
97
+ socketio.run(
98
+ app,
99
+ debug=debug,
100
+ host=host,
101
+ port=port,
102
+ allow_unsafe_werkzeug=True,
103
+ use_reloader=False,
104
+ )
98
105
 
99
106
 
100
107
  if __name__ == "__main__":
@@ -1,8 +1,8 @@
1
1
  import hashlib
2
2
  import json
3
- import os
4
3
  import threading
5
4
  from datetime import datetime
5
+ from pathlib import Path
6
6
 
7
7
  from loguru import logger
8
8
 
@@ -15,7 +15,7 @@ from ..models.database import add_log_to_db, calculate_duration, get_db_connecti
15
15
  from .socket_service import emit_to_subscribers
16
16
 
17
17
  # Output directory for research results
18
- OUTPUT_DIR = "research_outputs"
18
+ OUTPUT_DIR = Path("research_outputs")
19
19
 
20
20
 
21
21
  def start_research_process(
@@ -68,7 +68,7 @@ def start_research_process(
68
68
  return thread
69
69
 
70
70
 
71
- def _generate_report_path(query: str) -> str:
71
+ def _generate_report_path(query: str) -> Path:
72
72
  """
73
73
  Generates a path for a new report file based on the query.
74
74
 
@@ -82,9 +82,8 @@ def _generate_report_path(query: str) -> str:
82
82
  # Generate a unique filename that does not contain
83
83
  # non-alphanumeric characters.
84
84
  query_hash = hashlib.md5(query.encode("utf-8")).hexdigest()[:10]
85
- return os.path.join(
86
- OUTPUT_DIR,
87
- f"research_report_{query_hash}_{datetime.now().isoformat()}.md",
85
+ return OUTPUT_DIR / (
86
+ f"research_report_{query_hash}_{int(datetime.now().timestamp())}.md"
88
87
  )
89
88
 
90
89
 
@@ -139,8 +138,8 @@ def run_research_process(
139
138
  )
140
139
 
141
140
  # Set up the AI Context Manager
142
- output_dir = os.path.join(OUTPUT_DIR, f"research_{research_id}")
143
- os.makedirs(output_dir, exist_ok=True)
141
+ output_dir = OUTPUT_DIR / f"research_{research_id}"
142
+ output_dir.mkdir(parents=True, exist_ok=True)
144
143
 
145
144
  # Set up progress callback
146
145
  def progress_callback(message, progress_percent, metadata):
@@ -532,9 +531,7 @@ def run_research_process(
532
531
  )
533
532
 
534
533
  # Save as markdown file
535
- if not os.path.exists(OUTPUT_DIR):
536
- os.makedirs(OUTPUT_DIR)
537
-
534
+ OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
538
535
  report_path = _generate_report_path(query)
539
536
 
540
537
  # Send progress update for writing to file
@@ -545,7 +542,7 @@ def run_research_process(
545
542
  )
546
543
 
547
544
  logger.info("Writing report to: %s", report_path)
548
- with open(report_path, "w", encoding="utf-8") as f:
545
+ with report_path.open("w", encoding="utf-8") as f:
549
546
  f.write("# Quick Research Summary\n\n")
550
547
  f.write(f"Query: {query}\n\n")
551
548
  f.write(clean_markdown)
@@ -583,7 +580,7 @@ def run_research_process(
583
580
  "completed",
584
581
  completed_at,
585
582
  duration_seconds,
586
- report_path,
583
+ str(report_path),
587
584
  json.dumps(metadata),
588
585
  research_id,
589
586
  ),
@@ -598,7 +595,7 @@ def run_research_process(
598
595
  progress_callback(
599
596
  "Research completed successfully",
600
597
  100,
601
- {"phase": "complete", "report_path": report_path},
598
+ {"phase": "complete", "report_path": str(report_path)},
602
599
  )
603
600
 
604
601
  # Clean up resources
@@ -635,12 +632,10 @@ def run_research_process(
635
632
  )
636
633
 
637
634
  # Save as markdown file
638
- if not os.path.exists(OUTPUT_DIR):
639
- os.makedirs(OUTPUT_DIR)
640
-
635
+ OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
641
636
  report_path = _generate_report_path(query)
642
637
 
643
- with open(report_path, "w", encoding="utf-8") as f:
638
+ with report_path.open("w", encoding="utf-8") as f:
644
639
  f.write(final_report["content"])
645
640
 
646
641
  # Update database
@@ -668,7 +663,7 @@ def run_research_process(
668
663
  "completed",
669
664
  completed_at,
670
665
  duration_seconds,
671
- report_path,
666
+ str(report_path),
672
667
  json.dumps(metadata),
673
668
  research_id,
674
669
  ),
@@ -679,7 +674,7 @@ def run_research_process(
679
674
  progress_callback(
680
675
  "Research completed successfully",
681
676
  100,
682
- {"phase": "complete", "report_path": report_path},
677
+ {"phase": "complete", "report_path": str(report_path)},
683
678
  )
684
679
 
685
680
  # Clean up resources
@@ -49,8 +49,6 @@ def create_search_engine(
49
49
 
50
50
  # If not found, check the database for the API key
51
51
  if not api_key:
52
- from ..utilities.db_utils import get_db_setting
53
-
54
52
  api_key = get_db_setting(f"search.engine.web.{engine_name}.api_key")
55
53
 
56
54
  # Still try to get from engine config if not found
@@ -1 +0,0 @@
1
- __version__ = "0.4.0"
@@ -1,8 +0,0 @@
1
- """
2
- Main entry point for the Local Deep Research application.
3
- """
4
-
5
- from src.local_deep_research.web.app import main
6
-
7
- if __name__ == "__main__":
8
- main()