Open YXIN15 opened 1 year ago
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
The package includes all the following forms of documentation:
pyproject.toml
file or elsewhere.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.)
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:
Estimated hours spent reviewing: 1
Very interesting project. The package leverages an existing API of Spotify to achieve data acquisition and processing. Here are some suggestions for the project for future improvement:
example.ipynb
in docs
could include more functions calls and printouts demonstrates the usage of the functions and what they produce.credentials = {clientId:'xxxxxxxxxxxx', clientSecret: 'xxxxxxxxxxxx'}
. I believe a short introduction of what this means and how could we get these credentials would be helpful in your README.md.get_users_top_genres
was not tested in your tests, which leads to a series of helper functions missed in your ci testing workflow.pyproject.toml
.Generally, the project's code was well written and the structure was clear. Hope that the comments were helpful and best of luck for future development.
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
The package includes all the following forms of documentation:
pyproject.toml
file or elsewhere.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.)
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:
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:
Estimated hours spent reviewing: 1.5
def get_users_playlists_songs(self, playlists = None)
but giving an example for Caroline.get_playlists_songs()
in the docstring could be misleading. Overall, the package is really interesting and engaging, especially for all music enthusiasts! It offers some amazing functions as well which I really enjoyed looking into. Thank you!
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
The package includes all the following forms of documentation:
pyproject.toml
file or elsewhere.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.)
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:
Estimated hours spent reviewing: 1
User.py
file, there is some inconsistency in the documentation. The name of the function and the example usage name are different.
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
The package includes all the following forms of documentation:
pyproject.toml
file or elsewhere.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.)
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:
Estimated hours spent reviewing: 1 hour
User
object, but I think it would be better to seperate functions into different files, instead of putting everything into the single User.py
file.'client_id':'xxxxxxxxxxxx'
, instead of clientId:'xxxxxxxxxxxx'
, according to the init function here
Submitting Author: Julie Song (@YXIN15) All current maintainers: (@carolinetang77, @ChesterAiGo, @brabbit61) Package Name: spotify_assistant One-Line Description of Package: A Python package that explores Spotify users' listening trends, built upon Spotipy and implemented for Spotify developers. Repository Link: https://github.com/UBC-MDS/spotify_assistant Version submitted: v1.0.1 Editor: Caroline Tang @carolinetang77 Chester Wang @ChesterAiGo Jenit Jain @brabbit61 Reviewer 1: Luke Yang Reviewer 2: Ke Wang Reviewer 3: Arjun Radhakrishnan Reviewer 4: Waiel Tinwala Archive: TBD
Version accepted: TBD Date accepted (month/day/year): TBD
Description
A Python package that enriches Spotify users' music experience by allowing them to explore their listening trends via REST APIs implemented for Spotify developers.
There is one similar Python package, Spotipy that provides wrapper functions in Python for the Spotify API. This package contains a function for each possible API request, but does not combine any of these requests. Our aim is to create functions that combine multiple requests and provide additional insights for Spotify users.
Scope
For all submissions, explain how the and why the package falls under the categories you indicated above. In your explanation, please address the following points (briefly, 1-2 sentences for each):
Who is the target audience and what are scientific applications of this package?
The target audience is Spotify users who would like to extract data from music listening trends, both in general and from their own data. The package allows retrieval and extraction of the user's own listening data, as well as general Spotify releases data, and can allow users to create new playlists on Spotify based on recommended songs.
Are there other Python packages that accomplish the same thing? If so, how does yours differ? There is a package called Spotipy that provides wrapper functions in Python for the Spotify API. This package furthers the functionality of that package by combining wrapper functions for new purposes and greater insights.
If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or
@tag
the editor you contacted: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.