UBC-MDS / software-review-2022

0 stars 0 forks source link

Group 20: clevercloud (Python) #32

Open Arushi282 opened 2 years ago

Arushi282 commented 2 years ago

Submitting Author: Arushi Ahuja @Arushi282, Amelia Tang @aimee0317, Victor Francis @Vikiano, Adrianne Leung @adrianne-l Package Name: clevercloud One-Line Description of Package: Creating meaningful and customized word clouds Repository Link: https://github.com/UBC-MDS/clevercloud Version submitted: v1.1.0 Editor: Arushi Ahuja @Arushi282, Amelia Tang @aimee0317, Victor Francis @Vikiano, Adrianne Leung @adrianne-l Reviewer 1: Mukund Iyer @miyer26 Reviewer 2: Hatef Rahmani @hatefr Reviewer 3: Arijeet CHATTERJEE @arijc76 Reviewer 4: John Lee @johnwslee


Description

Scope

* Please fill out a pre-submission inquiry before submitting a data visualization package. For more info, see notes on categories of our guidebook.

The package extracts the frequency of words and displays them in a word cloud image that is easy to interpret.

People who need to do basic visualization for Natural Language Processing (NLP).

WordCloud: a word count generator that emphasis more frequently used words from an array of strings and represents them in the form of an image.

What we do differently: (1) Our aim is to improve on the pre-processing of strings before creating a wordcloud in order to make it more user specific and efficient. (2) Word cloud only eliminates limited amount of stopwords, but with our package we are giving users the opportunity to add more stopwords that cater to their analysis. (3) We are focused on removing as many redundant and duplicate words by setting strings to lower case, removing punctuation, lemmatizing and stemming the text.

Technical checks

For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:

Publication options

JOSS Checks - [ ] The package has an **obvious research application** according to JOSS's definition in their [submission requirements][JossSubmissionRequirements]. Be aware that completing the pyOpenSci review process **does not** guarantee acceptance to JOSS. Be sure to read their submission requirements (linked above) if you are interested in submitting to JOSS. - [ ] The package is not a "minor utility" as defined by JOSS's [submission requirements][JossSubmissionRequirements]: "Minor ‘utility’ packages, including ‘thin’ API clients, are not acceptable." pyOpenSci welcomes these packages under "Data Retrieval", but JOSS has slightly different criteria. - [ ] The package contains a `paper.md` matching [JOSS's requirements][JossPaperRequirements] with a high-level description in the package root or in `inst/`. - [ ] The package is deposited in a long-term repository with the DOI: *Note: Do not submit your package separately to JOSS*

Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?

This option will allow reviewers to open smaller issues that can then be linked to PR's rather than submitting a more dense text based review. It will also allow you to demonstrate addressing the issue via PR links.

Code of conduct

P.S. *Have feedback/comments about our review process? Leave a comment here

Editor and Review Templates

Editor and review templates can be found here

johnwslee commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme requirements The package meets the readme requirements below:

The README should include, from top to bottom:

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:

Functionality

For packages co-submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing: 1.5 hours


Review Comments

  1. I tried to install your package with pip install clevercloud as guided in README. However, while I was installing it, errors occurred and I couldn't install it. The error message was " ERROR: Failed building wheel for wordcloud". It would be better to check one more time if there is any problem with installation procedure. Just FYI, I am using window, and I tried to install your package in a fresh new virtual environment.

  2. All the functions are well documented, and the docstrings are easy to follow. I think it would be even better if you reinforce the CleverClean() and CleverLemStem() functions with a bit more tests in the function, so that it becomes more robust.

  3. The information about the authors, such as email address, are not mentioned in README or other documents. The only place I could find the authors' info was the contributors section of the GitHub page. I think that the information about the authors are to be mentioned somewhere in the GitHub repo, as it is listed as one of the items in the reviewers' checklist.

  4. I could not find the link to the "ReadtheDoc" website of your package. How about putting another badge for this?

  5. Just one more item for minor modification. Near the badges in README, the sentence "A package created to try a GitHub Actions workflow!" is written twice.

  6. Lastly, I remember that we had one optional question for wordcloud in one of either 571 or 573 labs. I really enjoyed doing it even though it was optional. I believe it would have been even more enjoyable if your package was available at that time. Thank you very much for coming up with a great package. :)

arijeetchatterjee commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme requirements The package meets the readme requirements below:

The README should include, from top to bottom:

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:

Functionality

For packages co-submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing: 1 hour


Review Comments

I was able to install your package following the instructions and I had no issues in checking the functionality of the package (Just FYI, I am using macOS). Overall I think this is a great package and the functionality developed for this package in a short space of time is really nice. I have mentioned my recommendations below, which are mostly minor changes, that I think could make this good package even better:

Once again, I would like to reiterate, great job on developing this package. Thanks for coming up with this package.

miyer26 commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme requirements The package meets the readme requirements below:

The README should include, from top to bottom:

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:

Functionality

For packages co-submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing: 1 hour


Review Comments

Great job on the package! Its functions are extremely useful and have been well executed! I had no issues running your package from a new environment on MacOS.

I have a few comments which you may find useful:

  1. To supplement the usage section with an example output of running your functions, it will be useful to include a link to the rendered HTML hosted on ReadtheDocs.

  2. It will be great to see the test coverage go higher than 90% in future versions of the package.

  3. Perhaps it maybe useful to mention other packages that exist in the Python verse that focus on preprocessing the text and carry out lemmatization and stemming. That being said, I like the details provided to distinguish your package from the existing Wrodcloud package.

  4. The description for the function of CleverStopwords in the README is a little confusing. The description can be reworded to read "A function that returns a list..." or something to that effect.

  5. It would be cool to see some additional arguments in the CleverWordCloud function that allows the user to control the size of the output image and set a background color or color scheme.

  6. There can be an additional test for the CleverWordCloud function that ensures that an output is produced by verifying its type and perhaps its dimensions.

As you can see, all these suggestions are only minor changes to the existing package which is already fantastic! I'm sure it will be fo great use in any future courses/capstone projects that deal with NLP! Great job everyone :)

hatefr commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Readme requirements The package meets the readme requirements below:

The README should include, from top to bottom:

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole. Package structure should follow general community best-practices. In general please consider:

Functionality

For packages co-submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

Final approval (post-review)

Estimated hours spent reviewing: 1 hour


Review Comments

I wish to congratulate authors for this well done package to create interesting word clouds. I think the package development is clear and maintainable and I had no problem installing your package on my mac. I only have some minor suggestions to further improve the package structure: