presubmission inquiry: automata
eliotwrobson opened this issue · 4 comments
Submitting Author: Name (@eliotwrobson)
Package Name: automata
One-Line Description of Package: A Python library for simulating finite automata, pushdown automata, and Turing machines
Repository Link (if existing): https://github.com/caleb531/automata
Code of Conduct & Commitment to Maintain Package
- I agree to abide by pyOpenSci's Code of Conduct during the review process and in maintaining my package after should it be accepted.
- I have read and will commit to package maintenance after the review as per the pyOpenSci Policies Guidelines.
Description
- Include a brief paragraph describing what your package does:
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.
Community Partnerships
We partner with communities to support peer review with an additional layer of
checks that satisfy community requirements. If your package fits into an
existing community please check below:
- Pangeo
- My package adheres to the Pangeo standards listed in the pyOpenSci peer review guidebook
Scope
- Please indicate which category or categories this package falls under:
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
- Workflow automation
- Citation management and bibliometrics
- Scientific software wrappers
- Database interoperability
Domain Specific & Community Partnerships
- [ ] Geospatial
- [x] Education
- [ ] Pangeo
- [ ] Unsure/Other (explain below)
- Explain how and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:
The package falls under the data processing and visualization categories, as there are a number of algorithms for manipulating and visualizing automata implemented (where the automata themselves are the data being operated on). The package is also useful as an educational tool, as automata are a common topic in theoretical computer science courses (and, in fact, the package has already been cited in publications for this purpose).
- Who is the target audience and what are the scientific applications of this package?
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.
- Are there other Python packages that accomplish similar things? If so, how does yours differ?
There are some smaller packages with similar scope (for example here), but automata is the most popular, best maintained, and most feature-rich.
- Any other questions or issues we should be aware of:
We've submitted the package to JOSS already and the review is in progress. Assuming automata is in-scope, we don't plan on submitting the package here until that review is completed.
P.S. Have feedback/comments about our review process? Leave a comment here
Hi @eliotwrobson! Welcome to pyOpenSci and thank you for this detailed presubmission inquiry.
Yes, automata is in scope. Please go ahead with a full submission.
Just to make sure you see it, the checklist we start reviews with is here: https://www.pyopensci.org/software-peer-review/our-process/review-timeline.html#step-0-optional-author-submits-pre-submission-inquiry
You will need to make sure you have all those items before we start the review.
Notice that you will want to have a docs page that is built on a separate site (e.g., ReadTheDocs or GitHub pages). The docs should include not only the API but also tutorials and vignettes that demonstrate how the package is used.
It looks like you might be most of the way there with what you have in your docs folder. You might find it helpful to check out the section on documentation in our Python package guide: https://www.pyopensci.org/python-package-guide/documentation/index.html
Just let me know if you have any further questions. You can also feel free to ask questions in our public forum.
I will mark this issue as "submission requested" and close once you confirm. Please also reference this presubmission issue when you open the issue with the full submission.
Hi @NickleDave thank you the linked resources and your detailed response! We're in the process of reworking the docs page right now, along with closing out the current JOSS review, so we will get a submission going once those items have been completed. Feel free to close this, and we will be sure to reference this issue once our full submission gets going.
Excellent, we're looking forward to your submission! Thank you @eliotwrobson!