-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EOmaps #138
Comments
Dear @raphaelquast, thank you for submitting to pyOpenSci! I saw that @NickleDave already looked into your pre-submission and it went well 🎉. I am performing the EIC (editor in chief) checks for EOmaps and will update you by tomorrow! |
Hey @arianesasso. Just checking in to see if there are any updates on the EOmaps submission yet? In the meantime I've pushed to EOmaps v7.2 to address some reported issues and since the formal review process did not yet start, I've also updated the "submitted version" above to v7.2 (please let me know in case this is not OK). Thanks! |
Hello @raphaelquast, I am really sorry for the delay, there were some unforeseen tasks this week on my side. Thank you for letting me know about the update, I will check it with the other editors but should be okay! Would it also be fine for you to wait till the end of this week for us to start the review formally? Thank you again for your patience 🙏🏼 |
@arianesasso thanks for the quick response! I fully understand that editor/reviewer activities sometimes have to be put on the waiting list for a few days. Take your time! |
Hi @raphaelquast thank you for your continued patience. In the meantime, here are the initial editor checks. As expected, EOmaps passes with flying colors. Editor in Chief checksPlease check our Python packaging guide for more information on the elements
Editor commentsNone except nice work 🙂 |
@NickleDave Two quick points from my side:
|
Ah, whoops, sorry I failed to mark the code-of-conduct box, I saw it but missed the checkbox. Fixed now.
No worries. We will make sure that's clear here. You can feel free to change the metadata in your initial comment above, or I can. We are getting close to finding an editor. Thanks again for your continued patience, and expect us to reply back early next week. |
OK, thanks! Metadata is updated.
Awesome! looking forward to getting this started! |
Hi @raphaelquast happy to report that @banesullivan will be the editor for this review, and that he has already started looking for reviewers |
Hey @NickleDave, that's great news! Thanks for the update! |
I thought I'd chime in with a quick update so you don't think I've gone dark: I have found one reviewer and I'm still trying to confirm a second reviewer. Hopefully, I'll have an update in the coming days! |
@banesullivan Hey, thanks for the info! I fully understand that it can be tough to find reviewers and I'm grateful for the time you invest here! |
👋 Hi @yeelauren and @jhkennedy! Thank you for volunteering to review for pyOpenSci! Please fill out our pre-review surveyBefore beginning your review, please fill out our pre-review survey. This helps us improve all aspects of our review and better understand our community. No personal data will be shared from this survey - it will only be used in an aggregated format by our Executive Director to improve our processes and programs.
The following resources will help you complete your review:
Please get in touch with any questions or concerns! Your review is due ~6th of December 2023Reviewers: @yeelauren @jhkennedy |
Hi 👋 @raphaelquast ! Great work this far and happy to e-meet you! Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Readme file requirements
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.)
UsabilityReviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
Functionality
For packages also submitting to JOSS
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
Final approval (post-review)
Estimated hours spent reviewing: ~2:45 onboarding, 6 hr reviewing Review CommentsI really like the number of examples, blog articles and documentation provided. The docstrings within the package are very well done as well! I'll definitely be excited to use this package for future work :) I have a few questions and some suggestions below, happy to provide them as separate issues to discuss as well: QuestionsWhile I can definitely see the use-case for eomaps, in terms of this review, I think the README and documentation could use a line or two about what the package is and why you might want to use it stated more explicitly. Since this package is building on cartopy, what were the motivations for creating a separate package versus adding a PR/additional functionality to cartopy directly? Suggestions/Troubleshooting
Tests
|
Since the review is due today, I just wanted to check in and say I'm working on it and will try and get it done by Friday, or next week at the worst. Sorry for the delay! |
Hey @yeelauren,
Thanks for the kind words! I put a lot of effort in extensively documenting the package since I think it is extremely important (especially for beginners) to get as much information and examples as possible.
Glad to hear that you feel that the package is useful! I agree that the README can be improved... I'll try to come up with some improvements and report back here as soon as they are implemented!
Cartopy is closely tied to the matplotlib syntax. Since my intention was to provide a package that goes beyond static maps and provides functionalities specifically tuned for interactive geo-data analysis, supercharging Figure or Axes objects with additional methods didn't seem like a good approach.
In general, I try my best to port relevant fixes to cartopy, and it might even be good to one day have a unified package that does it all (or simply a more clear split between what goes into cartopy and what goes into EOmaps), but this would require a lot of time and effort. Right now, with 0 financial support (and ~0.01 contributors) this is out of scope for me.
✓ Implemented! (see here)
The main reason why Jupyter Notebooks are a bit under-represented in the docs at the moment is that the interactivity is affected by a bug in the interactive jupyter-matplotlib backend Nonetheless, static maps now work just fine (and even interactivity is OK if update triggers are not too fast) so I agree that it might be time to better highlight the usability of EOmaps with Jupyter Notebooks in the docs. My current idea is to actually completely refactor the Examples section. I gained some experience using myst_nb recently and I was thinking about using it to re-write all examples directly as Jupyter Notebooks and render them to the docs. This will also help introducing a better structure for the examples (e.g. simple - advanced / static - interactive / ...).
So far I have never encountered this error and unfortunately I cannot reproduce it locally (tested on Linux Mint 21.2 Cinnamon) and also GitHub actions currently run on Ubuntu 22.04.3 and do not seem to be affected by this. After doing some research, it seems to be a more general issue with Qt that affects multiple other packages as well. I'm not sure what I can do to solve this except for pointing you to some associated discussions I found that might provide some (OS-specific) workarounds:
If you feel that there is something that I can do in EOmaps to resolve this, please open an Issue and I'll do my best to help in finding a solution!
I had a close look at the warnings reported in the latest test-run (from here):
|
@yeelauren Basic info on how to use VSCode/VSCodium is now added to the docs! |
@yeelauren I had a closer look at the numpy RuntimeWarning that appears in the tests...
This is apparently caused by some unresolved issue regarding the import-order of My solution for now is to try to import |
Overall fantastic work @raphaelquast! Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
Readme file requirements
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 a badge for pyOpenSci peer-review will be provided upon acceptance.)*
UsabilityReviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
Functionality
For packages also submitting to JOSS
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
Final approval (post-review)
Estimated hours spent reviewing: 2 on-boarding; 4-6 playing/using. Review CommentsOverallOverall, I'm really excited about this package, and it significantly reduces some of the boilerplate for the CartoPy maps I've produced in the past. Coming to the GitHub, I was impressed with the README, releases, and release notes immediately, and I could see many of the "community standards" (e.g., code of conduct, contributing, license, etc.) right up front. The documentation is fantastic, as well as the examples, and it was overall pretty easy to jump in as a user. I find myself wishing you were submitting to JOSS so you could expand on the why -- why create the package, why you designed it the way you did, etc., which @yeelauren also hit on. I think JOSS is likely a better place for that than in the README or docs. Detailed CommentsNote: I'm reviewing specifically v7.3.2, as that was latest v7.3 release when I started in seriously. A) First impressions
B) Setting up a development environment
C) Running tests
D) Conda environment filesI am not really a fan how the conda environment files are set up here. Recommendations:
E) Reading the FAQsI hopped over to the FAQs after messing around with the tests to see if anything was addressed there.
F) Finally taking it for a spin with examples and data
|
Here's the full traceback of the test failure I had on v7.3.2:
full traceback:
|
Response to comment form @jhkennedy
I implemented major changes to the API docs to reflect the actual public API and not the (internal) module-structure... |
@banesullivan @jhkennedy @yeelauren I have now collected all major changes into a pending PR for EOmaps v8.0 EOmaps#205 which should address the majority of comments mentioned here. Here's an overview of the most relevant changes/fixes relevant for this review:
Since my personal todos tagged for EOmaps v8.0 are more or less implemented, I wanted to ask how we proceed with the review-process since it would be nice if the release of v8.0 can be aligned with the outcomes of the PyOpenSci review.
@banesullivan In addition, I also wanted to ask if it is feasible to still append a JOSS paper at this stage of the review or if you prefer that this is done post-review to avoid stretching the time for this review. |
Hey, @raphaelquast, I want to leave a quick note that I haven't forgotten about this! Again fantastic work addressing all of the feedback! In the coming days, I will sit down and review all of this to take inventory of anything that may remain and answer you questions about JOSS I appreciate your patience! |
@banesullivan Thanks, take your time! |
@raphaelquast, this has truly come together fantastically! Thank you for diligently working to address all of the feedback our excellent reviewers brought up! I've read this review thread up and down a few times now... (lots of amazing work happening here!!) and I believe you have addressed all of the feedback raised. That said, I'd like to give @yeelauren and @jhkennedy time to double check and sign off on the review. @yeelauren and @jhkennedy, to make this process a little easier for you both I've tried to sift through your open review request/comments to track down the state of things. The following are my findings: @yeelauren's comments:
@jhkennedy's comments:
@raphaelquast, on your question about the JOSS review: I'm leaning towards following up with the JOSS paper post-review at this stage, but I will talk with some other's in PyOpenSci to fully assess this.... stand by. |
@banesullivan Thank you very much for your thorough review and the kind words! |
I finally found the time to draft an updated README to tackle the last open point from the review (PR: raphaelquast/EOmaps#230). If any of you find the time, feedback would be highly appreciated! (You can look at it here) |
@banesullivan @jhkennedy @yeelauren Dear all, I wanted to ask if it is possible to get a quick update on the time-schedule for this review. The reason I'm asking is because I am currently postponing the release for I would highly appreciate your opinion if it is feasible to arrive at a conclusion for this review by end of March. |
@banesullivan @raphaelquast Sorry I got slammed the last couple of weeks. As far as I'm concerned, EOMaps is in fantastic shape, @raphaelquast did an amazing job responding to feedback and updating EOMaps, and I definitely would recommend accepting EOmaps v8.0. |
@jhkennedy thank you very much for your kind words and the prompt response! |
@raphaelquast I haven't forgotten! I think end of March is doable. |
@raphaelquast amazing work - and happy with your response to the review and the significant work put into v.8.0! I like the added blurb to the read me. Same with @jhkennedy I'd recommend accepting 😊 |
@yeelauren Thank you very much for your support! Glad you like the improvements! |
@banesullivan Could you provide an update on how we proceed with this review? Test-warnings (raphaelquast/EOmaps#227) are now down to 17 of which I only 1 requires attention.
Aside of that, I believe all comments have been addressed as requested. In addition, there are a few nice features that now made it into the v8.0 branch!
|
@raphaelquast, thank your for your patience! The last few weeks got the best of me between moving and some sickness.
I believe you're right! I think we're ready to proceed with the acceptance of EOmaps given @jhkennedy and @yeelauren have both recommended accepting! 🎉 🎉 I'm going to change the status of this review and will handle the next steps from here. I want to close the loop on an earlier conversation about submitting to JOSS: We highly recommend you submit EOmaps to JOSS, but are going to encourage you to go through the standard JOSS submission process as opposed to starting it here. Given acceptance here, I believe there is precedent for fast-tracking the JOSS submission or using this review to augment the JOSS software review. I will happily chime in to help in any way I can during the JOSS submission if you chose to do so, please Amazing work here, @raphaelquast!! |
@raphaelquast, I'd like to tie this review with version 8.0, would you let me know when that has been fully released? |
@banesullivan Thank you very much for all your time and efforts! @yeelauren @jhkennedy The same also counts for you of course! Your reviews have been highly valuable and helped me to improve many parts of EOmaps! 🚀 This is amazing news! I'm thrilled that this review has reached a positive outcome and I'm very happy that EOmaps will become a part of PyOpenSci!
EOmaps v8.0 is already waiting in the starting blocks! I'll do a final checkup and try to release it as soon as possible!
@banesullivan Please keep me informed on any actions required from my side!
Thank you for following up on this. I agree that this is the best way forward. I'll try to compose a JOSS submission later this year once all the conference contributions etc. are done. I highly appreciate your support on this and I will reach out to you when the time comes! |
@banesullivan EOmaps v8 is now released! |
🎉 Fantastic! With that, EOmaps v8 has been approved by pyOpenSci! Thank you @raphaelquast for submitting EOmaps and many thanks to @yeelauren and @jhkennedy for reviewing this package! 😸 Author Wrap Up TasksThere are a few things left to do to wrap up this submission. I think you've already activated Zendo and created a DOI (which I have updated in the meta of the original post at the top of this issue), so I've marked those, but would you please let me know after you completed the following:
Editor Final ChecksThese are for me:
If you have any feedback for us about the review process please feel free to share it here. We are always looking to improve our process and documentation in the peer-review-guide. |
PyOpenSci review badge has been added to the README |
I now completed the post-review servery as well! |
Submitting Author: Raphael Quast (@raphaelquast)
All current maintainers: @raphaelquast
Package Name: EOmaps
One-Line Description of Package: EOmaps is a python package to visualize, analyze and compare geographical datasets.
Repository Link: https://github.com/raphaelquast/EOmaps
Version submitted: 7.3
Editor: @banesullivan
Reviewer 1: @yeelauren
Reviewer 2: @jhkennedy
Archive:
Version accepted: 8.0.2
Date accepted (month/day/year): 03/14/2024
Code of Conduct & Commitment to Maintain Package
Description
EOmaps is a python package to visualize, analyze and compare geographical datasets.
It is intended to simplify the process of geospatial data visualization and to provide a straight forward way to turn the maps into interactive widgets for data analysis.
EOmaps is based on
matplotlib
andcartopy
and extends cartopy's capabilities with the following featuresIt is extensively documented, unit-tested, citable via a zenodo and installable via conda or pip.
(However using pip is discouraged since dependencies like GDAL and PYPROJ can be difficult to install, especially on windows)
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 for EOmaps are scientists and researchers working with geospatial datasets.
EOmaps can be used to quilkly visualize structured (or unstructured) geo-spatial datasets, compare multiple datasets with each other or compare maps to an extensive list of open access webmap services. Since EOmaps is based on matplotlib, the created maps can also be connected to ordinary matplotlib axes to analyze multi-dimensional (e.g. timeseries) data.
In addition to the interactive capabilities, maps created with EOmaps can be exported as high-resolution images or vector-graphics to create publication-ready plots.
Finally, I believe that EOmaps also has great potential to be used in education to teach about projections, distortions, spatial resolution, rasterization of data, the subtleties of big-data visualization etc.
Are there other Python packages that accomplish the same thing? If so, how does yours differ?
EOmaps is based on cartopy. While cartopy provides similar functionalities in terms of data
visualization, EOmaps greatly extends these capabilities (especially for large datasets),
adds multi-layer support, a basic GUI, easy-access to webmaps, and many more features.
There exist other packages that focus on interactive geo-data visualization, but to my knowledge
none that focusses on local use in pure python.
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:EOmaps #137
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
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.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
submission and improve our peer review process. We will also ask our reviewers
and editors to fill this out.
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.
Footnotes
Please fill out a pre-submission inquiry before submitting a data visualization package. ↩
The text was updated successfully, but these errors were encountered: