UBC-MDS / software-review-2023

DSCI 524
0 stars 0 forks source link

Group 06 - forxpy #7

Open dhruvinishar opened 1 year ago

dhruvinishar commented 1 year ago

Submitting Author: Dhruvi Nishar @dhruvinishar, Mohammad Reza Nabizadeh @mrnabiz, Stepan Zaiatc @stepanz25, Hongjian Li @Hongjian-Sam-Li All current maintainers: Dhruvi Nishar @dhruvinishar, Mohammad Reza Nabizadeh @mrnabiz, Stepan Zaiatc @stepanz25, Hongjian Li @Hongjian-Sam-Li Package Name: forxpy One-Line Description of Package: Package to access daily exchange rates and forex conversion Repository Link: forxpy Version submitted: v2.0.0 Editor: TBD
Reviewer 1: Vincent Ho
Reviewer 2: Nikita Easow Reviewer 3: Lennon Lok Lam Reviewer 4: Chen Lin Archive: TBD
Version accepted: TBD Date accepted (month/day/year): TBD


Description

Package to access daily exchange rates and forex conversion created by Group 6: Dhruvi Nishar, Mohammad Reza Nabizadeh, Hongjian Li, and Stepan Zaiatc.

forxpy allows users to easily convert currency rates by utilizing data from Bank of Canada. The package supports multiple currencies and provides historical exchange rates. It also has the ability to make currency conversions with the use of a simple function call, making it easy for developers to integrate into their projects. Additionally, it provides a way to get historical exchange rates in a chart, which makes it useful for dashboard building. Overall, forxpy is a powerful and flexible package for handling currency conversions in Python.

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

Please fill out our survey

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

Editor and Review Templates

The editor template can be found here.

The review template can be found here.

lennonay commented 1 year 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 file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

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

Functionality

Final approval (post-review)

Estimated hours spent reviewing: 1 hour


Review Comments

It was a pleasure reviewing the project, very well done!

vincentho32 commented 1 year 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 file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

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

Functionality

For packages also 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

CChCheChen commented 1 year 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 file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

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

Functionality

For packages also 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. The authors' information should be added in either the pyproject.toml file or elsewhere for contacting purposes.
  2. The installation is done without any issue and function can be called as expected.
  3. The usage section is very in-detail with the explanations for the function purposes. It would be great to have all function call examples.
  4. Since the package has the function to plot graphs, it would be better to see an example in the readme, as an attention grabber.
  5. Glad to see that functions with proper check against the input variables, but I would think it will be better of with functions in separate python files to not only code maintenance but also for simpler code implementation.
  6. Test functions have corner case checked. By using the codecov, the code coverage badge can be included in the readme.
  7. Also since the CI/CD is passed, the related badge can be added to readme as well
nik11susan commented 1 year 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 file requirements The package meets the readme requirements below:

The README should include, from top to bottom:

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

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

Functionality

For packages also 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 package! Will probably end up using it someday.

  1. The functions are all well written and have an important functionality in the project.
  2. Installation and importing of the package was smooth.
  3. Example python notebook does not have the output for the plot function.
  4. All functions work great as expected, but the plot function gave two graph output - the second seemed to be the same as the first but at a smaller scale. The function documentation mentioned that the resultant output would be one plot - so I'm not sure if that is expected.
  5. Badges! Like the previous reviewers mentioned, please add them - they make your package look good 😄
  6. You could maybe mention how this python package is different from the existing packages that are similar to this one.

I really enjoyed going through this package. Thank you!!