Karan6124 commited on
Commit
0b191da
·
1 Parent(s): 50b9615

replace duckduckgo-search with ddgs package and implement search tool

Browse files
Files changed (3) hide show
  1. app/tools/search_tool.py +2 -2
  2. pyproject.toml +1 -1
  3. uv.lock +15 -15
app/tools/search_tool.py CHANGED
@@ -1,6 +1,6 @@
1
  import logging
2
- from duckduckgo_search import DDGS # type: ignore
3
-
4
  logger= logging.getLogger(__name__)
5
 
6
  def search_web(query: str, max_results: int=5) -> str:
 
1
  import logging
2
+ from ddgs import DDGS # type: ignore
3
+
4
  logger= logging.getLogger(__name__)
5
 
6
  def search_web(query: str, max_results: int=5) -> str:
pyproject.toml CHANGED
@@ -16,7 +16,7 @@ dependencies = [
16
  "google-generativeai==0.5.4",
17
  "prometheus-client==0.20.0",
18
  "python-dotenv==1.0.1",
19
- "duckduckgo-search>=8.1.1",
20
  ]
21
 
22
  [dependency-groups]
 
16
  "google-generativeai==0.5.4",
17
  "prometheus-client==0.20.0",
18
  "python-dotenv==1.0.1",
19
+ "ddgs>=9.14.3",
20
  ]
21
 
22
  [dependency-groups]
uv.lock CHANGED
@@ -388,26 +388,26 @@ wheels = [
388
  ]
389
 
390
  [[package]]
391
- name = "dnspython"
392
- version = "2.8.0"
393
- source = { registry = "https://pypi.org/simple" }
394
- sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" }
395
- wheels = [
396
- { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
397
- ]
398
-
399
- [[package]]
400
- name = "duckduckgo-search"
401
- version = "8.1.1"
402
  source = { registry = "https://pypi.org/simple" }
403
  dependencies = [
404
  { name = "click" },
405
  { name = "lxml" },
406
  { name = "primp" },
407
  ]
408
- sdist = { url = "https://files.pythonhosted.org/packages/10/ef/07791a05751e6cc9de1dd49fb12730259ee109b18e6d097e25e6c32d5617/duckduckgo_search-8.1.1.tar.gz", hash = "sha256:9da91c9eb26a17e016ea1da26235d40404b46b0565ea86d75a9f78cc9441f935", size = 22868, upload-time = "2025-07-06T15:30:59.73Z" }
409
  wheels = [
410
- { url = "https://files.pythonhosted.org/packages/db/72/c027b3b488b1010cf71670032fcf7e681d44b81829d484bb04e31a949a8d/duckduckgo_search-8.1.1-py3-none-any.whl", hash = "sha256:f48adbb06626ee05918f7e0cef3a45639e9939805c4fc179e68c48a12f1b5062", size = 18932, upload-time = "2025-07-06T15:30:58.339Z" },
 
 
 
 
 
 
 
 
 
411
  ]
412
 
413
  [[package]]
@@ -846,7 +846,7 @@ source = { editable = "." }
846
  dependencies = [
847
  { name = "alembic" },
848
  { name = "celery" },
849
- { name = "duckduckgo-search" },
850
  { name = "fastapi" },
851
  { name = "google-generativeai" },
852
  { name = "prometheus-client" },
@@ -870,7 +870,7 @@ dev = [
870
  requires-dist = [
871
  { name = "alembic", specifier = "==1.13.1" },
872
  { name = "celery", specifier = "==5.3.6" },
873
- { name = "duckduckgo-search", specifier = ">=8.1.1" },
874
  { name = "fastapi", specifier = "==0.111.0" },
875
  { name = "google-generativeai", specifier = "==0.5.4" },
876
  { name = "prometheus-client", specifier = "==0.20.0" },
 
388
  ]
389
 
390
  [[package]]
391
+ name = "ddgs"
392
+ version = "9.14.3"
 
 
 
 
 
 
 
 
 
393
  source = { registry = "https://pypi.org/simple" }
394
  dependencies = [
395
  { name = "click" },
396
  { name = "lxml" },
397
  { name = "primp" },
398
  ]
399
+ sdist = { url = "https://files.pythonhosted.org/packages/e3/49/dd55549e0d3659fe335ed842a85ddc9cb1e6b4afdeeda6a2a59a381d989b/ddgs-9.14.3.tar.gz", hash = "sha256:2bc5dceb092f330585277a8f3fc50f488828f55e09793ae85975e01b3141879c", size = 57647, upload-time = "2026-05-14T21:22:18.258Z" }
400
  wheels = [
401
+ { url = "https://files.pythonhosted.org/packages/3a/db/717efa01e0412c80b68798ff0e980003884adb33749d7e0c3135b9e172c2/ddgs-9.14.3-py3-none-any.whl", hash = "sha256:670f464512b5bcaa5182d2ab0cea688f23df58d7338083d68f6f37747434f53b", size = 68142, upload-time = "2026-05-14T21:22:16.872Z" },
402
+ ]
403
+
404
+ [[package]]
405
+ name = "dnspython"
406
+ version = "2.8.0"
407
+ source = { registry = "https://pypi.org/simple" }
408
+ sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" }
409
+ wheels = [
410
+ { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
411
  ]
412
 
413
  [[package]]
 
846
  dependencies = [
847
  { name = "alembic" },
848
  { name = "celery" },
849
+ { name = "ddgs" },
850
  { name = "fastapi" },
851
  { name = "google-generativeai" },
852
  { name = "prometheus-client" },
 
870
  requires-dist = [
871
  { name = "alembic", specifier = "==1.13.1" },
872
  { name = "celery", specifier = "==5.3.6" },
873
+ { name = "ddgs", specifier = ">=9.14.3" },
874
  { name = "fastapi", specifier = "==0.111.0" },
875
  { name = "google-generativeai", specifier = "==0.5.4" },
876
  { name = "prometheus-client", specifier = "==0.20.0" },