A simple Dictionary and Translator Module for Python
Project description
PyDictAPI
A simple 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.
Source Distribution
File details
Details for the file PyDictAPI-1.4.2.tar.gz
.
File metadata
- Download URL: PyDictAPI-1.4.2.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80a9cfe9a2dfad390ffaec4f34a4f61c4a79c6be8668fc74ae314012c7bffec6 |
|
MD5 | b69b238018e0a751f989f164eebd64ad |
|
BLAKE2b-256 | 2e2854259170c34d67e02fb0a7157c5f83f4a66315ae63e00a3fbe47b050f934 |