UBC-MDS / software-review-2023

DSCI 524
0 stars 0 forks source link

Group 15 - socceranalysis (python) #17

Open vincentho32 opened 1 year ago

vincentho32 commented 1 year ago

Submitting Author: Flora Ouedraogo (@florawendy19), Gaoxiang Wang (@louiewang820), Manvir Kohli (@manvirsingh96) , Vincent Ho (@vincentho32) All current maintainers: (@florawendy19, @louiewang820, @manvirsingh96, @vincentho32) Package Name: socceranalysis One-Line Description of Package: With this package, you can quickly obtain summary statistics for a particular team, identify outliers based on market value, rank players by goals per game and display different plots with soccer data. Repository Link: https://github.com/UBC-MDS/socceranalysis_python Version submitted: v1.0.0 Editor: Flora Ouedraogo (@florawendy19), Gaoxiang Wang (@louiewang820), Manvir Kohli (@manvirsingh96) , Vincent Ho (@vincentho32)
Reviewer 1: Morris Chan Reviewer 2: Daniel Cairns Reviewer 3: Vikram Grewal Reviewer 4: Yaou Hu Archive: TBD
Version accepted: TBD Date accepted (month/day/year): TBD


Description

socceranalysis is a powerful Python package designed to make it easy to analyze and understand soccer statistics. With its set of functions, you can quickly obtain summary statistics for a particular team, identify outliers based on market value, rank players by goals per game and display different plots.

The package is built in a way that allows user to easily customize the functions to their own interests, giving them the flexibility to analyze the data in a way that is most meaningful to them. Whether you're a coach, a sports journalist or an analyst, socceranalysis will help you unlock the insights hidden in your soccer data and make more informed decisions.

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.

YHuUBC 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

Congratulations on creating such an interesting package. Your package is well-developed and fun to use.

I have the following suggestions for your reference:

  1. Your package has passed all tests, and the CI-CD workflow functions well, but such information is not easy to find for a user; maybe you could include these badges on your README.md.
  2. Your package's readthedocs website has no example usage information. Please double-check the link.
  3. Following the usage example indicated in your package's README.md, rankingplayers function does not work. from socceranalysis.rankingplayers import * data = pd.read_excel('soccer_data.xlsx') rankingplayers(data, "Goals_total", "Assists_Total")

The ModuleNotFoundError appears: `--------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) Cell In[9], line 1 ----> 1 from socceranalysis.rankingplayers import * 2 data = pd.read_excel('soccer_data.xlsx') 3 rankingplayers(data, "Goals_total", "Assists_Total")

ModuleNotFoundError: No module named 'socceranalysis.rankingplayers' ​`

  1. When using your package, Altair package that you imported has some warning. FutureWarning: iteritems is deprecated and will be removed in a future version. Use .items instead. You may take a look at it for the benefit of future users.
  2. You explained very well how your package fits and relates to the existing Python ecosystem. I was wondering if there is any package that has similar functions as your package. If so, how is your package different from others? If not, you might highlight your package's uniqueness on your README file.

Great job! It is a pleasure reviewing your package.

morrismanfung 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

  1. Great package for basic data wrangling. While the package is heavily soccer-themed, the functionalities are quite general. Maybe you could consider expanding the target audience of the package as these functions are all potentially useful on other contexts.
  2. Some functions are not necessary in the package as the same procedures can be easily done with similar amount of codes. Do consider either dropping them or improving them by adding more unique features tied to the package.
  3. Examples in https://soccer-analysis-python.readthedocs.io/en/latest/example.html seem to be unfinished.
  4. Maybe you could consider using another plotting library such as seaborn to reduce the chance of having issues related to incompatibility with altair.
  5. As the number of functions is still small in the package, do consider putting them into the same .py file for simplicity.

Well done! I wish you all the best in your journey of software development :)

DanielCairns 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

Review Comments

Really neat package. Works exactly as described with no issues. I've noted a few of my thoughts below on future improvements / quality of life fixes but none are serious.

1) I got an error trying to use the direct installation as specified in your "installation" section, but pip install socceranalysis works as expected.

2) Would be nice to not have to download your dataset manually

3) Could add more badges - they make it look professional!

4) Can I have more information about the dataset itself? What's the source? What years does it cover / how recent is it? Any copyright or usage issues with the data I should be concerned about? etc.

5) If would be useful to list somewhere (either in the documentation or as a function) which stats are available as function inputs. You functions assume we know 1. what stats are available and 2. how the column headers are formatted

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


Review Comments