UBC-MDS / software-review-2022

0 stars 0 forks source link

Submission Group 16: animalsgonewild (Python) #55

Open zjr-mds opened 2 years ago

zjr-mds commented 2 years ago

Submitting Author Name:

Package Name: Ranimalsgonewild One-Line Description of Package: Python package for text analysis with an animal theme Repository Link: https://github.com/UBC-MDS/animalsgonewild Version submitted: 1.1.1 Reviewer 1: Shiva Jena (@shiva) Reviewer 2: Lynn Wu (@lynnwbl) Reviewer 3: Son Chau (@SonQBChau) Reviewer 4: Zack Tang (@zackt113)


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.

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

SonQBChau 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:


Review Comments

lynnwbl 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.5hr


Review Comments

Great work overall. Here are some of my comments regarding this package:

  1. I tested the testTransformer function and found it returns differently from the help function example. image It looks like the function replaced the adjective silly into an animal too.

  2. As Son mentioned, the outputs for worldCloud and also for animalType return a image, and from testing in both terminal and PyCharm, I got a line representing the image instead of the actual image. For example, here is the output that I got: <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=300x250 at 0x10BA0E130>. Maybe you can provide a note or some alternatives for checking the actual images from these two functions from terminal or other tools.

  3. In the README file, consider providing some brief coding examples on how to use your functions. Also, minor but it might be a good idea to format the function names into coding format.

  4. Minor: Lack of indentation for the line Returns... inside the docstring in textTransformer

  5. In README file, in addition to the pip install instruction, also consider include how to import the package and the functions to make it easier for readers to start.

zjr-mds commented 2 years ago

@lynnwbl Thank you for the helpful feedback that we could be able to fix some of the minor issues before milestone4 submission! However, for the textTransformer, the database we're using can't distinguish the word with perfect accuracy if it could be both noun and adj, like 'silly' which can be used as both a noun or an adjective. So far, any words like this would always be treated as nouns.

zjr-mds commented 2 years ago

@SonQBChau Thank you for the great tips! The reason we had separate files was that we were initially working separately but we had a reviewer compile the functions into one single file before the submission, but maybe we should change the name to avoid confusion. Thanks for catching the issue with the lower case nouns!

zackt113 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:


Review Comments

Great job, group 16, I like the interesting package and I enjoy the time that I play around with different strings.

Here's something could make the package even better:

  1. I agree with Lynn that it would be better to include examples of using functions; so, users will have a direct idea about how to utilize the function.
  2. When I run the animalType function, the graph did not render properly. I think you guys may need to add some instructions on how to make the function works as people would like to see those interesting plots.
  3. Same issue here, when I run the wordCloud function, the picture did not render in the terminal as well. It would be great if I can see those pictures when I run the function!
  4. I know we are not that proficient in language processing yet. But I think it would be great if the function animalClassifier can justify the reason why the certain animal was returned. Also, if it is possible, you guys could add more animals to the list!
  5. Aside from what Lynn and Son mentioned before, the textTransformer function did not work properly with verbs as well. It will transform a verb into an animal as well. When I typed "I wanna go", it returned "I wanna Whale". Maybe the group can further edit on this function to avoid the issue! Screen Shot 2022-02-05 at 9 56 57 PM
  6. I like the graph generated from the word cloud. I think it would be better if the team can add an optional argument for saving the picture to a specific folder. So, if the user wants to use it, the function can save it for them.
  7. Last but not least, when I went to the src folder to see those codes closely, I found that the animalType function does not have codes, just docstring. I think it could be a good practice to save codes consistently as other functions do have codes in the src folder.

Other than that, great works overall. Keep developing on it!

Best, Zack

shivajena 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 hr


Review Comments

This package is really entertaining and very nicely documented with clear instructions. Most of the points have already been addressed and therefore, have just few suggestions to take it further:

  1. You can try solving the rendering issues with fewer words in the word cloud. For a suggestion, may be reduce max_words = 1000 in place of 2000.
  2. The text transformer is looping through a large number of nouns in the wn.all_synsets('n), along with looping into full length of the text input, which can slow things down in the case where text has high number of words. If there is some scope to optimise this, it would be great to make it fast, as this package is meant for fun and faster responses will definitely be cherry on the top.

Overall, really great work group 16, very structured, humorous and entertaining way of doing things.