UBC-MDS / software-review-2022

0 stars 0 forks source link

Submission Group 25: bccovideda (Python) #37

Open johnwslee opened 2 years ago

johnwslee commented 2 years ago

Submitting Author: Lianna Hovhannisyan @liannah, John Lee @johnwslee, Vadim Taskaev @vtaskaev1, Vanessa Yuen @imtvwy Package Name: bccovideda One-Line Description of Package: simple and scalable package for EDA of Covid19 cases in BC Repository Link: https://github.com/UBC-MDS/bccovideda Version submitted: v1.0.10 Editor: Lianna Hovhannisyan @liannah, John Lee @johnwslee, Vadim Taskaev @vtaskaev1, Vanessa Yuen @imtvwy
Reviewer 1: Simon Guo @y248guo Reviewer 2: Kiran Phaterpekar @kphaterp Reviewer 3: Rong Li @lirnish Reviewer 4: Jessie Wong @jessie14


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

kphaterp 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. Each function is documented very well. Perhaps include some additional comments in the get_data() function like you have done for your other functions. This would make it easier for someone with less Python experience to understand the code in get_data()
  2. The show_summary_stat() function is definitely useful and easy to use. Maybe something in the future that you could consider is giving the user the option to save the data frames in a suitable format as a png file. This is a personal preference and something that would just elevate your great functions to the next level.
  3. Similar to the above point, the plot_hist_by_cond() and plot_line_by_date were simple, yet effective. Again, this is not necessary for your package but it would elevate these functions if you were able to provide the user with the option to save these figures as png files somewhere in the directory.
  4. Something that you could consider for the future is allowing users to be able to customize the plots a little more. Maybe there is a way that you could allow the users to select the colours they want for the figures? This is just a design choice and would just add to the functionality of your functions
  5. In the README file and the documentation, perhaps make the function parameter descriptions slightly more specific. Specifically, are the data ranges going to be inclusive or exclusive of the two time periods provided? These are just nit-picky details because overall I think your package is well-established and documented.
  6. Overall, I believe this package is articulate, well-documented, and has great functionality. Great job!
jessie14 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


Review Comments

  1. The README is very description and informative, and the images of the outputs of each function are very helpful. One possible improvement would be to specify what input parameters each function takes in, and show which arguments are mandatory or optional, and what the default values for the optional arguments are.
  2. The plot_line_by_date function is very well done and easy to use. A future improvement could be to allow an argument that plots the total cases in BC over time, instead of plotting separate lines for each region. The function would be even more robust if the user could specify certain conditions to be included in the graph, for example plotting only the number of cases of women over time, or the number of lab diagnosed cases over time.
  3. Similar to the previous point, show_summary_stat would be even more useful if it accepted an input argument that allowed the user to calculate the summary statistics of a specific subset of the data, such as only for a certain region or age group. Alternatively, the get_data function could be altered instead such that it only retrieves a specified subset of data.
  4. One possible point of confusion is that the Number of Cases is plotted on the x-axis in plot_hist_by_cond but on the y-axis in plot_line_by_date. The standalone graphs are perfectly understandable, but it would be ideal to have consistency between the two graphs.
  5. In the example usage notebook, I'm not sure why altair is imported separately, since it is already a dependency in the bccovideda package. The extra imports and data transformers could be confusing to users unfamilar with altair, and its unclear if these extra lines of code are needed in order to use the plotting functions.
  6. Overall the package is easy to understand and use, documentation is clear and accessible, and the repo is well organized. Well done!
lirnish 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.5h


Review Comments

I think this is because this block:

try:
    datetime.datetime.strptime(startDate, '%Y-%m-%d')
except ValueError:
    raise ValueError("Incorrect date format, should be YYYY-MM-DD")

is before this:

if not(isinstance(startDate, str)):
    raise TypeError('Invalid argument type: startDate must be a string.')

It tries to convert the date before checking if it is a character or not. So maybe the order should be reverted.

y248guo commented 2 years ago

Package Review

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

Final approval (post-review)

Estimated hours spent reviewing: 2h


Review Comments

bccovideda is a potentially helpful package on trending topics, which may come in handy when we want to do some basic data analysis on Covid data. Most of the issues and comments have been addressed by fellow reviewers, as I would try to not repeat what others have mentioned, my apologies if there is any overlapping. Here are some of my comments regarding this package:

Overall, again, it is an interesting and helpful package. Thanks for the great work, group 25!