{ "info": { "author": "J.L. van den Hout", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "## Automaton\n\nThis package provides a simple automaton implementation for Python.\n\n---\n- [1. Installation](#1-installation)\n - [1.1. Using pip](#11-using-pip)\n - [1.2. From source](#12-from-source)\n- [2. Basic usage](#2-basic-usage)\n- [3. Support](#3-support)\n- [4. Contributing](#4-contributing)\n- [5. License](#5-license)\n- [6. Changelog](#6-changelog)\n---\n\n### 1. Installation\n#### 1.1. Using pip\nSimply run the usual installation command for pip:\n\n```\npip install jlvandenhout-automaton\n```\n\n#### 1.2. From source\nTo install from the latest source code, clone this repository and install from the repository:\n\n```\ngit clone https://gitlab.com/jlvandenhout/automaton.git\ncd automaton\npip install .\n```\n\n### 2. Basic usage\n```python\nfrom random import choices\n\nfrom jlvandenhout.automaton import Automaton\nfrom jlvandenhout.graph import Graph\n\n\ngraph = Graph()\ngraph.edges.set(\"ice\", \"water\", \"heat\")\ngraph.edges.set(\"water\", \"vapor\", \"heat\")\ngraph.edges.set(\"vapor\", \"vapor\", \"heat\")\ngraph.edges.set(\"vapor\", \"water\", \"cool\")\ngraph.edges.set(\"water\", \"ice\", \"cool\")\ngraph.edges.set(\"ice\", \"ice\", \"cool\")\n\ndef follow(edge, symbol=None):\n return symbol == edge.get()\n\nautomaton = Automaton(graph, choices(list(graph.nodes)), graph.nodes, follow)\n\nprint(\"We start with\", automaton.nodes.pop())\nfor symbol in choices(list(automaton.symbols), k=10):\n automaton.update(symbol)\n print(f\"After {symbol}ing we have\", automaton.nodes.pop())\n```\n\n### 3. Support\nIf you have any questions, suggestions or found a bug, please open an issue in [the issue tracker](https://gitlab.com/jlvandenhout/automaton/issues).\n\n### 4. Contributing\nRefer to [CONTRIBUTING](https://gitlab.com/jlvandenhout/automaton/blob/master/CONTRIBUTING.md).\n\n### 5. License\nRefer to [GNU General Public License v3 (GPLv3)](https://choosealicense.com/licenses/gpl-3.0/).\n\n### 6. Changelog\nRefer to [CHANGELOG](https://gitlab.com/jlvandenhout/automaton/blob/master/CHANGELOG.md).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/jlvandenhout/automaton", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "jlvandenhout-automaton", "package_url": "https://pypi.org/project/jlvandenhout-automaton/", "platform": "", "project_url": "https://pypi.org/project/jlvandenhout-automaton/", "project_urls": { "Homepage": "https://gitlab.com/jlvandenhout/automaton" }, "release_url": "https://pypi.org/project/jlvandenhout-automaton/0.1.0/", "requires_dist": [ "jlvandenhout-graph (>=2.0)" ], "requires_python": "", "summary": "This package provides a simple automaton implementation for Python.", "version": "0.1.0" }, "last_serial": 5671578, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2041bef8942402f58581267deb4538f5", "sha256": "0f6281fcd41625272a1940fdc117de6a72045dff70054f3df99aeadda01cb05f" }, "downloads": -1, "filename": "jlvandenhout_automaton-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2041bef8942402f58581267deb4538f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15484, "upload_time": "2019-08-13T12:23:30", "url": "https://files.pythonhosted.org/packages/bd/e6/64bfde5da44ca14a71c5cb72a188ce78da7a401d19f7c986bd2212a3cf36/jlvandenhout_automaton-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d61a37d484264c17dfba8fe58905f159", "sha256": "84003985db8933828deb297d794eea9a37df104ebb95d7ee1acca9ab5d1e5d78" }, "downloads": -1, "filename": "jlvandenhout-automaton-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d61a37d484264c17dfba8fe58905f159", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2692, "upload_time": "2019-08-13T12:23:32", "url": "https://files.pythonhosted.org/packages/75/90/e6fb13eb69c79f3c18ba560a9fb50b4b614333e72691e01603dd54f943de/jlvandenhout-automaton-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2041bef8942402f58581267deb4538f5", "sha256": "0f6281fcd41625272a1940fdc117de6a72045dff70054f3df99aeadda01cb05f" }, "downloads": -1, "filename": "jlvandenhout_automaton-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2041bef8942402f58581267deb4538f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15484, "upload_time": "2019-08-13T12:23:30", "url": "https://files.pythonhosted.org/packages/bd/e6/64bfde5da44ca14a71c5cb72a188ce78da7a401d19f7c986bd2212a3cf36/jlvandenhout_automaton-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d61a37d484264c17dfba8fe58905f159", "sha256": "84003985db8933828deb297d794eea9a37df104ebb95d7ee1acca9ab5d1e5d78" }, "downloads": -1, "filename": "jlvandenhout-automaton-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d61a37d484264c17dfba8fe58905f159", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2692, "upload_time": "2019-08-13T12:23:32", "url": "https://files.pythonhosted.org/packages/75/90/e6fb13eb69c79f3c18ba560a9fb50b4b614333e72691e01603dd54f943de/jlvandenhout-automaton-0.1.0.tar.gz" } ] }