Skip to main content

A Python library for simulating finite automata, pushdown automata, and Turing machines

Project description

Automata

Copyright 2016-2025 Caleb Evans
Released under the MIT license

PyPI version tests docs Coverage Status Project Status: Active – The project has reached a stable, usable state and is being actively developed. PyPI - Python Version status pyOpenSci

Links:

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. This package is suitable for both researchers wishing to manipulate automata and for instructors teaching courses on theoretical computer science.

The library requires Python 3.9 or newer.

Huge thanks to @eliotwrobson, @YtvwlD, @dengl11, @Tagl, @lewiuberg, @CamiloMartinezM, @abhinavsinha‑adrino, @EduardoGoulart1, @khoda81, and @christopher-hampson for their invaluable code contributions to this project! 🎉

Installing

You can install the latest version of Automata via pip:

pip install automata-lib

To install the optional visual dependencies, use the visual extra:

pip install 'automata-lib[visual]'

If you encounter errors building pygraphviz, you may need to install graphviz. See the instructions here.

Contributing

Contributions are always welcome! Take a look at the contributing guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

automata_lib-9.0.0.tar.gz (102.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

automata_lib-9.0.0-py3-none-any.whl (125.1 kB view details)

Uploaded Python 3

File details

Details for the file automata_lib-9.0.0.tar.gz.

File metadata

  • Download URL: automata_lib-9.0.0.tar.gz
  • Upload date:
  • Size: 102.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for automata_lib-9.0.0.tar.gz
Algorithm Hash digest
SHA256 15994aad0c863f5e9e255535c7983a366178529d9f0cf0a0b0141085f44323a4
MD5 b32fea005be7e42f29e98e6a406ca3e3
BLAKE2b-256 dfcb4135e2a1fe940fa8803ef58213d35d6011d672c146d85319a21576ce5e1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for automata_lib-9.0.0.tar.gz:

Publisher: publish.yml on caleb531/automata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file automata_lib-9.0.0-py3-none-any.whl.

File metadata

  • Download URL: automata_lib-9.0.0-py3-none-any.whl
  • Upload date:
  • Size: 125.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for automata_lib-9.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1861ec4c1b0dc29f97ab9e64b707bf52e3054c69ec6a1d5e6de2b834d198b331
MD5 fa229f35aff773e77df69a9c66864c81
BLAKE2b-256 5653a9963095b7e60e8f1915283fc50db3e040eeb5e7f61c3934bf1049d90971

See more details on using hashes here.

Provenance

The following attestation bundles were made for automata_lib-9.0.0-py3-none-any.whl:

Publisher: publish.yml on caleb531/automata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page