-
Notifications
You must be signed in to change notification settings - Fork 36
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
automata #152
Comments
hey there @eliotwrobson 👋 Welcome to pyOpenSci!! I just wanted to let you know that we have seen this submission and will be following up in the next week about moving forward with it! Have a wonderful weekend. ✨ |
hi again @eliotwrobson @caleb531 👋 my apologies for the delay! we are making a few changes to our editorial process and that took a bit of time to sort out! Our Editor in Chief for the next quarter, @isabelizimm will be running initial checks on this package in the upcoming week. After that @sneakers-the-rat will lead the review as editor! You will hear from our editorial team sometime in the next week to kick off the review. ✨ Thank you for your patience! |
Thank you so much for this submission! I've done some preliminary checks below, which all look great 🎉 your editor will be @sneakers-the-rat, who will take it from here with finding reviewers. Editor in Chief checksHi there! Thank you for submitting your package for pyOpenSci Please check our Python packaging guide for more information on the elements
|
hi there @eliotwrobson 👋 i wanted to point out two small items that you could address associated with your package's structure!
These are small changes but will modernize / clean up your package just a bit! :) |
@sneakers-the-rat are there any more action items we can handle before reviews start? Just wanted to check in, thanks! |
Hello! sorry for the delay, i've been prepping for/at a workshop the last few weeks, but let's get this rolling. I have one reviewer that has previously agreed to review this, and am putting the call out for more. |
Hello this is the "one reviewer" popping in and saying Hi. Very excited for this and ready to jump in whenever you're ready! |
Hello and thank you for agreeing to review @phildong !!!!! Still casting about for reviewers, I see @nathanael-fijalkow and @rohaquinlop as having worked on similar projects in the past by searching through github a bit, although they have not agreed to review for pyopensci, will ask again on masto and in reviewer channels :) |
Checking in again, I'll make another call for a second reviewer, but @eliotwrobson if you could recommend anyone that might be suitable as a reviewer that would be great! |
@sneakers-the-rat thanks for checking in! I don't have anyone specific in mind (I'm honestly not sure what the qualifications are for review). If you wanted to, you could ask people that did the previous JOSS review? That might make things easier since they already know their way around. |
We have located a second reviewer! Thank you to @irisdyoung for volunteering, and thanks @phildong for your patience :) Now that we have two reviewers, let's get started! pyOpenSci is a young-ish organization and doesn't have some of the fancier review bot features set up like JOSS yet (we're working on it!), but the reviews work similarly if you've done that before: First, check out the reviewer guide here - https://www.pyopensci.org/software-peer-review/how-to/reviewer-guide.html (and you can raise issues if anything is unclear here: https://github.com/pyOpenSci/software-peer-review ). There are example reviews linked from there, and you can also see previous reviews i have done for pyopensci (pygraphblas) or joss (reorient) My role here is to make sure the reviewers have everything needed to complete the review, and make sure the vibes stay close to a supportive, collaborative discussion. So I don't end up typing this 50 times: if you need anything at all, don't hesitate to ask. If you would prefer speaking privately, you can reach me on the fediverse or via email. As an overview, you are going to do three things
As reviewers, you are taking the role of an interested and critical potential user - it should be possible for you to (non-exhaustively) a) understand what the package is supposed to be able to do, b) know how to do it, c) be able to do it, and d) be confident that functionality won't break. All that should require no special information from the authors - you are reviewing both for technical correctness as well as quality of documentation and technical infrastructure like CI. A decent heuristic is, by the end of the review, the package should be one that you would want to add as a dependency in your work. The checklist is a minimum bar, but you are welcome to review anything beyond that - as reviewers you can coordinate amongst yourselves if one or the other of you has a preferred focus, eg. someone prefers reviewing for docs and the other wants to review for performance, etc. You can signal if a particular issue is a blocker for you or not, and we can resolve those as they come up - optional suggestions, comments, questions, etc. are also in bounds. This is an open, collaborative review process - the checklist is about bringing packages in python world up to a minimal standard of maintainability and functionality, but it is not a gate to keep. There is no concept of "rejection" here, instead we are trying to help the authors reach that standard. Be the code reviewer you always wished you had <3. And with that lengthy explanation... let's get started. the first thing you'll both want to do is copy and paste the review template (also added in the collapsible below) into a new comment that you can then edit as you do your review :) glhf <3 Let's set a tentative date to expect reviews 3 weeks from now - March 28th Expand/collapse review template
|
Checking in with reviewers, @phildong @irisdyoung - do we think we'll need more time? |
@sneakers-the-rat sorry I was traveling last week. I aim to finish the review this week/weekend! |
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
Final approval (post-review)
Estimated hours spent reviewing: 10hr Review CommentsThe Specific comments: |
ok finished my first pass of review. @sneakers-the-rat since it's first time I do this please let me know if I'm on the right track and if there's any major stuff I'm missing! Meanwhile I got some questions:
|
@eliotwrobson Please feel free to ignore if a similar comment was made by someone else before, and was already addressed / discussed. Also, these are just my perspective. So, feel free to let me know when you think a comment is not a good fit. (1) Maybe add a link to examples on README page (Or maybe just provide one example on the README page) I do not see any other concerns from my end! |
@NimaSarajpoor Thank you for the feedback! I think we should be able to add most of those items on to the open pull request you linked to. The only one I had questions on was 5. Would this just be listing every public method in the top docstring for the DFA class? I'm not sure how valuable this would be in the scheme of things, since there's a huge number of methods, and these are all listed on the documentation site anyway. However, I'm not sure what common practice is in other libraries. |
Hi there - i'm just checking in to see how things are going 👋🏻 it looks like there are a few wrapup documentation elements to complete and then we can move this forward. @NimaSarajpoor THANK YOU for pitching in here!! i'll also add you as a reviewer to the header. finally i am curious about the description being requested - i do see this https://caleb531.github.io/automata/api/fa/class-dfa/ in the api docs and it looks like methods are generally documented. We can discuss more however as there might be a documentation piece that i'm missing as well! Have a great weekend y'all. i'll check back in next week and we can work together to wrap this review up! |
TL;DR
You are absolutely right that the description was provided in the API docs. My comment was mainly about having the methods in the
After you ask the question, I realized I was not sure myself! 😅 I did some research and found this stackoverflow post in which the answer quotes the following sentence from PEP 257:
Still, the author of the answer mentioned that they prefer to avoid doing this because it can become out of date in the future. |
@lwasser thanks for checking in! We just merged caleb531/automata#227, which finishes addressing @/NimaSarajpoor's comments and the last open PR from this review (closing because our examples are now more extensive, and more comprehensive tutorials will be coming later). So I think we've addressed every open issue that's been raised thus far. |
ok y'all. It seems to me that in the latest PR all of the documentation issues have been addressed. We have one review formally submitted to this review from @phildong - thank you!! @phildong do you have content with the state of the package now after your review? Please just reply here if you have a moment. @NimaSarajpoor i think from your statement above that you are ok with the state of the package docs (which was your focus here). NOTE: I did start a conversation on slack around that PEP. That seems fairly extensive - especially given we have tools to generate API docs and that pep was from 2001. BUT there could be other reasons for it too that I am missing (such as for those running @irisdyoung i just hope things are ok with you. I certainly understand hectic lives. I hope you are well! Please know that we never want to pressure / stress reviewers and volunteers at pyOpenSci and only wish for the best for everyone! Sometimes life gets busy and that is ok / (in fact recommended!!) to take care of yourself first! |
@lwasser |
thank you @NimaSarajpoor ok all we need is the ok from @phildong !! |
oops sorry for the holdup on my side. |
@phildong thanks for following up! This is indeed the case, the new version of the docs site will go up on a new deployment. You can see a preview of the page by looking at the branch: https://github.com/caleb531/automata/blob/develop/docs%2Fexamples%2Ffa-examples.md |
Alright, sorry for my absence, am back at work now and Leah has asked me to finish up the review. It looks like we're all set here! we have two reviewers giving their all clear and all requested changes are made. Here's the final approval checklist: https://www.pyopensci.org/software-peer-review/how-to/editors-guide.html#how-to-accept-a-package-into-the-pyopensci-ecosystem The last substantive thing is to create an archive on zenodo - for the sake of the review you can just make a single archive of the repo (linked to a tagged commit, ideally), but you can also set up zenodo to automatically archive releases as well (sorry but these are the best docs i can find on zenodo itself, but if you search you'll find a guide). Once you do that, post the DOI, i'll add it to the top of the issue, and that should be that! If you'd like to submit a blog post as well, please let me know and i'll figure out where you should send that :) Reviewers: you are welcome to join the pyopensci slack as well, I believe you should all either already be in there or you know how to contact me privately and i'll send you an invite! thank you all again! 🎉 Author Wrap Up TasksThere are a few things left to do to wrap up this submission:
Editor Final ChecksPlease complete the final steps to wrap up this review. Editor, please do the following:
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. |
@sneakers-the-rat thank you! We've already set up automatic archiving through zenodo already: https://zenodo.org/records/10864492 I think it would be worthwhile to make a blog post as well, since we can just use examples / material from the JOSS paper or existing examples. The revisions from items here will be included on Zenodo once we do another release. @caleb531 I've added the pyOpenSci badge to the develop branch along with the other changes, so we should be good to go. Would you like me to write the release notes? (can follow-up on slack if more discussion is needed). |
great! added the DOI at the top, let me know when you make that release and that should be all! |
@sneakers-the-rat Perfect! I've just published Automata v8.4.0 with all of the discussed changes and documentation improvements! https://github.com/caleb531/automata/releases/tag/v8.4.0 |
Excellent. Ill finalize whats left to do here and check with EiC for anything else that needs to happen. I am supposed to remind the authors and reviewers complete this post review survey to improve our processes if they would be so kind :) Thanks and congratulations to everyone!! |
@sneakers-the-rat excellent! May we write a blog post for the package? If so, I'll get to work on that pretty soon. |
yes, also asked about that & how to format/submit/etc. I would assume it would be a jekyll-markdown style post like those in https://github.com/pyOpenSci/pyopensci.github.io/tree/main/_posts when i get further info i'll let you know (and also update our docs, bc they are unclear to authors and editors alike at the moment ;) |
hey everybody, sorry for dropping the ball. Glad to see you got the review process wrapped up -- thanks @NimaSarajpoor for stepping in!! And to the authors/maintainers, nice piece of work, glad it's out there! |
@sneakers-the-rat the package is now listed on the site, and the blog post has been merged and is live. Can this issue be closed? |
oh yes. thank you for your patience @eliotwrobson and for being so on top of things. let's close this puppy as completed! i see you filled out the survey - many many thanks for the feedback!! 👐🏻 |
Submitting Author: Eliot Robson (@eliotwrobson)
All current maintainers: (@eliotwrobson, @caleb531)
Package Name: automata
One-Line Description of Package: A Python library for simulating finite automata, pushdown automata, and Turing machines.
Repository Link: https://github.com/caleb531/automata
Version submitted: v8.2.0
EiC: @isabelizimm
Editor: @sneakers-the-rat
Reviewers: @phildong , @irisdyoung, @NimaSarajpoor
Reviews Expected By: March 28th, 2024
Archive:
Version accepted: 8.4.0 (repo, pypi, archive)
Date accepted (month/day/year): 06/29/2024
Code of Conduct & Commitment to Maintain Package
Description
Automata is a Python 3 library implementing structures and algorithms for manipulating finite automata, pushdown automata, and Turing machines. The algorithms have been optimized and are capable of processing large inputs. Visualization logic has also been implemented.
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):
This package is suitable for both researchers wishing to manipulate automata and for instructors teaching courses on theoretical computer science. Automata (especially finite automata) are important models in computing that appear in a variety of educational and research contexts, and the ability to manipulate them with this package is valuable to this effort.
There are some smaller packages with similar scope (for example here), but automata is the most popular, best maintained, and most feature-rich.
@tag
the editor you contacted:#135
Although I am not the primary repository owner (that is @caleb531), he has given me permission to make this submission and be a long-term point of contact as-needed. Additionally, our documentation page is brand-new, so we anticipate some rough edges, and hope that feedback from this review can be used to improve the usability and add examples. Automata also already appeared in JOSS, so that is why those items have been left blank here even though the writeup is present in the repository.
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: