Coder Social home page Coder Social logo

tasdikrahman / vocabulary Goto Github PK

View Code? Open in Web Editor NEW
556.0 24.0 76.0 570 KB

[Not Maintained anymore] Python Module to get Meanings, Synonyms and what not for a given word

Home Page: https://vocabulary.readthedocs.io/en/latest/

License: MIT License

Python 100.00%
nlp python api wordnik glosbe synonyms antonym pronunciation dictionary

vocabulary's People

Contributors

d4d3vd4v3 avatar gitter-badger avatar infinite-joy avatar lethargilistic avatar monkpit avatar pasoevi avatar prodicus avatar pyup-bot avatar relisher avatar taranjeet avatar tasdikrahman avatar tenorz007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vocabulary's Issues

Initial Update

Hi ๐Ÿ‘Š

This is my first visit to this fine repo, but it seems you have been working hard to keep all dependencies updated so far.

Once you have closed this issue, I'll create seperate pull requests for every update as soon as I find one.

That's it for now!

Happy merging! ๐Ÿค–

JSON vs Python objects

Why do all the methods return a string of JSON? What advantage does this have over returning plain Python objects (dicts, lists, etc)?

It seems a little backwards to return JSON as part of the API that's supposed to be easy to use - now I also have to parse that myself. If you require JSON strings, perhaps you could provide a keyword argument, eg json=True or json=False that will handle this accordingly.

Use nose for finding tests

the current way of running tests in the CI is kind of hacky. Using nose for finding/running tests is desirable

Unusual docstring format

While this isn't really a huge problem, you may wish to reformat your docstrings according to the established formats.

PEP 287 recommends that reST (reStructuredText) format be used, but Epytext is popular as well - They're used because Python IDEs are often able to parse them to get more information about the things they document, for example, for auto-completion.

[Problems] Inconsistent data

  • Pronunciation 'seq' key is always set to 0
  • PartOfSpeech doesn't return all data gotten from API, only returns the first
  • Antonym value is always a list (Known Issue) and doesn't return all data gotten from the API; this is because the API returns a list and the package handles it as if its a text and just sets it without parsing it first

Installation issue on Ubuntu 16.04

Faced the following error while installing via pip:

Collecting vocabulary
Using cached Vocabulary-1.0.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-PWXQ1D/vocabulary/setup.py", line 19, in
with open(path.join(here, 'requirements.txt')) as f:
IOError: [Errno 2] No such file or directory: '/tmp/pip-build-PWXQ1D/vocabulary/requirements.txt'


Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-PWXQ1D/vocabulary/

I ran pip install requests before this since it failed with the error "No such module : requests" earlier.

Installation issues on Mac

Hey,
I tried to install the package using pip but I'm getting an error. I have added the traceback below:

$ pip3 install vocabulary
Collecting vocabulary
  Downloading Vocabulary-1.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-4zb4lgql/vocabulary/setup.py", line 22, in <module>
        with open(path.join(here, 'requirements.txt'), encoding='utf-8') as f:
    FileNotFoundError: [Errno 2] No such file or directory: '/private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-4zb4lgql/vocabulary/requirements.txt'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-4zb4lgql/vocabulary/

I wasn't able to install Vocabulary in a clean virtual environment (with no installations of requests and mock) either.

$ pip install vocabulary
Collecting vocabulary
  Using cached Vocabulary-1.0.2.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-erniz75j/vocabulary/setup.py", line 12, in <module>
        from vocabulary.version import VERSION
      File "/private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-erniz75j/vocabulary/vocabulary/__init__.py", line 5, in <module>
        from .vocabulary import Vocabulary
      File "/private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-erniz75j/vocabulary/vocabulary/vocabulary.py", line 25, in <module>
        import requests
    ImportError: No module named 'requests'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/bd/tp7n9v393ml9src1bt4m70180000gn/T/pip-build-erniz75j/vocabulary/

As can be observed in the traceback, this issue is due to the import statement in __init__.py module which .
How about we move define the version and release in the setup.py itself so as to keep things condensed ?

On a separate note, I believe that we are using rather constrained dependency package versions.
For example, any version of requests above 2.0.0 should work fine as a dependency.
What's your take on this?

docs autogeneration

For generating docs using sphinx, one has to manually run the make html command if some changes are made.

Using CI/CD would remove this manual work

Installation fails on Windows

On Windows using Python 3.4, I get an error during installation.
The error happens during install through pip, as well as installation through git-clone / setup.py.

See #1 for fix - explicitly passing encoding="utf8" to the open method when reading the README file.

A lot of duplicates from meaning()

When using the Vocabulary.meaning() function there is an enormous amount of duplicates. In some cases like the word cat, some meanings are duplicated 4 or even 5 times. Is there any way to only display one of the similar meanings?

Rate Limit?

This is similar to the issue #23
I installed vocabulary on 3 different machines. On each machine, I could obtain the meaning, synonym, etc. of the word for only a few function calls (around 800 requests). I then receive 'False' for all the subsequent calls except hyphenation()

Is there a rate limit? If so, can we include it in the docs?

Contribute more backends, extend API

I've looked over your project and it seems to be very interesting. In fact I've done something similar for my own purposes. My goal, however, was to build a small set of tools to 1) extract words from my dictionary 2) obtain translation/usage/examples/synonyms etc 3) show that in conky 4) convert that to Anki format for future learning. Take a look if you're interested: https://github.com/balta2ar/yandex-slovari-tetradki/

I've implemented a small set of backends for slightly different sites, the implementation might be not very robust and production ready (it rather scrapes the HTML code, not API), but I still think we have common ideas in our implementations. In this issue I wanted to inquire whether you think that support for additional sites (something along the sites that my script supports) would be appropriate in your project?

Odd requirements.txt

The requirements.txt file should be a list of packages required by your package, for parsing by pip.

In your requirements.txt, we have the following:

requests==2.8.1
Vocabulary==0.0.3
wheel==0.26.0
  • requests==2.8.1 - Why this version? Is there some quirk you require? If you're just using the normal API, you can leave out the explicit version and just use requests here.
  • Vocabulary==0.0.3 - This is your package, right? This could cause some nasty dependency loops in pip, it shouldn't be here.
  • wheel==0.26.0 - Why? Where are you using wheel?

Return False always

Hi. I installed successfully this package. (no errors). I try your examples

from vocabulary import Vocabulary as vb
print(vb.meaning('car'))
print(vb.synonym('car'))

Python version 3.5.2 (2.7.12) - I tried it on windows and linux and same result.
It returns me always false no matter what word I use.

only this works:
print(vb.hyphenation('car'))

[{"text": "car", "seq": 0}]

Thanks for help

Blazing fast, but a significant issue

Hi,

Love this library and thank god it exists! However, the synonyms don't seem to be very accurate. For example, "small" returns "fly" as the first result, and "bridge" as the second. Whilst I can see how the "fly" can be a synonym (at a stretch), not sure how bridge is "synonymous" with "small"? Am wondering if there is anyway to improve the accuracy of synonyms?

Cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.