Open ella-irene opened 8 months 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:
Estimated hours spent reviewing: 1 hr
resize_image
have “Before change” and “After change” code sections. The content is there but it may be worth adding these headers to the resize_image
section to maintain consistent formatting.adjust_brightness
is missing an “Example” section (resize_image
has the section but it is not formatted in the same way as apply_filter
& transform_image
seems to also have the “Example” but it is embedded along with some raises >>>
prefixes)
transform_image
seems to call adjust_aspect_ratio
instead of transform_image
).resize_image
- it seems like the sections were not formatted in the same way having “headers” but is instead more like a paragraph-style). Maybe you could have all four functions formatted how apply_filter
and adjust_brightness
are currently formatted (as it also seems like transform_image
is slightly different as well)conda install poetry
after creating the virtual environment (i.e. after step 2) in addition to the blurb above about general poetry
installation to make the instructions super super cleartests/
folder) to give instructions on testing
pytest tests/ --cov
to see the coverage of the tests. Coverage looks good - if you have time you could run this command (with -cov-report term-missing) appended to see lines that could still be covered by more testing! Overall, great package! I love how it simplifies otherwise daunting image processing in an easily digestible way!
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:
example.ipynb
file for "Motivation for building this package:" will resolve this issue.conda create -f environment.yml
. docs/img/
. Consider either reducing the number of examples / compressing(zip) the images / downsizing them to enhance efficiency. #Apply Filters to Images
for image in image_files:
apply_filter(image_directory+image[:-4]+".jpg_brightness_changed.png", "red", degree=0.6)
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
resources
.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:
Thank you so much for presenting me a wonderful project like this one, I think this is an awesome and impressive project, there are a couple of points I would like to highlight:
The readme documentation of the project is pretty eye-catching and exhaustive. I am able to find every link regarding documentation, installation, and usage in the document. Especially important is the installation guide for the developer version (which our group forgot to specify. Learning from you guys)
One thing I see that could be improved is the size of your project. It seems there are some very large files in the project and maybe you guys can find some alternative ways to store them so that the project clone process can speed up.
The sphinx documentation of your project has a style in it. However, the structure of the tree of contents is a little bit confusing. Basic usage of the package does not seem to be supposed to be under the motivation for this package:
There is one hurdle when I was installing the package using the developer's version. After activating the environment, I actually needed to install poetry again in the new env. This is not specified and I actually need to figure it out myself.
The test functions are thorough in general. If you would want to have more, there can be more visual regression testing for the functions since you are working with plotting functions and the outputs are images mostly.
The testing process is mostly smooth. I was able to pass all tests with a simple pytest command line. However, I see there are some image files popping up when the tests are running, which are something exterior developers would not expect when they are trying to run the tests of your package.
Last but not least, I really like the styling and all the logos and pictures you have with your project. Together with the skilled usage of status badges, your project really seems hardcore.
Submitting Author: Name (@ella-irene) All current maintainers: (@jlee2843, @salva-u, @Rachel0619) Package Name: Pythoshop One-Line Description of Package: Python package designed to provide a set of handy image processing functions for simple yet effective adjustments to images. Repository Link: https://github.com/UBC-MDS/Pythoshop Version submitted: 2.0.0 (Milestone 3) Editor: @ttimbers Reviewer 1: John Shiu Reviewer 2: Wenyu Nie Reviewer 3: Koray Tecimer Reviewer 4: Rachel Bouwer
Archive: TBD JOSS DOI: TBD Version accepted: TBD Date accepted (month/day/year): TBD
Code of Conduct & Commitment to Maintain Package
Description
Pythoshop is a Python package designed to provide a set of handy image processing functions for simple yet effective adjustments to images. Whether you need to tweak brightness, adjust aspect ratios, transform images, or apply filters, Pythoshop has you covered.
Scope
Please indicate which category or categories. Check out our package scope page to learn more about our scope. (If you are unsure of which category you fit, we suggest you make a pre-submission inquiry):
Domain Specific & Community Partnerships
Community Partnerships
If your package is associated with an existing community please check below:
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 of this package is anyone who deals with editing images, from graphic designers to instagram users.
Are there other Python packages that accomplish the same thing? If so, how does yours differ? There are my other packages which accomplish image transformations, however our package does so without the user needing any knowledge of the underlying functions which wrap existing functions from both Matplotlib and Numpy.
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: JOSS accepts our review as theirs. You will NOT need to go through another full review. JOSS will only review your paper.md file. Be sure to link to this pyOpenSci issue when a JOSS issue is opened for your package. Also be sure to tell the JOSS editor that this is a pyOpenSci reviewed package once you reach this step.*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.
Confirm each of the following by checking the box.
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.