Skip to content
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

xnemogcm #155

Closed
16 of 30 tasks
rcaneill opened this issue Jan 6, 2024 · 49 comments
Closed
16 of 30 tasks

xnemogcm #155

rcaneill opened this issue Jan 6, 2024 · 49 comments
Assignees

Comments

@rcaneill
Copy link

rcaneill commented Jan 6, 2024

as discussed in #154 I make a full submission

Submitting Author: Romain Caneill (@rcaneill)
All current maintainers: (@rcaneill)
Package Name: xnemogcm
One-Line Description of Package: Interface to open NEMO global circulation model output dataset with xarray and create a xgcm grid.
Repository Link: https://github.com/rcaneill/xnemogcm/
Version submitted: 0.4.2
Editor: @ocefpaf
Reviewer 1: @paigem
Reviewer 2: @callumrollo
Archive: DOI
Version accepted: 0.4.3
JOSS DOI: N/A
Date accepted (month/day/year): 04/02/2024


Code of Conduct & Commitment to Maintain Package

Description

xnemogcm is an interface to open NEMO ocean global circulation model output dataset and create a xgcm grid. NEMO 3.6, 4.0, and 4.2.0 are tested and supported. It can handle large simulations, is aware of meshgrid files, and makes it easy to handle the netCDF outputs od NEMO.

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):

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization[^1]
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific & Community Partnerships

- [ ] Geospatial
- [ ] Education
- [x] Pangeo

Community Partnerships

If your package is associated with an
existing community please check below:

xnemogcm extracts the NEMO output and adds metadata (+ do some other things as change coordinate names, etc), and produces new xarray datasets. It is thus data processing.

  • Who is the target audience and what are scientific applications of this package?

The target audience is anyone working with NEMO outputs and python. The scientific applications are any analyse that one want to do with NEMO outputs.

  • Are there other Python packages that accomplish the same thing? If so, how does yours differ?

Yes, xorca. My package differs as 1) it is more recent, updated to work with newer versions of NEMO, and 2) it uses a very different method to sort variables on the proper grid point (center, face, etc) (cf https://xgcm.readthedocs.io/en/latest/grids.html). xorca uses hardcoded variables, while xnemogcm uses attributes (either output directly by NEMO, or they can also be given while calling the processing functions).

  • 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:

I made a pre-submission enquiry, issue #154

Technical checks

For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.
  • uses an OSI approved license.
  • contains a README with instructions for installing the development version.
  • includes documentation with examples for all functions.
  • contains a tutorial with examples of its essential functions and uses.
  • has a test suite.
  • has continuous integration setup, such as GitHub Actions CircleCI, and/or others.

Publication Options

JOSS Checks
  • The package has an obvious research application according to JOSS's definition in their submission requirements. 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: "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 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.

  • Yes I am OK with reviewers submitting requested changes as issues to my repo. Reviewers will then link to the issues in their submitted review.

Confirm each of the following by checking the box.

  • I have read the author guide.
  • I expect to maintain this package for at least 2 years and can help find a replacement for the maintainer (team) if needed.

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.

@ocefpaf
Copy link
Member

ocefpaf commented Jan 10, 2024

Editor in Chief checks

Hi there! Thank you for submitting your package for pyOpenSci
review. Below are the basic checks that your package needs to pass
to begin our review. If some of these are missing, we will ask you
to work on them before the review process begins.

Please check our Python packaging guide for more information on the elements
below.

  • Installation The package can be installed from a community repository such as PyPI (preferred), and/or a community channel on conda (e.g. conda-forge, bioconda).
    • The package imports properly into a standard Python environment import package.
  • Fit The package meets criteria for fit and overlap.
  • Documentation The package has sufficient online documentation to allow us to evaluate package function and scope without installing the package. This includes:
    • User-facing documentation that overviews how to install and start using the package.
    • Short tutorials that help a user understand how to use the package and what it can do for them.
    • API documentation (documentation for your code's functions, classes, methods and attributes): this includes clearly written docstrings with variables defined using a standard docstring format.
  • Core GitHub repository Files
    • README The package has a README.md file with clear explanation of what the package does, instructions on how to install it, and a link to development instructions.
    • Contributing File The package has a CONTRIBUTING.md file that details how to install and contribute to the package.
    • Code of Conduct The package has a CODE_OF_CONDUCT.md file.
    • License The package has an OSI approved license.
      NOTE: We prefer that you have development instructions in your documentation too.
  • Issue Submission Documentation All of the information is filled out in the YAML header of the issue (located at the top of the issue template).
  • Automated tests Package has a testing suite and is tested via a Continuous Integration service.
  • Repository The repository link resolves correctly.
  • Package overlap The package doesn't entirely overlap with the functionality of other packages that have already been submitted to pyOpenSci.
  • Archive (JOSS only, may be post-review): The repository DOI resolves correctly.
  • Version (JOSS only, may be post-review): Does the release version given match the GitHub release (v1.0.0)?

  • Initial onboarding survey was filled out
    We appreciate each maintainer of the package filling out this survey individually. 🙌
    Thank you authors in advance for setting aside five to ten minutes to do this. It truly helps our organization. 🙌


Editor comments

@rcaneill
Copy link
Author

Hi @ocefpaf,
thanks for taking care of this review :)

I can directly mention that some requirements are not fulfilled:

  • API documentation: not done
  • CONTRIBUTING.md: not done
  • CODE_OF_CONDUCT.md: not done
  • Issue Submission Documentation: not done

As far as I can say, the other requirements should be fulfilled.

@ocefpaf
Copy link
Member

ocefpaf commented Jan 11, 2024

That's awesome! Here are a few minor comments/questions I have after the first pass:

  • You mentioned that the GH repo is a mirror of a Gitlab one. IMO this dual repo usually leads to abandoned PRs in one place and/or stale code somewhere. Let alone the confusion to those finding the Software via search engines. I'm not against this setup and sometimes there are strong reasons to do so. However, if that can be avoided, it usually provides a smoother experience to all.
  • Are you publishing the docs somewhere? I could not find them. I understand that the API docs are not ready but you do have some examples that can be the first form of user facing docs.
  • I started checking the boxes above. Please let me know if I missed one that is already done.

@rcaneill
Copy link
Author

That's awesome! Here are a few minor comments/questions I have after the first pass:

  • You mentioned that the GH repo is a mirror of a Gitlab one. IMO this dual repo usually leads to abandoned PRs in one place and/or stale code somewhere. Let alone the confusion to those finding the Software via search engines. I'm not against this setup and sometimes there are strong reasons to do so. However, if that can be avoided, it usually provides a smoother experience to all.

Maybe the README is not so clear, the github is mirrored to gitlab (not from gitlab). The reason is that I do not want to force anyone to use github. But I could remove the sentence and keep my email address only.

  • Are you publishing the docs somewhere? I could not find them. I understand that the API docs are not ready but you do have some examples that can be the first form of user facing docs.

No, I did not publish the doc anywhere. I started all the readthedoc machinery, but realised that having only these few examples was sufficient. As this packages has been developed only by me, I also had a lot to learn and a proper website for the doc was not urgent.

I can work on a proper website for the doc during this review process. I do not aim to change the content of the examples (unless I get comments from the reviewers), so I think the review can start without this implemented yet.

  • I started checking the boxes above. Please let me know if I missed one that is already done.

@ocefpaf
Copy link
Member

ocefpaf commented Jan 12, 2024

Maybe the README is not so clear, the github is mirrored to gitlab (not from gitlab). The reason is that I do not want to force anyone to use github. But I could remove the sentence and keep my email address only.

I understand. By making a choice we always end up making some folks unhappy. In my experience, mirroring like that always brings headaches in the long run. With that said, this is not important for your application here and you don't need to change that for PyOS.

I can work on a proper website for the doc during this review process. I do not aim to change the content of the examples (unless I get comments from the reviewers), so I think the review can start without this implemented yet.

@rcaneill we usually only start the review after all those points are checked. The reason is b/c the reviewers will read those docs and give you some feedback. Let me know if you need help setting docs, examples, etc in your repo. Once we are done I'll find two reviewers for your project and start the review process.

@rcaneill
Copy link
Author

@rcaneill we usually only start the review after all those points are checked. The reason is b/c the reviewers will read those docs and give you some feedback. Let me know if you need help setting docs, examples, etc in your repo. Once we are done I'll find two reviewers for your project and start the review process.

Ok I understand, I will try to check all boxes in the following weeks!

@rcaneill
Copy link
Author

rcaneill commented Feb 5, 2024

Hi @ocefpaf , I updated the xnemogcm github repository, everything should be checked now! :D

@ocefpaf
Copy link
Member

ocefpaf commented Feb 8, 2024

@rcaneill there seems to be a documentation build problem in page https://xnemogcm.readthedocs.io/en/latest/examples/recombing_mesh_mask_domain_cfg/

Also, some of your syntax there is not Windows friendly and users that copy-n-paste may find themselves with errors. Those are not blockers for us to continue but I wanted to give that feedback here before I forget.

We are now looking for 2 reviewers to start the process. Thank you!

@rcaneill
Copy link
Author

rcaneill commented Feb 8, 2024

@rcaneill there seems to be a documentation build problem in page https://xnemogcm.readthedocs.io/en/latest/examples/recombing_mesh_mask_domain_cfg/

thanks for catching this, it is now corrected.

Also, some of your syntax there is not Windows friendly and users that copy-n-paste may find themselves with errors. Those are not blockers for us to continue but I wanted to give that feedback here before I forget.

Are you speaking about the ls commands in the notebooks? If yes, I can change and use python instead.

@ocefpaf
Copy link
Member

ocefpaf commented Feb 8, 2024

Are you speaking about the ls commands in the notebooks? If yes, I can change and use python instead.

That and I believe some of the paths may not be parsed correctly. I don't have a Windows machine to test in Path is smart enough to convert / to \ for us.

@rcaneill
Copy link
Author

rcaneill commented Feb 8, 2024

pathlib.Path is handling the windows conversion: https://stackoverflow.com/questions/2953834/how-should-i-write-a-windows-path-in-a-python-string-literal/68234511#68234511

For the ls, I changed to os.listdir in rcaneill/xnemogcm#80

@ocefpaf
Copy link
Member

ocefpaf commented Feb 13, 2024

👋 Hi Callum Rollo and
Paige Martin!
Thank you for volunteering to review for pyOpenSci!

The following resources will help you complete your review:

  1. Here is the reviewers guide. This guide contains all of the steps and information needed to complete your review.
  2. Here is the review template that you will need to fill out and submit
    here as a comment, once your review is complete.

Please get in touch with any questions or concerns! Your review is due: March 5th, 2024 (3 weeks).
Please let us know if you need more time.


Reviewers: @callumrollo and @paigem
Due date: 2024-02-29

PS: You can comment, open issue, and/or PR directly in the xnemogcm for this review. Just make sure to cross-reference them here.

@callumrollo
Copy link

Hej Romain, I'm starting my review today. The package looks really good!

I see you have an Issue in to rename master >> main. Perhaps now is a good time to do that before I queue up a couple of small PRs rcaneill/xnemogcm#72

@callumrollo
Copy link

callumrollo commented Feb 14, 2024

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 README.
  • Installation instructions: for the development version of the package and any non-standard dependencies in README.
  • Vignette(s) demonstrating major functionality that runs successfully 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 e.g., in a pyproject.toml file 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),
    • A repostatus.org badge,
    • 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 more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

  • 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.
Package structure should follow 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)

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 paper.md matching JOSS's requirements with:

  • A short summary describing the high-level functionality of the software
  • Authors: A list of authors with their affiliations
  • A statement of need clearly stating problems the software is designed to solve and its target audience.
  • References: With DOIs for all those that have one (e.g. papers, datasets, software).

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:

5 hours


Review Comments

@rcaneill
Copy link
Author

Hej Romain, I'm starting my review today. The package looks really good!

I see you have an Issue in to rename master >> main. Perhaps now is a good time to do that before I queue up a couple of small PRs rcaneill/xnemogcm#72

Hi Calum, thanks for your time :), I updated the name of the default branch to main

@rcaneill
Copy link
Author

Thanks @callumrollo for all the PR and improvements.

@ocefpaf am I supposed to check / merge the PR on the fly, or wait for the end of the review?

@ocefpaf
Copy link
Member

ocefpaf commented Feb 14, 2024

@ocefpaf am I supposed to check / merge the PR on the fly, or wait for the end of the review?

Up to you. Sometimes the second reviewer can add upon the first one and waiting makes sense. Sometimes merging/solving everything now makes it easier b/c it reduces the context for the second review.

@rcaneill
Copy link
Author

Ok I'll try to merge on the way then

@callumrollo
Copy link

I've just about completed my review of the package. It looks to be in good shape! I particularly appreciate the comprehensive test suite. I've just raised one last issue with a missing docstring.

I don't work with nemo data, but using the example data provided I have tested that the functions in xnemogcm work as described. Hopefully @paigem can comment with some more domain specific expertise.

@rcaneill
Copy link
Author

Thanks @callumrollo for you time and comments, I really appreciate.

@callumrollo
Copy link

If this package isn't being submitted to JOSS I believe my review is complete. Thanks @rcaneill for the speedy response to Issues and PRs

@paigem
Copy link

paigem commented Mar 7, 2024

Thanks for your quick updates @rcaneill - it all looks great!

I'm continuing to go through my review checklist and have a couple questions:

I am continuing through the checklist and will reach out with any further questions.

@rcaneill
Copy link
Author

rcaneill commented Mar 7, 2024

I added CITATION.cff file in rcaneill/xnemogcm#104

@paigem
Copy link

paigem commented Mar 11, 2024

@rcaneill I have finished my review! Thanks so much for your quick responses and for being so willing to accept feedback.

@ocefpaf This is to let you know that I have finished my review! Thanks for the opportunity, and let me know if there is anything else I've missed!

@rcaneill
Copy link
Author

Thanks @paigem for your time, and for your great suggestions! I really appreciate.

@ocefpaf
Copy link
Member

ocefpaf commented Mar 13, 2024

@rcaneill please let me know when you are done parsing the suggestions and please both reviewers for their +1 so we can move this application forward.

@rcaneill
Copy link
Author

@ocefpaf I implemented / merged / commented all of their suggestions. So for me, we can move forward :)

@ocefpaf
Copy link
Member

ocefpaf commented Mar 14, 2024

@ocefpaf I implemented / merged / commented all of their suggestions. So for me, we can move forward :)

Awesome! @paigem and @callumrollo can I get your +1 before we move to the next stage?

@callumrollo
Copy link

@ocefpaf lgtm!

@paigem
Copy link

paigem commented Mar 21, 2024

Yes, everything looks great from my end! 😊

@ocefpaf
Copy link
Member

ocefpaf commented Mar 24, 2024

@rcaneill I'm moving tomorrow and will be offline for a few days. I'll wrap this one up as soon as I get settle in our new place. If you don't hear from in ~1 week, please ping me again!

@ocefpaf
Copy link
Member

ocefpaf commented Apr 2, 2024


🎉 xnemogcm has been approved by pyOpenSci! Thank you Romain Caneill (@rcaneill) for submitting xnemogcm and many thanks to Paige Martin (@paigem) and Callum Rollo (@callumrollo) for reviewing this package! 😸

Author Wrap Up Tasks

There are a few things left to do to wrap up this submission:

  • Activate Zenodo watching the repo if you haven't already done so.
  • Tag and create a release to create a Zenodo version and DOI.
  • Add the badge for pyOpenSci peer-review to the README.md of xnemogcm. The badge should be [![pyOpenSci](https://tinyurl.com/y22nb8up)](https://github.com/pyOpenSci/software-review/issues/issue-number).
  • Please fill out the post-review survey. All maintainers and reviewers should fill this out.

Editor Final Checks

Please complete the final steps to wrap up this review. Editor, please do the following:

  • Make sure that the maintainers filled out the post-review survey
  • Invite the maintainers to submit a blog post highlighting their package.
  • Change the status tag of the issue to 6/pyOS-approved6 🚀🚀🚀.
  • Invite the package maintainer(s) and both reviewers to slack if they wish to join.
  • If the author submits to JOSS, please continue to update the labels for JOSS on this issue until the author is accepted (do not remove the 6/pyOS-approved label). Once accepted add the label 9/joss-approved to the issue. Skip this check if the package is not submitted to JOSS.

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.

@lwasser lwasser moved this from under-review to pyos-accepted in peer-review-status Apr 2, 2024
@ocefpaf
Copy link
Member

ocefpaf commented Apr 12, 2024

@rcaneill do you need help finalizing the 4 items in #155 (comment)?

Also, if you have some free time can you fill out our maintainers survey at https://forms.gle/BLGVCfUdiJHS5YJY7?
@paigem and @callumrollo same for you 😬 . Filling that form will help us improve the process.

@ocefpaf
Copy link
Member

ocefpaf commented Apr 12, 2024

BTW, @rcaneill ! We want to invite you and your maintainer team to write a blog post (totally optional) on your package for us to promote your work! if you are interested - here are a few examples of other blog posts:

pandera
movingpandas

and here is a markdown example that you could use as a guide when creating your post.

it can even be a tutorial like post that highlights what your package does. then we can share it with people to get the word out about your package.

If you are too busy for this no worries. But if you have time - we'd love to spread the word about your package!

@ocefpaf
Copy link
Member

ocefpaf commented Apr 12, 2024

Last but not least, do you (@rcaneill, @paigem, and @callumrollo) would like to be invited to PyOS slack? It will help you share your experience, get in touch with the community, and learn from others.

@rcaneill
Copy link
Author

Hi @ocefpaf , I am on parental leave until Monday, I'll take time next week to answer you in details.

@ocefpaf
Copy link
Member

ocefpaf commented Apr 12, 2024

Hi @ocefpaf , I am on parental leave until Monday, I'll take time next week to answer you in details.

Enjoy! I'm on forced* parental leave too so that is convenient for both of us 😄

(*Waiting for our day care application to be accepted so we can get the little one in school at the new home.)

@callumrollo
Copy link

Last but not least, do you (@rcaneill, @paigem, and @callumrollo) would like to be invited to PyOS slack? It will help you share your experience, get in touch with the community, and learn from others.

sure!

@rcaneill
Copy link
Author

rcaneill commented Apr 15, 2024

  • Activate Zenodo watching the repo if you haven't already done so.
  • Tag and create a release to create a Zenodo version and DOI.
  • Add the badge for pyOpenSci peer-review to the README.md of xnemogcm. The badge should be pyOpenSci.
  • Please fill out the post-review survey. All maintainers and reviewers should fill this out.

The new xnemogcm version is 0.4.3, the doi is: https://doi.org/10.5281/zenodo.10973846

Thanks again @ocefpaf , @callumrollo, and @paigem for the review

@rcaneill
Copy link
Author

Last but not least, do you (@rcaneill, @paigem, and @callumrollo) would like to be invited to PyOS slack? It will help you share your experience, get in touch with the community, and learn from others.

Thanks for the invite, but I prefer to not use Slack. I am still available by email for future exchanges.

@rcaneill
Copy link
Author

BTW, @rcaneill ! We want to invite you and your maintainer team to write a blog post (totally optional) on your package for us to promote your work! if you are interested - here are a few examples of other blog posts:

pandera movingpandas

and here is a markdown example that you could use as a guide when creating your post.

it can even be a tutorial like post that highlights what your package does. then we can share it with people to get the word out about your package.

If you are too busy for this no worries. But if you have time - we'd love to spread the word about your package!

I will see if I have time for it. If so, should I open a PR on https://github.com/pyOpenSci/pyopensci.github.io?

@ocefpaf
Copy link
Member

ocefpaf commented Apr 18, 2024

I will see if I have time for it. If so, should I open a PR on https://github.com/pyOpenSci/pyopensci.github.io?

Yes. You can see an example here.

@ocefpaf
Copy link
Member

ocefpaf commented Apr 18, 2024

I'm closing this as complete. Thanks again for the reviewers and for @rcaneill for your patience!

@ocefpaf ocefpaf closed this as completed Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: pyos-accepted
Development

No branches or pull requests

5 participants