UBC-MDS / software-review-2021

1 stars 1 forks source link

coRPysprofiling (Python) #38

Open ssyayayy opened 3 years ago

ssyayayy commented 3 years ago

Submitting Author: Anita Li (@AnitaLi-0371), Elanor Boyle-Stanley (@eboylestanley), Junghoo Kim (@jkim222383), Ivy Zhang (@ssyayayy) Package Name: coRPysprofiling One-Line Description of Package: coRPysprofiling performs EDA and EDV on text Repository Link: https://github.com/UBC-MDS/coRPysprofiling/tree/0.1.6 Version submitted: 0.1.6 Editor: Tiffany Timbers(@ttimbers ) Reviewer 1: TBD
Reviewer 2: TBD
Archive: TBD
Version accepted: TBD


Description

Scope

Technical checks

For details about the pyOpenSci packaging requirements, see our [packaging guide][PackagingGuide]. 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

vigneshRajakumar commented 3 years ago

Package Review

I have worked with one of the team members on a project in the past but I do not have any conflicts of interest.

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

Hey Team!

Overall, great job! lots of tests, good documentation and a comprehensive README. I just had a couple of issues getting it to work out of the box but these are pretty quick fixes. I've gone ahead and added some recommended changes to my review comments. The changes requested are all in the README and should be rather simple to incorporate.

Installation

I had some issues with the installation:

You might need to include vanilla PyPi as an extra index to be able to install all of your dependencies. Some packages don't seem to publish the same versions to both TestPyPi and PyPi. I suggest editing the install instructions to this:

pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple corpysprofiling

Even after I'd done this, I had to update my visual C++ to get the install working. Maybe you could list visual C++ 14.0 as hard dependency?

Functionality

I tested the functionality and it works as detailed. You might need to update the usage to:

from corpysprofiling import corpysprofiling

and update the functions calls to use corpysprofiling.method_name() instead of just method_name()

As it stands right now, copy-pasting from the usage section would mean the user would run into errors when running the examples

Testing

Good coverage!

You're using try-except to check for error handling. Maybe consider replacing it with the recommended pytest way

huan-ds commented 3 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: 3 hours


Review Comments

Hi, team,

Good job on this Python Package! This is really useful and clear detailed and organized. There are just a few comments that you might want to consider:

Package name: You use the same package name for R and Python pacakges. I feel it is a bit confusing.

Usage: As Vignesh mentioned above, the installation of import corpysprofiling does not work. You might need to update to from corpysprofiling import corpysprofiling.

Functionality: I tested function corpus_analysis and corpus_viz. They work well. Unfortunately, I got an error message when testing the other functions:

AttributeError: 'Logger' object has no attribute 'getLogger'

Test: There are a lot of test cases, which is great!

Nice work on this project. I enjoyed reviewing it. Let me know if you have any questions about this feedback.

Huanhuan