Module to get meaning, synonym, antonym, part_of_speech, usage_example, pronunciation and hyphenation for a given word
Project description
1 Vocabulary
A dictionary magician in the form of a module!
- Author:
Tasdik Rahman
Some of my projects are also on Gratipay
1.1 What is it
For a given word, using Vocabulary, you can get its
Meaning
Synonyms
Antonyms
Part of speech : whether the word is a noun, interjection or an adverb et el
Translate : Translate a phrase from a source language to the desired language.
Usage example : a quick example on how to use the word in a sentence
Pronunciation
Hyphenation : shows the particular stress points(if any)
1.2 Features
Written in uncomplicated Python
Returns JSON objects, PYTHON dictionaries and lists
Minimum dependencies ( just uses requests module )
Easy to install
A decent substitute to Wordnet(well almost!) Wanna see? Here is a small comparison
Stupidly easy to use
Fast!
Supports
both, python2.* and python3.*
Works on Mac, Linux and Windows
1.3 Why should I use Vocabulary
Wordnet is a great resource. No doubt about it! So why should you use Vocabulary when we already have Wordnet out there?
1.3.1 Wordnet Comparison
Let’s say you want to find out the synonyms for the word car.
Using Wordnet
>>> from nltk.corpus import wordnet
>>> syns = wordnet.synsets('car')
>>> syns[0].lemmas[0].name
'car'
>>> [s.lemmas[0].name for s in syns]
['car', 'car', 'car', 'car', 'cable_car']
>>> [l.name for s in syns for l in s.lemmas]
['car', 'auto', 'automobile', 'machine', 'motorcar', 'car', 'railcar', 'railway_car', 'railroad_car', 'car', 'gondola', 'car', 'elevator_car', 'cable_car', 'car']
Doing the same using Vocabulary
>>> from vocabulary.vocabulary import Vocabulary as vb
>>> vb.synonym("car")
'[{
"seq": 0,
"text": "automobile"
}, {
"seq": 1,
"text": "cart"
}, {
"seq": 2,
"text": "automotive"
}, {
"seq": 3,
"text": "wagon"
}, {
"seq": 4,
"text": "motor"
}]'
>>> ## load the json data
>>> car_synonyms = json.loads(vb.synonym("car"))
>>> type(car_synonyms)
<class 'list'>
>>>
So there you go. You get the data in an easy JSON format.
You can go on comparing for the other methods too.
1.4 Installation
1.4.1 Option 1: installing through pip (Suggested way)
$ pip install vocabulary
If you are behind a proxy
$ pip --proxy [username:password@]domain_name:port install vocabulary
Note: If you get command not found then $ sudo apt-get install python-pip should fix that
1.4.2 Option 2: Installing from source (Only if you must)
$ git clone https://github.com/prodicus/vocabulary.git
$ cd vocabulary/
$ pip install -r requirements.txt
$ python setup.py install
1.4.3 Demo
1.5 Documentation
For a detailed usage example, refer the documentation at Read the Docs
1.6 Contributing
Please refer Contributing page for details
1.6.1 Discuss
Join us on our Gitter channel if you want to chat or if you have any questions in your mind.
1.6.2 Contributers
Huge shoutout to @tenorz007 for adding the ability to return the API response as different data structures.
Thanks to Anton Relin for adding the translate module.
And a big shout out to all the contributers for their contributions
1.7 Changelog
Please refer Changelog page for details
1.8 Bugs
Please report the bugs at the issue tracker
1.9 Similar
Other similar software inspired by Vocabulary
Vocabulary : The Go lang port of this python counterpart
woordy : Gives back word translations
guile-words : The Guile Scheme port of this python counterpart
1.9.1 Known Issues
In python2, when using the method Vocabulary.synonym() or Vocabulary.pronunciation()
>>> vb.synonym("car")
[{
"seq": 0,
"text": "automotive"
}, {
"seq": 1,
"text": "motor"
}, {
"seq": 2,
"text": "wagon"
}, {
"seq": 3,
"text": "cart"
}, {
"seq": 4,
"text": "automobile"
}]
>>> type(vb.pronunciation("hippopotamus"))
<class 'list'>
>>> json.dumps(vb.pronunciation("hippopotamus"))
'[{"raw": "(h\\u012dp\\u02cc\\u0259-p\\u014ft\\u02c8\\u0259-m\\u0259s)", "rawType": "ahd-legacy", "seq": 0}, {"raw": "HH IH2 P AH0 P AA1 T AH0 M AH0 S", "rawType": "arpabet", "seq": 1}]'
>>>
You are being returned a list object instead of a JSON object. When returning the latter, there are some unicode issues. A fix for this will be released soon.
I may suggest python-ftfy which can help you in this matter.
1.10 License :
Built with ♥ by Tasdik Rahman under the MIT License ©
You can find a copy of the License at http://prodicus.mit-license.org/
Project details
Release history Release notifications | RSS feed
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 Vocabulary-1.0.4.tar.gz
.
File metadata
- Download URL: Vocabulary-1.0.4.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d33e127069b9f12fd3172dcf570528ae2cc87dc987c15d56db329c87da17994a |
|
MD5 | 2ee6480e2becc52a01d4f01d78f42ad8 |
|
BLAKE2b-256 | b85d5b35b4ce851c9dadbbdb0020dcf71a3f8dbbf0676ee92d81da849b5888e0 |