local-deep-research 0.1.21__py3-none-any.whl → 0.1.23__py3-none-any.whl

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.
@@ -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
@@ -4,8 +4,9 @@ local_deep_research/config.py,sha256=3g8-QPMrxoIMjHvyjSJBFUELmAIyOQFHApUnd8p50a8
4
4
  local_deep_research/main.py,sha256=uQXtGQ6LtZNd5Qw63D5ke4Q_LjYimouWVSUknVsk3JQ,3645
5
5
  local_deep_research/report_generator.py,sha256=EvaArnWirMgg42fMzmZeJczoEYujEbJ2ryHHYuuoXx8,8058
6
6
  local_deep_research/search_system.py,sha256=yY3BEzX68vdtUcYF9h6lC3yVao0YA_NSBj6W3-RwlKk,15459
7
+ local_deep_research/defaults/.env.template,sha256=U4B_InwGZl4IVuAdbY_u0nKN_akHtebMBwUU_e_eljc,427
7
8
  local_deep_research/defaults/__init__.py,sha256=2Vvlkl-gmP_qPYWegE4JBgummypogl3VXrQ1XzptFDU,1381
8
- local_deep_research/defaults/llm_config.py,sha256=7wTIugVYD_ypG7Xwvu3DBt0yO8TWBf_drOIQOSOkdQQ,9628
9
+ local_deep_research/defaults/llm_config.py,sha256=Ql0euemgLw_Uwg5g05sA1SkVzAYK7O_ZAnnBi3rsAi4,10095
9
10
  local_deep_research/defaults/local_collections.toml,sha256=zNa03PVnFrZ757JdZOuW6QDxkOc6ep5tG8baGBrMmXM,1778
10
11
  local_deep_research/defaults/main.toml,sha256=6Lzbc5sVLxMwu83bLBp_tpYOZgmtThCfPL1L42eTGro,1939
11
12
  local_deep_research/defaults/search_engines.toml,sha256=g0-qrw10oMgW74z_lYpPDkGwMje25mvalfY1EJ0nL3g,8134
@@ -50,9 +51,9 @@ local_deep_research/web_search_engines/engines/search_engine_semantic_scholar.py
50
51
  local_deep_research/web_search_engines/engines/search_engine_serpapi.py,sha256=XikEYnM-pAaR70VeAJ28lbqpRzCj4bCA9xY29taTV8g,9215
51
52
  local_deep_research/web_search_engines/engines/search_engine_wayback.py,sha256=astAvSLajDZ6rwgthJ3iBcHSWuDSYPO7uilIxaJhXmU,18132
52
53
  local_deep_research/web_search_engines/engines/search_engine_wikipedia.py,sha256=KSGJECbEcxZpVK-PhYsTCtzedSK0l1AjQmvGtx8KBks,9799
53
- local_deep_research-0.1.21.dist-info/licenses/LICENSE,sha256=Qg2CaTdu6SWnSqk1_JtgBPp_Da-LdqJDhT1Vt1MUc5s,1072
54
- local_deep_research-0.1.21.dist-info/METADATA,sha256=wmEq00-MvscM4aUEqNZWCmNa4ytEAfiBvljEx3px5DQ,16405
55
- local_deep_research-0.1.21.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
56
- local_deep_research-0.1.21.dist-info/entry_points.txt,sha256=u-Y6Z3MWtR3dmsTDFYhXyfkPv7mALUA7YAnY4Fi1XDs,97
57
- local_deep_research-0.1.21.dist-info/top_level.txt,sha256=h6-uVE_wSuLOcoWwT9szhX23mBWufu77MqmM25UfbCY,20
58
- local_deep_research-0.1.21.dist-info/RECORD,,
54
+ local_deep_research-0.1.23.dist-info/licenses/LICENSE,sha256=Qg2CaTdu6SWnSqk1_JtgBPp_Da-LdqJDhT1Vt1MUc5s,1072
55
+ local_deep_research-0.1.23.dist-info/METADATA,sha256=2QywVLwHQyMbLAekWM2r37YKtXNVRnOdV_eXgE2_Sl0,16181
56
+ local_deep_research-0.1.23.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
57
+ local_deep_research-0.1.23.dist-info/entry_points.txt,sha256=u-Y6Z3MWtR3dmsTDFYhXyfkPv7mALUA7YAnY4Fi1XDs,97
58
+ local_deep_research-0.1.23.dist-info/top_level.txt,sha256=h6-uVE_wSuLOcoWwT9szhX23mBWufu77MqmM25UfbCY,20
59
+ local_deep_research-0.1.23.dist-info/RECORD,,