local-deep-research 0.1.21__tar.gz → 0.1.23__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 (66) hide show
  1. {local_deep_research-0.1.21/src/local_deep_research.egg-info → local_deep_research-0.1.23}/PKG-INFO +1 -8
  2. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/README.md +0 -7
  3. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/pyproject.toml +2 -2
  4. local_deep_research-0.1.23/src/local_deep_research/defaults/.env.template +11 -0
  5. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/defaults/llm_config.py +12 -1
  6. {local_deep_research-0.1.21 → local_deep_research-0.1.23/src/local_deep_research.egg-info}/PKG-INFO +1 -8
  7. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research.egg-info/SOURCES.txt +1 -0
  8. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/LICENSE +0 -0
  9. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/MANIFEST.in +0 -0
  10. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/setup.cfg +0 -0
  11. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/__init__.py +0 -0
  12. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/citation_handler.py +0 -0
  13. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/config.py +0 -0
  14. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/defaults/__init__.py +0 -0
  15. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/defaults/local_collections.toml +0 -0
  16. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/defaults/main.toml +0 -0
  17. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/defaults/search_engines.toml +0 -0
  18. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/main.py +0 -0
  19. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/report_generator.py +0 -0
  20. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/search_system.py +0 -0
  21. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/utilties/__init__.py +0 -0
  22. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/utilties/enums.py +0 -0
  23. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/utilties/llm_utils.py +0 -0
  24. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/utilties/search_utilities.py +0 -0
  25. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/utilties/setup_utils.py +0 -0
  26. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/__init__.py +0 -0
  27. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/app.py +0 -0
  28. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/static/css/styles.css +0 -0
  29. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/static/js/app.js +0 -0
  30. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/static/sounds/README.md +0 -0
  31. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/static/sounds/error.mp3 +0 -0
  32. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/static/sounds/success.mp3 +0 -0
  33. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/api_keys_config.html +0 -0
  34. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/collections_config.html +0 -0
  35. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/index.html +0 -0
  36. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/llm_config.html +0 -0
  37. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/main_config.html +0 -0
  38. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/search_engines_config.html +0 -0
  39. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/settings.html +0 -0
  40. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web/templates/settings_dashboard.html +0 -0
  41. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/__init__.py +0 -0
  42. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/__init__.py +0 -0
  43. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/full_search.py +0 -0
  44. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/meta_search_engine.py +0 -0
  45. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_arxiv.py +0 -0
  46. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_brave.py +0 -0
  47. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_ddg.py +0 -0
  48. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_github.py +0 -0
  49. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_google_pse.py +0 -0
  50. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_guardian.py +0 -0
  51. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_local.py +0 -0
  52. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_local_all.py +0 -0
  53. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_pubmed.py +0 -0
  54. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_searxng.py +0 -0
  55. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py +0 -0
  56. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_serpapi.py +0 -0
  57. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_wayback.py +0 -0
  58. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/engines/search_engine_wikipedia.py +0 -0
  59. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/search_engine_base.py +0 -0
  60. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/search_engine_factory.py +0 -0
  61. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research/web_search_engines/search_engines_config.py +0 -0
  62. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research.egg-info/dependency_links.txt +0 -0
  63. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research.egg-info/entry_points.txt +0 -0
  64. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research.egg-info/requires.txt +0 -0
  65. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/src/local_deep_research.egg-info/top_level.txt +0 -0
  66. {local_deep_research-0.1.21 → local_deep_research-0.1.23}/tests/test_google_pse.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: local-deep-research
3
- Version: 0.1.21
3
+ Version: 0.1.23
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
@@ -106,13 +106,6 @@ ldr # (OR python -m local_deep_research.main)
106
106
  Access the web interface at `http://127.0.0.1:5000` in your browser.
107
107
 
108
108
  ## Features
109
- <div align="center">
110
- <a href="https://www.youtube.com/watch?v=4tDqV__jzKY">
111
- <img src="https://img.youtube.com/vi/4tDqV__jzKY/0.jpg" alt="Local Deep Research">
112
- <br>
113
- <span>▶️ Watch Video</span>
114
- </a>
115
- </div>
116
109
 
117
110
  - 🔍 **Advanced Research Capabilities**
118
111
  - Automated deep research with intelligent follow-up questions
@@ -37,13 +37,6 @@ ldr # (OR python -m local_deep_research.main)
37
37
  Access the web interface at `http://127.0.0.1:5000` in your browser.
38
38
 
39
39
  ## Features
40
- <div align="center">
41
- <a href="https://www.youtube.com/watch?v=4tDqV__jzKY">
42
- <img src="https://img.youtube.com/vi/4tDqV__jzKY/0.jpg" alt="Local Deep Research">
43
- <br>
44
- <span>▶️ Watch Video</span>
45
- </a>
46
- </div>
47
40
 
48
41
  - 🔍 **Advanced Research Capabilities**
49
42
  - Automated deep research with intelligent follow-up questions
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "local-deep-research"
7
- version = "0.1.21"
7
+ version = "0.1.23"
8
8
  description = "AI-powered research assistant with deep, iterative analysis using LLMs and web searches"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -67,4 +67,4 @@ include-package-data = true
67
67
 
68
68
  [tool.setuptools.package-data]
69
69
  "local_deep_research.web" = ["templates/*", "static/*", "static/**/*"]
70
- "local_deep_research.defaults" = ["*.toml", "*.py", "*.template"]
70
+ "local_deep_research.defaults" = ["*.toml", "*.py", "*.template", ".env.template"]
@@ -0,0 +1,11 @@
1
+ # API Keys
2
+ # ANTHROPIC_API_KEY=your-api-key-here
3
+ # OPENAI_API_KEY=your-openai-key-here
4
+ # SERP_API_KEY=your-api-key-here
5
+ # GUARDIAN_API_KEY=your-api-key-here
6
+ # GOOGLE_PSE_API_KEY=your-google-api-key-here
7
+ # GOOGLE_PSE_ENGINE_ID=your-programmable-search-engine-id-here
8
+
9
+ # SearXNG Configuration, add at least SEARXNG_INSTANCE to .env file to use this search engine
10
+ # SEARXNG_INSTANCE = "http://localhost:8080"
11
+ # SEARXNG_DELAY = 2.0
@@ -57,6 +57,8 @@ def get_llm(model_name=None, temperature=None, provider=None):
57
57
  # Handle different providers
58
58
  if provider == "anthropic":
59
59
  api_key = settings.get('ANTHROPIC_API_KEY', '')
60
+ if not api_key:
61
+ api_key = os.getenv('ANTHROPIC_API_KEY')
60
62
  if not api_key:
61
63
  logger.warning("ANTHROPIC_API_KEY not found. Falling back to default model.")
62
64
  return get_fallback_model(temperature)
@@ -67,6 +69,8 @@ def get_llm(model_name=None, temperature=None, provider=None):
67
69
 
68
70
  elif provider == "openai":
69
71
  api_key = settings.get('OPENAI_API_KEY', '')
72
+ if not api_key:
73
+ api_key = os.getenv('OPENAI_API_KEY')
70
74
  if not api_key:
71
75
  logger.warning("OPENAI_API_KEY not found. Falling back to default model.")
72
76
  return get_fallback_model(temperature)
@@ -75,7 +79,8 @@ def get_llm(model_name=None, temperature=None, provider=None):
75
79
 
76
80
  elif provider == "openai_endpoint":
77
81
  api_key = settings.get('OPENAI_ENDPOINT_API_KEY', '')
78
-
82
+ if not api_key:
83
+ api_key = os.getenv('OPENAI_ENDPOINT_API_KEY')
79
84
  if not api_key:
80
85
  logger.warning("OPENAI_ENDPOINT_API_KEY not found. Falling back to default model.")
81
86
  return get_fallback_model(temperature)
@@ -213,6 +218,8 @@ def is_openai_available():
213
218
  """Check if OpenAI is available"""
214
219
  try:
215
220
  api_key = settings.get('OPENAI_API_KEY', '')
221
+ if not api_key:
222
+ api_key = os.getenv('OPENAI_API_KEY')
216
223
  return bool(api_key)
217
224
  except:
218
225
  return False
@@ -221,6 +228,8 @@ def is_anthropic_available():
221
228
  """Check if Anthropic is available"""
222
229
  try:
223
230
  api_key = settings.get('ANTHROPIC_API_KEY', '')
231
+ if not api_key:
232
+ api_key = os.getenv('ANTHROPIC_API_KEY')
224
233
  return bool(api_key)
225
234
  except:
226
235
  return False
@@ -229,6 +238,8 @@ def is_openai_endpoint_available():
229
238
  """Check if OpenAI endpoint is available"""
230
239
  try:
231
240
  api_key = settings.get('OPENAI_ENDPOINT_API_KEY', '')
241
+ if not api_key:
242
+ api_key = os.getenv('OPENAI_ENDPOINT_API_KEY')
232
243
  return bool(api_key)
233
244
  except:
234
245
  return False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: local-deep-research
3
- Version: 0.1.21
3
+ Version: 0.1.23
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
@@ -106,13 +106,6 @@ ldr # (OR python -m local_deep_research.main)
106
106
  Access the web interface at `http://127.0.0.1:5000` in your browser.
107
107
 
108
108
  ## Features
109
- <div align="center">
110
- <a href="https://www.youtube.com/watch?v=4tDqV__jzKY">
111
- <img src="https://img.youtube.com/vi/4tDqV__jzKY/0.jpg" alt="Local Deep Research">
112
- <br>
113
- <span>▶️ Watch Video</span>
114
- </a>
115
- </div>
116
109
 
117
110
  - 🔍 **Advanced Research Capabilities**
118
111
  - Automated deep research with intelligent follow-up questions
@@ -14,6 +14,7 @@ src/local_deep_research.egg-info/dependency_links.txt
14
14
  src/local_deep_research.egg-info/entry_points.txt
15
15
  src/local_deep_research.egg-info/requires.txt
16
16
  src/local_deep_research.egg-info/top_level.txt
17
+ src/local_deep_research/defaults/.env.template
17
18
  src/local_deep_research/defaults/__init__.py
18
19
  src/local_deep_research/defaults/llm_config.py
19
20
  src/local_deep_research/defaults/local_collections.toml