Skip to main content

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

Project description

Automata

Copyright 2016-2023 Caleb Evans
Released under the MIT license

tests Coverage Status status

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, and @khoda81 for their invaluable code contributions to this project! 🎉

Migrating to v8

If you wish to migrate to Automata v8 from an older version, please follow the migration guide.

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]'

API

Please refer to the official API Documentation in the docs/ directory of the GitHub repository.

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.1.0.tar.gz (86.0 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-8.1.0-py3-none-any.whl (106.5 kB view details)

Uploaded Python 3

File details

Details for the file automata-lib-8.1.0.tar.gz.

File metadata

  • Download URL: automata-lib-8.1.0.tar.gz
  • Upload date:
  • Size: 86.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for automata-lib-8.1.0.tar.gz
Algorithm Hash digest
SHA256 ed71f2d34d2b2a943ab39d52c9a31778f0672f101af83eec58dca43fff655d43
MD5 65a2fa4ce8b66856b953fbe8476b377e
BLAKE2b-256 8dce97cf8c13b81ad9a445dcd181bce571202583bdb442fce072fd771c23622e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: automata_lib-8.1.0-py3-none-any.whl
  • Upload date:
  • Size: 106.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for automata_lib-8.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9c87a6a902d23256d1461fbe774de5e6cfd6dc08796b17b523d735b40b310c7
MD5 ff78d49d0f9f141f755e49995d9d3570
BLAKE2b-256 c12956822402146f424e8ce00a5bbf31195a04b0d074da139e7a1fa85a8bf63b

See more details on using hashes here.

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