-
Notifications
You must be signed in to change notification settings - Fork 33
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: 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:
|
@sneakers-the-rat (cc @irisdyoung) do you think we might be able to close out reviews soon? The end of the academic year is coming up for me, and it would be awesome to be able to close out the remaining items for this review before the start of the summer. |
Apologies, have been afk and traveling for the last few weeks. Back at my desk tomorrow and yes lets scoot this along :) |
OK - checking in with @irisdyoung offline, @phildong is finished with first pass of review, so for that we'd be waiting on any final issues to raise and otherwise just a final review statement that summarizes a) outcomes of review checklist, b) overall impressions of package, c) strengths, and d) opportunities for growth :). I'll check in with phil separately monday if he's not checking on his gh notifications. edit: will follow up with another timeline after making contact with reviewers |
Checking in again - @irisdyoung any estimate on review time? and @phildong for some summary statement on the package if you have seen enough of it? |
@sneakers-the-rat just a heads up that I'm going to get started on the existing open issues from this review pretty soon, along with expanding the examples in the documentation (based on the unchecked boxes left in the open review). |
Sorry for the silence! |
@irisdyoung last call for review :) no worries if things are too hectic on your end, just want to know to start looking for another reviewer. |
Hello and apologies for the radio silence over here. I've done a first look through and can plan to raise any issues before the weekend. Talk soon! |
Docs PR addressing most of the currently open issues from this review: caleb531/automata#217 Basically adds discussion addressing most of the points of confusion that have come up so far. Regarding more self-contained tutorials, that's coming up soon 👍👍 |
Great @irisdyoung thanks for letting us know. |
@irisdyoung any updates? I think we've addressed all the issues you opened. |
hi there team 👋🏻 I wanted to check in on this review. your fearless editor @sneakers-the-rat is focused on other more pressing issues now going on in their professional environment. As such i'm just checking in to see if we can support Jonny in moving this review forward while they focus on bigger more important things. As such, i'm trying to figure out the state of this review! it's important to have a tracebable record of the review so we ask that you both submit a formal review as a comment using that template and if you open issues / pr's (amazing!!) please link them back to this issue for traceability! in the meantime I am also going to look for a pinch hitter editor to support this review to keep things moving forward. everyone - please let me know how this sounds / if you have questions, concerns, etc / if i missed something!! ✨ thank you all for supporting our peer review process. |
@lwasser thanks for checking in!! I think your assessment of the state of this review is correct. We've been trying to close all of the issues related to this review in a timely manner. There's one outstanding we may push back on somewhat given the effort involved and how long this review has been open, but otherwise there haven't been a ton of requests made by reviewers. With some support I think this can be pushed to close fairly soon (hopefully). |
ok great.
we will get things wrapped up here @eliotwrobson let's work together on getting all three of the above elements sorted out! |
In full agreement on 2 and 3. As for 1, in a previous comment, @phildong mentioned that he would be fine signing off his review once all the linked issues / PRs were closed: #152 (comment) There is only one outstanding item from this review, and this is a request for instructional examples using the package. We're working on this currently (as we have actually wanted to add something self-contained like this for a while), and we'll definitely have this added at some point, but my only pushback is whether this should be an item blocking acceptance. Since we're still waiting on other things, this isn't really an issue yet, but something to keep in mind for later on. |
ahhh ok i hear you @eliotwrobson ! so let me make a small list of todos' for this issue here - Eliot - can you fill in any gaps for me please? i haven't been able to dig deeply into this review but do want to help it move forward
I also see that for someone who doesn't know what automata is, it would be hard to follow that vignette and actually understand what it was doing. I wonder if we could discuss this in our slack with the community - the question here is about how rigorous docs should be when we accept vs if there is something that is good enough for now - and we know the authors are actively working on this. What do you all think?
i think we can discuss the first check above together. either here / on more synchronously in our slack. let me know what you all prefer. in the meantime i am going to pose the question in slack as it's really a standards related question for our review. |
@lwasser thanks! discussing on slack is probably easier, I'm not on there currently but you can send me an invite at eliot.robson24@gmail.com! Regarding the docs link, that seems like a good change, so I'll make a PR for that as soon as I get the chance 👍 Edit: actually, I think the repo link on pypi should stay as-is? The docs link there is correct, and the repo includes a docs link as well. Edit 2: ahh I see what you mean now. Will discuss with the other maintainer. Edit 3: Github repo link has been updated! |
@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. |
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
Reviewer 1:
Reviewer 2:
Reviewers (@pyosreviewer1, @pyosreviewer2): (@phildong , @irisdyoung, @NimaSarajpoor)
Reviews Expected By: March 28th, 2024
Archive: TBD
JOSS DOI: TBD
Version accepted: TBD
Date accepted (month/day/year): TBD
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: