Skip to main content
Copyright (c) 2017 Alessio Cecconi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Description: ================
PySimpleAutomata
================

.. Overview

PySimpleAutomata is a Python library to manage Deterministic Finite Automata (DFA),
Nondeterministic Finite Automata(NFA) and Alternate Finite state automata on Word (AFW).

This library is not meant for performance nor space consumption optimization,
but for academic purposes:
*PySimpleAutomata aims to be an easily readable but working representation of automata theory*.

.. Disclaimer

This project has been developed for "Process and Service Modelling and Analysis" class
of Master of Science in Engineering in Computer Science from Sapienza University of Rome.

---------
Structure
---------

::

/PySimpleAutomata
|
+---/PySimpleAutomata : Library sources
| |
| +--- AFW.py : Functions to handle AFWs automata.
| |
| +--- automata_IO.py : Functions of IN/OUTput for all the automata types.
| |
| +--- DFA.py : Functions to handle DFAs automata.
| |
| +--- NFA.py : Functions to handle NFAs automata.
|
+---/doc : Documentation sources
|
+---/tests : Unit testing and test-cases inputs


------------
Requirements
------------

The project is **Python3 only**, tested on Python 3.5 and 3.6.

`Graphviz - Graph Visualization Software <http://graphviz.org//>`_ is required to be installed and
present on system path to input/output dot files, while
Python packages `pydot <https://pypi.python.org/pypi/pydot/>`_ and
`graphviz <https://pypi.python.org/pypi/graphviz>`_ are used to handle them (respectively input and output).

`Sphinx <http://www.sphinx-doc.org//>`_ is used to generate the documentation.

`Unittest <https://docs.python.org/3/library/unittest.html>`_ for Unit testing.


------------
Installation
------------

From `PyPi <https://pypi.python.org/pypi>`_ using pip::

pip install pysimpleautomata

From source::

python setup.py install
pip install -r requirements.txt

It is advised in any case to use a `Python Virtual environment <https://docs.python.org/3/tutorial/venv.html>`_ instead of a global installation.

-------------
Documentation
-------------

For a detailed explanation of the library API consult the `online documentation <http://pysimpleautomata.readthedocs.io/>`_
or `download it <https://readthedocs.org/projects/pysimpleautomata/downloads/>`_.

-------
Licence
-------

This code is provided under `MIT Licence <https://github.com/Oneiroe/PySimpleAutomata/blob/master/LICENSE>`_.

Keywords: automata DFA NFA AFW
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6

Metadata

Release files for PySimpleAutomata 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PySimpleAutomata 0.5.0
File Size Uploaded
PySimpleAutomata-0.5.0.tar.gz 19.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PySimpleAutomata 0.5.0
File Interpreter ABI Platform
PySimpleAutomata-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.1 kB

Release files / PySimpleAutomata-0.5.0.tar.gz

Download URL PySimpleAutomata-0.5.0.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
32a9ddd4392e254830d0c94013dfd84847976baa2a043c2ecc28c5dd369b9400
BLAKE2b-256 checksum
How to use checksums
b1ce6d21a68050d667af6019a2861072867366a71c1f881a2a178904ae55e081
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PySimpleAutomata-0.5.0-py3-none-any.whl

Download URL PySimpleAutomata-0.5.0-py3-none-any.whl
Size 24.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14b5b527801d6fa28e31cff0fb1b81a58f424530a1f9456b41eff34f528602b6
BLAKE2b-256 checksum
How to use checksums
7efd541e02001300c6deaad18e68cc811c48d5d8c1c8288ec86bd6182c2c723f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page