Skip to main content

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

Project description

Automata

Copyright 2016-2024 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.8 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-8.4.0.tar.gz (102.0 kB view details)

Uploaded Source

Built Distribution

automata_lib-8.4.0-py3-none-any.whl (125.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: automata_lib-8.4.0.tar.gz
  • Upload date:
  • Size: 102.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for automata_lib-8.4.0.tar.gz
Algorithm Hash digest
SHA256 d51c5414905c53326613627ac73d20c0f5c050351483829943f2e55fb4773f54
MD5 621e19a8b71b520d206964dbe53b8164
BLAKE2b-256 557399e56a53c1e9e81ebd03f28f70023c1c3ffc2221f35b6d17cab925c08b0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: automata_lib-8.4.0-py3-none-any.whl
  • Upload date:
  • Size: 125.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for automata_lib-8.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01ffec1c6af7e707ca6018ec0962fcc9910749838fc4f12a2d44a32d0ab2bc9c
MD5 a763dbab8f8fe09e09d5ce11b740f238
BLAKE2b-256 ea103acf1f971f52cb36a4ea63849e7ee866b8c6cf2760c94fa89580b1119c59

See more details on using hashes here.

Supported by

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