-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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
- As the reviewer, I confirm that there are no conflicts of interest for me to review this work (If you are unsure whether you are in conflict, please speak to your editor before starting your review).
Documentation
The package includes all the following forms of documentation:
- A statement of need clearly stating problems the software is designed to solve and its target audience in the README file.
- Installation instructions: for the development version of the package and any non-standard dependencies in README.
- Short quickstart tutorials demonstrating significant functionality that successfully runs locally.
- Function Documentation: for all user-facing functions.
- Examples for all user-facing functions.
- Community guidelines including contribution guidelines in the README or CONTRIBUTING.
- Metadata including author(s), author e-mail(s), a URL, and any other relevant metadata, for example, in a
pyproject.tomlfile or elsewhere.
Readme file requirements
The package meets the readme requirements below:
- Package has a README.md file in the root directory.
The README should include, from top to bottom:
- The package name
- Badges for:
- Continuous integration and test coverage,
- Docs building (if you have a documentation website),
- Python versions supported,
- Current package version (on PyPI / Conda).
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 wider than high. A badge for pyOpenSci peer review will be provided when the package is accepted.
- Short description of package goals.
- Package installation instructions
- Any additional setup required to use the package (authentication tokens, etc.)
- Descriptive links to all vignettes. If the package is small, there may only be a need for one vignette which could be placed in the README.md file.
- Brief demonstration of package usage (as it makes sense - links to vignettes could also suffice here if package description is clear)
- Link to your documentation website.
- If applicable, how the package compares to other similar packages and/or how it relates to other packages in the scientific ecosystem.
- Citation information
Usability
Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
The package structure should follow the general community best practices. In general, please consider whether:
- Package documentation is clear and easy to find and use.
- The need for the package is clear
- All functions have documentation and associated examples for use
- The package is easy to install
Functionality
- Installation: Installation succeeds as documented.
- Functionality: Any functional claims of the software been confirmed.
- Performance: Any performance claims of the software been confirmed.
- Automated tests:
- All tests pass on the reviewer's local machine for the package version submitted by the author. Ideally this should be a tagged version making it easy for reviewers to install.
- Tests cover essential functions of the package and a reasonable range of inputs and conditions.
- Continuous Integration: Has continuous integration setup (We suggest using Github actions but any CI platform is acceptable for review)
- Packaging guidelines: The package conforms to the pyOpenSci packaging guidelines.
A few notable highlights to look at:- Package supports modern versions of Python and not End of life versions.
- Code format is standard throughout package and follows PEP 8 guidelines (CI tests for linting pass)
Final approval (post-review)
- The author has responded to my review and made changes to my satisfaction. I recommend approving this package.
Estimated hours spent reviewing: 1
Review Comments
Overall, nice work.the repo is clean, the docstrings are detailed, and I like that the functions are safe to run. A few small improvements that would make it even easier to use:
- In
pyproject.tomlunder[project.urls], some links include spaces (e.g.“Master of Data Science at the University of British Columbia"), so they won’t work as real URLs. It would be great to replace these with the actual GitHub repo links. - In
pyproject.toml, theDocumentationURL currently points to the README. If you have a GitHub Pages docs site, consider linking to that instead, and also add the same docs link in the README and the repo “About” section. - The README already has build/test and codecov badges (great!). To match common checklists, you could also add badges for supported Python versions, package version (TestPyPI/PyPI ) and a docs build/deploy badge.
- The README description is clear, but adding a short list of the main user-facing functions (one line each) would help readers quickly understand what’s included.
- you list both
plotly[express]andplotlyin dependencies, ifplotly[express]already installsplotly, you may only need one.
Thanks for your work, you all did a great job!!