An advanced Dictionary and Translator Module for Python
Project description
PyDictAPI
An advanced Dictionary and Translator Module for Python
PyDictAPI is a Dictionary Module for Python 3+ to get a detailed and well-structured meanings of a queried word in JSON format. PyDictAPI searches for the query on the web, if the query matches than it returns the Definitions/Examples/Synonyms/Antonyms as specified by the user. And incase of incorrect words, the response is returned as a suggestion of the correct word.
And incase of wrong translation-query or language code, the source query is returned back.
Sources: Dictionary.com, Thesaurus, Lexico
This module uses Requests and bs4 dependencies to scrape the web and find the definitions and return it in a well-structured JSON document
Installation
PyDictAPI can be easily installed through PIP
pip install PyDictAPI
View Changelog
Dictionary searches
Dictionary searches can be performed by creating a Finder instance which can take a word as argument
For example,
from PyDictAPI import Finder
Meanings = Finder()
print(Meanings.findMeanings('apple'))
This is will create a local instance of the Finder class and will return a dictionary containing the meanings of the word.
The Output can be seen as:
{
'word': 'Apple',
'meanings': [
{
'partOfSpeech': 'Noun',
'definitions': [
{
'definition': 'The usually round, red or yellow, edible fruit of a small tree, Malus sylvestris, of the rose family.',
'example': ''
}
]
},
{
'partOfSpeech': 'Noun',
'definitions': [
{
'definition': 'A rosaceous tree, Malus sieversii, native to Central Asia but widely cultivated in temperate regions in many varieties, having pink or white fragrant flowers and firm rounded edible fruits',
'example': ''
}
]
}
]
}
Exceptions
Case - 1: If the word is spelt incorrectly
print(Meanings.findMeanings('helloooo'))
Incase of incorrect words, the response is returned as a suggestion of the correct word
The Response can be seen as:
{
'message': 'Couldn't find results for helloooo, Did you mean hello?'
}
Case - 2: If the word doesn't exist
print(Meanings.findMeanings('abcdefghijkl'))
The Response can be seen as:
{
'message': 'Couldn't find any results for ABCDEFGHIJKL, try searching the web...'
}
Finding Examples, Synonyms and Antonyms
print(Meanings.findUsage('help', 2)) #Finding Examples
# Here 2 defines the maximum number of examples to be included in the response,
# by default it is set to 5
print(Meanings.findSynonyms('help', 4)) #Finding Synonyms
print(Meanings.findAntonyms('help', 4)) #Finding Antonyms
Outputs for Examples, Synonyms and Antonyms
Examples:
{
'help': ['She helped him find a buyer', 'Long-term funding is desperately being sought for a voluntary service that helps local victims of domestic violence.']
}
Synonyms:
{'help': ['Advice', 'Aid', 'Benefit', 'Comfort']}
Antonyms:
{'help': ['Blockage', 'Encumbrance', 'Handicap', 'Hindrance']}
Using the Translator
from PyDictAPI import Translate
t = Translate()
print(t.languages_help()) # Prints all supported languages
print(t.languages_help(pretty=True))
# Pretty=true returns the list in a well structured manner. By default Pretty is set to False
print(t.translateItems("Hello, How are you?", "hi")) # hi: Hindi
# Translates text according to the language code
Output:
{'query': 'Hello, How are you?', 'language_detected': 'Hindi', 'translation': 'नमस्कार किसे हो आप?'}
About
Copyright (c) 2021 Shawan Mandal.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.