Skip to main content

fetch synonyms from various web services

Project description

CLI tool to extract synonyms/antonyms from online services, which formats them into dict structures (word|alt :: definition; etc.) suitable for ding.


It's fairly basic, and not all result sets are structured alike. Furthermore the extraction schemes aren't likely to last for long (web scraping is typically a maintenance task).
Only scans for singular words (most services wouldn't return results otherwise). And might yield error messages for charset issues as well.


dingonyms --merriamwebster "find"
Parameter Aliases Class
--thesaurus -t --thes EN
--merriamwebster -mw --merr --webster --merweb EN
--synonym -s --syn EN
--reverso --rev // -fr -es -it -pt -nl -ru -jp EN/**
--wordhippo -hippo --wordhip EN
--mobythesaurus -mby --moby EN
--urban -u --urb --ubn LEXICON
--dictcc --en-es --en-it --de-fr --en-pt DICT
--openthesaurus -ot --othes --open DE
--woxikon -wx --woxi DE
--synonyme_de -sd --desyn DE
--all (-t -mw -syn -rev -ot -wx -urban) MIXED
--en (-t -mw -syn -rev) MIXED
--de (-ot -wx -sd) MIXED
--no-antonyms -na FLAG
--no-headers -nh FLAG
--async --parallel --io FLAG

Flags can be abbreviated and also combined: --thes --merrweb would query two services at once, or --all even all. While --en or --de run through language- specific functions. (See the man page for more details. There is a man page.)

CONFIG IN ~/.dingrc (take care to change 3 to available index)

set searchmeth(3,name) {Synonyms}
set searchmeth(3,type) {3}
set searchmeth(3,dictfile) {}
set searchmeth(3,separator) { :: }
set searchmeth(3,language1) {Group}
set searchmeth(3,language2) {Synonyms}
set searchmeth(3,grepcmd) {dingonyms}
set searchmeth(3,grepopts) {--async --thesaurus --merriamwebster --synonyms}
set searchmeth(3,maxlength) {30}
set searchmeth(3,maxresults) {200}
set searchmeth(3,minlength) {2}
set searchmeth(3,shapedresult) {1}
set searchmeth(3,foldedresult) {0}

You might want to add one entry for each search backend even. (Unique index, title/name, and grepopts --parameter each.)

SETUP (pip3 install -U dingonyms)

You might have to symlink ~/.local/bin/dingonyms into ~/bin after installation. pip-package binaries are often only picked up in terminal/interactive shells.

Hijack as module

Obviously this is priamrily a CLI tool, but can be utilized per monkeypatching:

import dingonyms ls = [] dingonyms.out.alternatives = lambda *x: ls.append(x)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

dingonyms-0.8-py3-none-any.whl (12.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page