NOTE: Mainintaing this module requires constantly changing the scrapping endpoints which unfortunately I no longer have the bandwidth to do so, so this module is DEPRECATED. Kindly use other substitutes available on PyPI. Thanks!
PyDictionary is a Dictionary Module for Python 2/3 to get meanings, translations, synonyms and Antonyms of words. It uses WordNet for getting meanings, Google for translations, and synonym.com for getting synonyms and antonyms.
This module uses Python Requests, BeautifulSoup4 and goslate as dependencies
Installation is very simple through pip (or easy_install)
For pip
pip install PyDictionary
For Easy_Install
easy_install PyDictionary
PyDictionary can be utilised in 2 ways, either by creating a dictionary instance which can take words as arguments or by creating a dictionary instance with a fixed amount of words.
For example,
from PyDictionary import PyDictionary
dictionary=PyDictionary()
This is will create a local instance of the PyDictionary class and now it can be used to get meanings, translations etc.
print (dictionary.meaning("indentation"))
This will return a dictionary containing the meanings of the word. For example the above code will return:
{'Noun': ['a concave cut into a surface or edge (as in a coastline', 'the
formation of small pits in a surface as a consequence of corrosion', 'th
e space left between the margin and the start of an indented line', 'the
act of cutting into an edge with toothlike notches or angular incisions']
}
The dictionary keys are the different types of the word. If a word is both a verb and a noun then there will be 2 keys:'Noun' and 'Verb'. Each key refers to a list containing the meanings
For Synonyms,
print (dictionary.synonym("Life"))
This will return a list containing the Synonyms of the word.
For Antonyms,
print (dictionary.antonym("Life"))
This will return a list containing the Antonyms of the word.
For Translations,
print (dictionary.translate("Range",'es'))
This will return the Translation of the word "Range" in Spanish. For Language codes consult Google Translate. The return value is string in Python 3 and unicode in Python 2
Alternatively, you can set a fixed number of words to the PyDictionary Instance. This is useful if you just want to get the meanings of some words quickly without any development need.
Example:
from PyDictionary import PyDictionary
dictionary=PyDictionary("hotel","ambush","nonchalant","perceptive")
'There can be any number of words in the Instance'
print(dictionary.printMeanings()) '''This print the meanings of all the words'''
print(dictionary.getMeanings()) '''This will return meanings as dictionaries'''
print (dictionary.getSynonyms())
print (dictionary.translateTo("hi")) '''This will translate all words to Hindi'''
Similarly Synonyms and Antonyms can also be printed onto the screen.
Current Version: 2.0.1 Created By Pradipta Bora 2020.