Closed mel-liow closed 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:
setup.py
file or elsewhere.Readme requirements The package meets the readme requirements below:
The README should include, from top to bottom:
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:
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:
2
General comments:
Great work on the project! The repo is very organized and documentation is easy to follow. The example plots on the README gives a good overview of what the package can do, and the plots look great. All the functions worked, and automated tests passed when I cloned the repo.
Some notes and suggestions:
get_pollution_history
, the table in the return section within your docstring doesn't seem to render properly in the generated documentation.get_pollution_history
, and output an error message like in the other two functions.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:
setup.py
file or elsewhere.Readme requirements The package meets the readme requirements below:
The README should include, from top to bottom:
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:
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.5h
Congratulations on creating such useful and meaningfull package! We can see the package is well organized and the documentation was quiet clear to guide users to follow and made it easy to install as well as use your package. The comments below are some tips I feel could make this package, which is already excellent, slightly more perfect.
About documentation: In readthedocs.io, the output dataframe of get_pollution_history() is not displayed completely. This does not really affect the user's understanding of the output, but perhaps it would be better to add a note like in the example usage of get_air_pollution() to indicate that the output example only shows the head and tail of the dataframe.
About the scripts and the tests:
I noticed that all the functions exist in the same script. test function is in the same way. Since the package works well and the code has very high test coverage, I think you have a good grasp of the situation. However, based on my experience developing our packages, it might be better to separate the functions and the corresponding tests in different scripts for debugging and less likely to have merge conflicts in workflow
Apart from that, more comments in the scripts may be helpful for the users to understand your code.
About the visualization
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:
setup.py
file or elsewhere.Readme requirements The package meets the readme requirements below:
The README should include, from top to bottom:
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:
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 hours
This package is very useful and the package name is creative hahaha!
get_air_pollution()
and get_pollution_forecast
to check if input longitude/latitude values are within their valid ranges, but not in the function get_pollution_history()
.get_pollution_forecast()
, the positions of dates on the x-axis look a bit ambiguous, it might be clearer to list all 5 dates on the x-axis (with smaller font maybe?).
Submitting Authors:
Package Name:
airpyllution
One-Line Description of Package: A Python package for visualizing or obtaining future, historic and current air pollution data from the OpenWeatherMap API. Repository Link: airpyllution
Version submitted: 2.0.0 Editor: Florencia D'Andrea (@flor14)
Reviewers:
Description
airpyllution
is a Python package for visualizing or obtaining future, historic and current air pollution data using the OpenWeather API. Our goal is to enable users the ability to explore air pollution levels in locations around the world by providing visual charts and graphs. We make the data accessible and easy to comprehend in just a few lines of code.get_air_pollution()
: Fetches the air pollution levels based on a location. Based on the values of the polluting gases, this package uses the Air Quality Index to determine the level of pollution for the location and produces a coloured map of the area displaying the varying regions of air quality.get_pollution_history()
: Requires a start and end date and fetches historic air pollution data for a specific location. The function returns a data frame with the values of the polluting gases over the specified date range.get_pollution_forecast()
: Fetches air pollution data for the next 5 days for a specific location. The function returns a time series plot of the predicted pollution levels.Scope
Please indicate which category or categories this package falls under:
[X] Data retrieval
[ ] Data extraction
[ ] Data munging
[ ] Data deposition
[ ] Reproducibility
[ ] Geospatial
[ ] Education
[ ] Data visualization*
* Please fill out a pre-submission inquiry before submitting a data visualization package. For more info, see [notes on categories][NotesOnCategories] of our guidebook.
Explain how the and why the package falls under these categories (briefly, 1-2 sentences): Our package contains wrappers for accessing the OpenWeatherMap Air pollution API, a free data source for weather data.
Who is the target audience and what are scientific applications of this package? The target audience are for people who are interested in visualising local air pollution for e.g. forecasting or building an air pollution application. Additionally, this package can be useful for researchers or scientists who would like to analyse data in a more suitable format.
Are there other Python packages that accomplish the same thing? If so, how does yours differ? Although there is an abundance of python weather packages and APIs in the Python ecosystem (e.g. python-weather, weather-forecast), this particular package looks at specifically air pollution data and uses the Air Pollution API from OpenWeather. This is a unique package which provides simple and easy to use functions and allows users to quickly access and visualise air pollution data.
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
P.S. *Have feedback/comments about our review process? Leave a comment [here][Comments]
Editor and Review Templates
[Editor and review templates can be found here][Templates]