{ "info": { "author": "Piotr Gularski", "author_email": "piotr.gularski@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Information Technology", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: MicroPython", "Topic :: Software Development", "Topic :: Software Development :: Libraries" ], "description": "# upysm\nVersatile and flexible Python State Machine library - Micropython Port\n\nThis repository is basically a set of tools to build and deploy (to pypi) the\nMicropython Port of the [pysm](https://github.com/pgularski/pysm) library.\n\nIt's successfully tested against the ESP-32S ESP-WROOM-32 NodeMCU board.\n\n# Installation\n\n```python\nimport upip\nupip.install('upysm')\n```\n\n# Usage\nBasic usage:\n\n```python\nimport machine\nimport time\nfrom pysm import State, StateMachine, Event\n\nled = machine.Pin(2, machine.Pin.OUT)\n\n\ndef on_enter(state, event):\n led.value(1)\n time.sleep(0.1)\n\ndef on_exit(state, event):\n led.value(0)\n time.sleep(0.1)\n\non = State('on')\noff = State('off')\n\nsm = StateMachine('sm')\nsm.add_state(on, initial=True)\nsm.add_state(off)\n\nsm.add_transition(on, off, events=['off'])\nsm.add_transition(off, on, events=['on'])\n\non.handlers = {'enter': on_enter, 'exit': on_exit}\noff.handlers = {'enter': on_enter, 'exit': on_exit}\n\nsm.initialize()\n\nassert sm.state == on\nsm.dispatch(Event('off'))\nassert sm.state == off\nsm.dispatch(Event('on'))\nassert sm.state == on\n\n```\n\nFor more examples and API description refer to the [pysm documentation](http://pysm.readthedocs.io/).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pgularski/pysm", "keywords": "finite state machine automaton fsm hsm pda micropython", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "upysm", "package_url": "https://pypi.org/project/upysm/", "platform": "", "project_url": "https://pypi.org/project/upysm/", "project_urls": { "Homepage": "https://github.com/pgularski/pysm" }, "release_url": "https://pypi.org/project/upysm/0.3.9/", "requires_dist": null, "requires_python": "", "summary": "Versatile and flexible Python State Machine library - Micropython Port", "version": "0.3.9" }, "last_serial": 5109533, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "17bccef81352c7c4c539e1146fe6452d", "sha256": "d74de2502c2cee0c8e62e3a2385c88e49c711c9099b51b10c3ffd11c73c54f78" }, "downloads": -1, "filename": "upysm-0.3.1.tar.gz", "has_sig": false, "md5_digest": "17bccef81352c7c4c539e1146fe6452d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8803, "upload_time": "2019-01-02T14:04:36", "url": "https://files.pythonhosted.org/packages/d1/4f/273791b216a30a8130779ef54847f32e6ec0af1138ec8b01b9bd348e8be4/upysm-0.3.1.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "d9b1d36385cc9ce43f46f3ba17995bfc", "sha256": "9c20f837900677b11036fbf87d8a64b7ad8d47754ff4e16b9bb829d3a3fba10a" }, "downloads": -1, "filename": "upysm-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "d9b1d36385cc9ce43f46f3ba17995bfc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10436, "upload_time": "2019-01-02T17:04:40", "url": "https://files.pythonhosted.org/packages/ad/26/c2672ba01a7ec39e9f12b42e2e88bca5d656a5e20b9f6b3893d8de7d4f22/upysm-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1117e40651bf30f5dea8cf4083573a1b", "sha256": "fdade2b15564be57a62c3352a793b01c38df15cfad9344f7e33e5d2aed33bba8" }, "downloads": -1, "filename": "upysm-0.3.4.tar.gz", "has_sig": false, "md5_digest": "1117e40651bf30f5dea8cf4083573a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9388, "upload_time": "2019-01-02T17:05:10", "url": "https://files.pythonhosted.org/packages/a5/3d/fc7d4bc3f56a9eede99b99612e1beff4a2be60fe26590ba12c8c5007ad26/upysm-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f42a16e0dfc815e0575c85ece246eca6", "sha256": "8db24ac36f5dcd0418c25581d5c3391d8888bc8b4be3ddca5823d4fc976cda26" }, "downloads": -1, "filename": "upysm-0.3.5.tar.gz", "has_sig": false, "md5_digest": "f42a16e0dfc815e0575c85ece246eca6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9390, "upload_time": "2019-01-02T17:12:01", "url": "https://files.pythonhosted.org/packages/a8/b5/1736e8e38407aed0bc66e3754e0da7d73c7238e0e0aa8a125891e43a70fb/upysm-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "2d65d5fb0c87be40cbbe4647202f8d22", "sha256": "a757da2ee1df3160b71548f84accbc4220a386d8f0a1f02223ed62ffbd76e265" }, "downloads": -1, "filename": "upysm-0.3.6.tar.gz", "has_sig": false, "md5_digest": "2d65d5fb0c87be40cbbe4647202f8d22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9307, "upload_time": "2019-01-02T17:22:59", "url": "https://files.pythonhosted.org/packages/e6/b4/238128e78287bf709ee4aa698fd1513e7aff16be062792909bfd6d05f931/upysm-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "0639cbe95355e665a467a71730b78eb2", "sha256": "0212118eb3d6630aca4c50c1d327ce84029d6a930ef175eaea3c6e8b56be905d" }, "downloads": -1, "filename": "upysm-0.3.7.tar.gz", "has_sig": false, "md5_digest": "0639cbe95355e665a467a71730b78eb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9311, "upload_time": "2019-01-02T19:44:03", "url": "https://files.pythonhosted.org/packages/b2/9c/37fe055afb98d79fabd271473f8a35ba116ca1744f3ba536029f8359357a/upysm-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "c1c051824b1bb9681d427cacc9602230", "sha256": "e8610719fb25b8f1297565536e33bf9d56f1322844448635f08bb369a37652d8" }, "downloads": -1, "filename": "upysm-0.3.8.tar.gz", "has_sig": false, "md5_digest": "c1c051824b1bb9681d427cacc9602230", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9487, "upload_time": "2019-03-23T11:29:47", "url": "https://files.pythonhosted.org/packages/9c/3b/7731217745125268c2fa7b51199a71cbbc87f7cf2637d119a44d549d589c/upysm-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "56ad3a19b6241bb6ba73c2dc3a0315a4", "sha256": "3135fe761889c23814566c3353883ac4755682017f9c83f10e917fe0a7675040" }, "downloads": -1, "filename": "upysm-0.3.9.tar.gz", "has_sig": false, "md5_digest": "56ad3a19b6241bb6ba73c2dc3a0315a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9512, "upload_time": "2019-04-07T10:13:10", "url": "https://files.pythonhosted.org/packages/4e/6d/c50d0ca1c6cf627830aaf1df619c18aa82519b0bceafa1f7b48a07c3032a/upysm-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56ad3a19b6241bb6ba73c2dc3a0315a4", "sha256": "3135fe761889c23814566c3353883ac4755682017f9c83f10e917fe0a7675040" }, "downloads": -1, "filename": "upysm-0.3.9.tar.gz", "has_sig": false, "md5_digest": "56ad3a19b6241bb6ba73c2dc3a0315a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9512, "upload_time": "2019-04-07T10:13:10", "url": "https://files.pythonhosted.org/packages/4e/6d/c50d0ca1c6cf627830aaf1df619c18aa82519b0bceafa1f7b48a07c3032a/upysm-0.3.9.tar.gz" } ] }