Skip to content

presubmission inquiry: automata #135

@eliotwrobson

Description

@eliotwrobson

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

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:

Scope

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

Metadata

Metadata

Assignees

Type

No type

Projects

Status

pre-submission

Status

Closed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions