Open spencergerlach 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:
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:
README
and Example Usage
files for people to have a clear idea that listing_search ()
and plot_mercedes_price()
require the load_sample_mercedes_listings()
to run first.README
file has a different usage section than the Example Usage
file with some incorrect lines: from mercedestrenz.modelling import train_mercedes_price_prediction_model
No mercedestrenz.modelling
module can be found. The Example Usage
file is correct with from mercedestrenz.train import train_mercedes_price_prediction_model
. This might misguide people to using the package so highly recommend fixing it.Example Usage
file only contains 3 functions and does not have the function predict_mercedes_price()
. I highly recommend adding it inside.export_mercedes_price_model
in the train.py
and test.py
haven't been tested. I understand it will be hard to test the joblib
model files. However, some other lines like
if type(version) is not str:
--
78 | raise TypeError("version must be a string of form 'vX'")
in predict_mercedes_price
might be a good idea to cover in the test since it only checks the input is a string
type.
Overall it is a well-done project just the formatting and workflow might need further improvement. Great jobs!
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
Great work team! Your package works as expected and as you mentioned it is unique in its function!
Under the functionality section "Code format is standard throughout package and follows PEP 8 guidelines (CI tests for linting pass)" is listed as a requirement to check for however from what I can see your ci-cd.yml file does not include a check for formatting. There are many pre-built github actions that can be use to check for code format so I recommend using one of those.
In the usage section of the in the README and on the Read The Docs page there is an extra bracket on the end of the example for the plot_mercedes_price()
function.
I like that you have paired down how many features the prediction model uses to keep it simple for users, however I think it could be worthwhile to include some rationale/background in the README on why you chose the specific features to predict on.
This is a very minor suggestion, for the predict_mercedes_price
function I think adding some simple formatting to the output would increase the "user friendliness" of the function. Currently the only output is a number but you could add a dollar sign as we as a message like "For the
In terms of future work for this package as the goal is to assist in buying/selling used Mercedes cars, including more data sources (not just craigslist) could help provide better accuracy/ a more representative overview of buying/selling. linked to this as time goes on, updating the data to the most current version would be beneficial to future users.
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 hr
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
README
, but nothing that really detracts from the overall point.README
looks like it needs to be updated; it imports functions from mercedestrenz.modelling
but on ReadTheDocs it imports the same functions from mercedestrenz.train
and mercedestrenz.predict
.README
, it would be helpful to have links to the CONTRIBUTING
and CONDUCT
files when mentioned.plot_mercedes_price()
graph, it's really cool that you can see the comparison to the median market price! However, it would be nice if you could add the actual value of the median (either in the title or as a line on the density graph), so that the user isn't guessing at it. train_mercedes_price_prediction_model
is a function that can be used by anyone; the function is imported in both the README and on ReadtheDocs, but it's never used in the examples, and it doesn't seem like the prediction function uses this function directly. The documentation also mentions that you have 4 main functions, but 5 are imported in the examples. If this is a function that other people can use, I would recommend adding a section in the examples about how to use it (even if the code doesn't necessarily work).
Submitting Author: Spencer Gerlach (@spencergerlach) All current maintainers: (@tieandrews, @kellywujy, @mozhao0331) Package Name: mercedestrenz One-Line Description of Package: Explores Mercedes-Benz used vehicle prices and predicts prices based on vehicle attributes. Repository Link: https://github.com/UBC-MDS/mercedestrenz Version submitted: v1.0.0 Editor: Ty Andrews, Spencer Gerlach, Kelly Wu, Morris Zhao Reviewer 1: Eyre Hong Reviewer 2: Dhruvi Nishar Reviewer 3: Caroline Tang Reviewer 4: Jonah Hamilton Archive: TBD
Version accepted: TBD Date accepted (month/day/year): TBD
Description
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 for this package is people in the market for buying a used vehicle (Mercedes-Benz), that are looking to understand the current market, easily see a list of available cars that suit their needs, and to predict the price of a vehicle with certain desired traits. This can also be used in a similar fashion for people looking to sell their vehicle, as they may also want to know the current market, and predict how much they should sell their vehicle for.
Are there other Python packages that accomplish the same thing? If so, how does yours differ?
Our package is specific to Mercedes-Benz enthusiasts. It is completely unique in that sense, as the data used to train the prediction model and show market summaries is specifically used Mercedes-Benz vehicles.
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.