=====
ddg
=====
`Duck Duck Go`_ zero-click api for your command-line
Install
=======
::
$ pip install ddg
or from the source:
::
$ python setup.py install
Usage
======
::
ddg [-h] [-b] [-d] [-j] [-l] [-s] [-u] [query [query ...]]
www.duckduckgo.com zero-click api for your command-line
positional arguments:
query the search query
optional arguments:
-h, --help show this help message and exit
-b, --bang open the !bang redirect url in a new browser tab
-d, --define return the definition result
-j, --json return the zero-click info api json response
-l, --lucky open the result url in a new browser tab
-s, --search launch a DuckDuckGo search in a new browser tab
-u, --url return the result url
Examples
=========
Call ddg from your command line to access the `Duck Duck Go Zero-Click Info API`_ ::
$ddg red-black tree
A red–black tree is a type of self-balancing binary search tree, a data structure
used in computer science, typically used to implement associative arrays.
Get the url of the answer source ::
$ ddg red-black tree -u
https://en.wikipedia.org/wiki/Red-black_tree
Combinining flags behaves as expected ::
$ ddg schnauzer -d -u
http://www.merriam-webster.com/dictionary/schnauzer
Launch a `!Bang redirect`_ in your web browser with the `-b` flag
Launch a query on `Wolfram Alpha`_ ::
$ ddg wa integral of sin x / x from negative inf to inf -b
Launch a search on `Stack Overflow`_ ::
$ ddg so [c++11] lambda return values -b
Launch a `search on Duck Duck Go`_ with `-s` ::
$ ddg Lord of the Rings -s
Launch the `result url`_ directly with `-l` ::
$ ddg python webbrowser -l
ddg plays nice with other utilities in your shell ::
$ echo "shark" | ddg -dl
::
$ ddg welsh corgi -u | pbcopy
::
$ ls | ddg -du
Use `-j` to output the `json response`_ from the API ::
$ ddg simpsons characters -j >> file.txt
Thanks
=======
| The duckduckgo module is a modification from http://github.com/crazedpsyc/python-duckduckgo.
| Original duckduckgo module source from http://github.com/mikejs/python-duckduckgo (outdated)
.. _Duck Duck Go: http://www.duckduckgo.com
.. _Duck Duck Go Zero-Click Info API: http://api.duckduckgo.com/
.. _!Bang redirect: http://duckduckgo.com/bang.html
.. _Stack Overflow: http://stackoverflow.com/search?q=%5Bc%2B%2B11%5D%20lambda%20return%20values
.. _Wolfram Alpha: http://www.wolframalpha.com/input/?i=integral%20of%20sin%20x%20%2F%20x%20from%20negative%20inf%20to%20inf
.. _result url: http://docs.python.org/2/library/webbrowser.html
.. _search on Duck Duck Go: https://duckduckgo.com/?q=Lord%20of%20the%20Rings
.. _json response: http://api.duckduckgo.com/?q=simpsons+characters&format=json&pretty=1
Release history
###############
0.2.2 (2012-12-20)
==================
* Fixed the error handling for printing results with special characters
0.2.1 (2012-12-18)
==================
* When an exception is raised in the duckduckgo module, report the error
and then return None. This allows ddg.py to continue to the next query
rather than performing a sys.exit(1).
* Updated README
* Fixed formatting in LICENSE file
* Changed CHANGES to an rst file
* Updated the setup.py file
* Updated the help for all the input arguments
0.2.0 (2012-12-17)
==================
* Changed the behavior of the -d flag. Rather than prefixing the query with
`define`, now just prioritize the definition result when searching for an
answer to the query.
* Updated README with more examples.
0.1.7 (2012-12-16)
==================
* Added a new trove classifier and made code more PEP8 compliant
0.1.6 (2012-12-16)
==================
* Fixed an issue with the -b prefix, please upgrade to the latest version
with pip install --upgrade ddg
0.1.5 (2012-12-15)
==================
* Updated license to MIT
0.1.4 (2012-12-15)
==================
* Using webbrowser rather than os dependent Popen commands
0.1.1 (2012-12-15)
==================
* First working version, initial release