# <img src='./gui/all/ddg.png' card_color='#de5833' width='50' height='50' style='vertical-align:bottom'/> DuckDuckGo
Use DuckDuckGo to answer questions

## About
Uses the [DuckDuckGo API](https://duckduckgo.com/api) to provide information.
## Examples
* "when was stephen hawking born"
* "ask the duck about the big bang"
* "tell me more"
* "who is elon musk"
* "continue"
* "tell me more"
### Adding more `infobox` intents
internal `.intent` files can be added to allow parsing infoboxes returned by duckduckgo
first print the target infobox to inspect the returned results
```python
from skill_ovos_ddg import DuckDuckGoSolver
d = DuckDuckGoSolver()
info = d.get_infobox("Stephen Hawking")[0]
print(info)
# {'age at death': '76 years',
# 'born': {'after': 0,
# 'before': 0,
# 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727',
# 'precision': 11,
# 'time': '+1942-01-08T00:00:00Z',
# 'timezone': 0},
# 'children': '3, including Lucy',
# 'died': {'after': 0,
# 'before': 0,
# 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727',
# 'precision': 11,
# 'time': '+2018-03-14T00:00:00Z',
# 'timezone': 0},
# 'education': 'University College, Oxford (BA), Trinity Hall, Cambridge (PhD)',
# 'facebook profile': 'stephenhawking',
# 'fields': 'General relativity, quantum gravity',
# 'imdb id': 'nm0370071',
# 'instance of': {'entity-type': 'item', 'id': 'Q5', 'numeric-id': 5},
# 'institutions': 'University of Cambridge, California Institute of Technology, '
# 'Perimeter Institute for Theoretical Physics',
# 'official website': 'https://hawking.org.uk',
# 'other academic advisors': 'Robert Berman',
# 'resting place': 'Westminster Abbey',
# 'rotten tomatoes id': 'celebrity/stephen_hawking',
# 'thesis': 'Properties of Expanding Universes (1966)',
# 'wikidata aliases': ['Stephen Hawking',
# 'Hawking',
# 'Stephen William Hawking',
# 'S. W. Hawking',
# 'stephen'],
# 'wikidata description': 'British theoretical physicist, cosmologist and '
# 'author (1942–2018)',
# 'wikidata id': 'Q17714',
# 'wikidata label': 'Stephen Hawking',
# 'youtube channel': 'UCPyd4mR0p8zHd8Z0HvHc0fw'}
```
under `DuckDuckGoSolver.register_from_file` add your new `xxx.intent` file, where `xxx` needs to be a key present in the infobox, underscores are replaced with whitespaces
then that infobox value will be mapped to that intent file
## Category
**Information**
## Tags
#duckduckgo
#query
#search-engine
#searchengine
Raw data
{
"_id": null,
"home_page": "https://github.com/OpenVoiceOS/ovos-skill-ddg",
"name": "ovos-skill-ddg",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "ovos skill plugin",
"author": "JarbasAi",
"author_email": "jarbasai@mailfence.com",
"download_url": "https://files.pythonhosted.org/packages/73/b6/884f47d0753ccfe5a7c96900c7022494534769e44eb7b825d695f12d2e1d/ovos-skill-ddg-0.3.5.tar.gz",
"platform": null,
"description": "# <img src='./gui/all/ddg.png' card_color='#de5833' width='50' height='50' style='vertical-align:bottom'/> DuckDuckGo\nUse DuckDuckGo to answer questions\n\n\n\n\n## About\n\nUses the [DuckDuckGo API](https://duckduckgo.com/api) to provide information. \n\n## Examples\n\n* \"when was stephen hawking born\"\n* \"ask the duck about the big bang\"\n* \"tell me more\"\n* \"who is elon musk\"\n* \"continue\"\n* \"tell me more\"\n\n### Adding more `infobox` intents\n\ninternal `.intent` files can be added to allow parsing infoboxes returned by duckduckgo\n\nfirst print the target infobox to inspect the returned results\n```python\nfrom skill_ovos_ddg import DuckDuckGoSolver\nd = DuckDuckGoSolver()\ninfo = d.get_infobox(\"Stephen Hawking\")[0]\nprint(info)\n# {'age at death': '76 years',\n# 'born': {'after': 0,\n# 'before': 0,\n# 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727',\n# 'precision': 11,\n# 'time': '+1942-01-08T00:00:00Z',\n# 'timezone': 0},\n# 'children': '3, including Lucy',\n# 'died': {'after': 0,\n# 'before': 0,\n# 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727',\n# 'precision': 11,\n# 'time': '+2018-03-14T00:00:00Z',\n# 'timezone': 0},\n# 'education': 'University College, Oxford (BA), Trinity Hall, Cambridge (PhD)',\n# 'facebook profile': 'stephenhawking',\n# 'fields': 'General relativity, quantum gravity',\n# 'imdb id': 'nm0370071',\n# 'instance of': {'entity-type': 'item', 'id': 'Q5', 'numeric-id': 5},\n# 'institutions': 'University of Cambridge, California Institute of Technology, '\n# 'Perimeter Institute for Theoretical Physics',\n# 'official website': 'https://hawking.org.uk',\n# 'other academic advisors': 'Robert Berman',\n# 'resting place': 'Westminster Abbey',\n# 'rotten tomatoes id': 'celebrity/stephen_hawking',\n# 'thesis': 'Properties of Expanding Universes (1966)',\n# 'wikidata aliases': ['Stephen Hawking',\n# 'Hawking',\n# 'Stephen William Hawking',\n# 'S. W. Hawking',\n# 'stephen'],\n# 'wikidata description': 'British theoretical physicist, cosmologist and '\n# 'author (1942\u20132018)',\n# 'wikidata id': 'Q17714',\n# 'wikidata label': 'Stephen Hawking',\n# 'youtube channel': 'UCPyd4mR0p8zHd8Z0HvHc0fw'}\n```\nunder `DuckDuckGoSolver.register_from_file` add your new `xxx.intent` file, where `xxx` needs to be a key present in the infobox, underscores are replaced with whitespaces\n\nthen that infobox value will be mapped to that intent file\n\n\n## Category\n**Information**\n\n## Tags\n#duckduckgo\n#query\n#search-engine\n#searchengine\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "ovos duck duck go skill plugin",
"version": "0.3.5",
"project_urls": {
"Homepage": "https://github.com/OpenVoiceOS/ovos-skill-ddg"
},
"split_keywords": [
"ovos",
"skill",
"plugin"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4033b09a54c643e85c4f9d23592940e6b41b940b3fa0fd149f7d14a949d75a49",
"md5": "73aa25c18278acc5daf05aef8b33d2c4",
"sha256": "36c3c22d60f9ae8e131485b39d131bdd2824317dd003b5de632dbea40e2819dd"
},
"downloads": -1,
"filename": "ovos_skill_ddg-0.3.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "73aa25c18278acc5daf05aef8b33d2c4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 107662,
"upload_time": "2025-06-08T22:33:18",
"upload_time_iso_8601": "2025-06-08T22:33:18.010296Z",
"url": "https://files.pythonhosted.org/packages/40/33/b09a54c643e85c4f9d23592940e6b41b940b3fa0fd149f7d14a949d75a49/ovos_skill_ddg-0.3.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "73b6884f47d0753ccfe5a7c96900c7022494534769e44eb7b825d695f12d2e1d",
"md5": "71f477775f1257dbb1731a37b03803a2",
"sha256": "e44c28d038248fba7d185888c4d6628cba585f1c5fb56692c0301ac2a1628bc2"
},
"downloads": -1,
"filename": "ovos-skill-ddg-0.3.5.tar.gz",
"has_sig": false,
"md5_digest": "71f477775f1257dbb1731a37b03803a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 68178,
"upload_time": "2025-06-08T22:33:19",
"upload_time_iso_8601": "2025-06-08T22:33:19.894769Z",
"url": "https://files.pythonhosted.org/packages/73/b6/884f47d0753ccfe5a7c96900c7022494534769e44eb7b825d695f12d2e1d/ovos-skill-ddg-0.3.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-06-08 22:33:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenVoiceOS",
"github_project": "ovos-skill-ddg",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": []
},
{
"name": "langcodes",
"specs": []
},
{
"name": "ovos_workshop",
"specs": [
[
">=",
"3.4.0"
],
[
"<",
"8.0.0"
]
]
},
{
"name": "ovos-translate-server-plugin",
"specs": []
},
{
"name": "ovos-plugin-manager",
"specs": [
[
"<",
"2.0.0"
],
[
">=",
"0.0.26"
]
]
},
{
"name": "ovos-date-parser",
"specs": []
},
{
"name": "crf_query_xtract",
"specs": [
[
">=",
"0.1.2"
],
[
"<",
"1.0.0"
]
]
},
{
"name": "brill_postagger",
"specs": [
[
">=",
"0.1.2"
],
[
"<",
"1.0.0"
]
]
}
],
"lcname": "ovos-skill-ddg"
}