The package contains a set of tools and algorithms for theoretical computer science, which could include automata theory as well as other topics.
pip install AutomaPy
from AutomaPy import EndingWithOneZeroOne
dfa = EndingWithOneZeroOne()
print(dfa.check_string("101")) # True
from AutomaPy import ThreeConsecutiveOne
dfa = ThreeConsecutiveOne()
print(dfa.check_string("111")) # True
print(dfa.check_string("11100")) # True
print(dfa.check_string("1100")) # False
from AutomaPy import Tokenizer
tokenizer = Tokenizer()
print(tokenizer.tokenize("This is an example of tokenization."))
from AutomaPy import DecimalNumberDivisibleByTwo
dfa = DecimalNumberDivisibleByTwo()
print(dfa.check_string("10")) # Decimal number of "10" is 2
print(dfa.check_string("110")) # Decimal number of "10" is 6
print(dfa.check_string("101")) # Decimal number of "10" is 5
from AutomaPy import EqualNumberOfOneZero
dfa = EqualNumberOfOneZero()
print(dfa.check_string("10")) # True
print(dfa.check_string("101100")) # True
print(dfa.check_string("1011")) # False
from AutomaPy import CountNumberOfOneZero
dfa = CountNumberOfOneZero()
print(dfa.check_string("111000")) # The Number of 1's is 3 and number of 0's is 3
print(dfa.check_string("111001")) # The Number of 1's is 4 and number of 0's is 2
print(dfa.check_string("1100")) # The Number of 1's is 2 and number of 0's is 2
from AutomaPy import TuringMachineEvenOnes
tm = TuringMachineEvenOnes()
print(tm.check_string("")) # True (because 0 is even number)
print(tm.check_string("1")) # False
print(tm.check_string("1111")) # True
AutomaPy --help