{ "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": "pysm - Python State Machine\n---------------------------\n\nVersatile and flexible Python State Machine library.\n\n\n.. image:: https://travis-ci.org/pgularski/pysm.svg?branch=master\n :target: https://travis-ci.org/pgularski/pysm\n\n.. image:: https://coveralls.io/repos/github/pgularski/pysm/badge.svg?branch=master\n :target: https://coveralls.io/github/pgularski/pysm?branch=master\n\n.. image:: https://api.codacy.com/project/badge/Grade/6f18f01639c242a0b83280a52245539d\n :target: https://www.codacy.com/app/pgularski/pysm?utm_source=github.com&utm_medium=referral&utm_content=pgularski/pysm&utm_campaign=Badge_Grade\n\n.. image:: https://landscape.io/github/pgularski/pysm/master/landscape.svg?style=flat\n :target: https://landscape.io/github/pgularski/pysm/master\n :alt: Code Health\n\n.. image:: https://readthedocs.org/projects/pysm/badge/?version=latest\n :target: http://pysm.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\nImplement simple and complex state machines\n------------------------------------------\n\nIt can do simple things like this:\n\n.. image:: https://cloud.githubusercontent.com/assets/3026621/15031178/bf5efb2a-124e-11e6-9748-0b5a5be60a30.png\n\nOr somewhat more complex like that:\n\n.. image:: https://cloud.githubusercontent.com/assets/3026621/15031148/ad955f06-124e-11e6-865e-c7e3340f14cb.png\n\n\nPython State Machine\n--------------------\n\n`The State Pattern `_\nsolves many problems, untangles the code and saves one's sanity.\nYet.., it's a bit rigid and doesn't scale. The goal of this library is to give\nyou a close to the State Pattern simplicity with much more flexibility. And,\nif needed, the full state machine functionality, including `FSM\n`_, `HSM\n`_, `PDA\n`_ and other tasty things.\n\n\nGoals\n-----\n\n* Provide a State Pattern-like behavior with more flexibility (see\n `Documentation `_ for\n examples)\n* Be explicit and don't add any magic code to objects that use pysm\n* Handle directly any kind of event or input (not only strings) - parsing\n strings is cool again!\n* Keep it simple, even for someone who's not very familiar with the FSM\n terminology\n\n\nFeatures\n--------\n\n* Finite State Machine (FSM)\n* Hierarchical State Machine (HSM) with Internal/External/Local transitions\n* Pushdown Automaton (PDA)\n* Transition callbacks - action, before, after\n* State hooks - enter, exit, and other event handlers\n* Entry and exit actions are associated with states, not transitions\n* Events may be anything as long as they're hashable\n* States history and transition to previous states\n* Conditional transitions (if/elif/else-like logic)\n* Explicit behaviour (no method or attribute is added to the object containing a state machine)\n* No need to extend a class with State Machine class (composition over inheritance)\n* Fast (even with hundreds of transition rules)\n* Not too many pythonisms, so that it's easily portable to other languages (ie. `JavaScript `_).\n* Micropython support\n\n\nInstallation\n------------\n\nInstall pysm from `PyPI `_::\n\n pip install pysm\n\nor clone the `Github pysm repository `_::\n\n git clone https://github.com/pgularski/pysm\n cd pysm\n python setup.py install\n\n\nDocumentation\n-------------\n\nRead the docs for API documentation and examples - http://pysm.readthedocs.io/\n\nSee Unit Tests to see it working and extensively tested.\n\nMicropython support\n-------------------\nThe library works with pyboards!::\n\n import upip\n upip.install('upysm')\n\n\nLinks\n-----\n* `Documentation `_\n* `Installation `_\n* `Github `_\n* `Issues `_\n* `Examples `_\n\n\n", "description_content_type": "", "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", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pysm", "package_url": "https://pypi.org/project/pysm/", "platform": "", "project_url": "https://pypi.org/project/pysm/", "project_urls": { "Homepage": "https://github.com/pgularski/pysm" }, "release_url": "https://pypi.org/project/pysm/0.3.9/", "requires_dist": null, "requires_python": "", "summary": "Versatile and flexible Python State Machine library", "version": "0.3.9" }, "last_serial": 5109529, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "13c370a3381e732bcf77e356789b9c36", "sha256": "90479f81bf4da900b69dd65e7ed5904335394852d383163818f56089e4be1f8a" }, "downloads": -1, "filename": "pysm-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "13c370a3381e732bcf77e356789b9c36", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8980, "upload_time": "2016-05-26T23:26:33", "url": "https://files.pythonhosted.org/packages/6a/b3/5baaf66116b49982ea8170b3675525c73979691d5a8ad3daa9848668d11a/pysm-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "44ca1fbc2ccce3d054a7afe5605fdd20", "sha256": "f7eb914d64bc0fcbf6ba36b0789311ff02ecc45d86fd7657f695501d31cfd144" }, "downloads": -1, "filename": "pysm-0.1.1.tar.gz", "has_sig": false, "md5_digest": "44ca1fbc2ccce3d054a7afe5605fdd20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10285, "upload_time": "2016-05-09T22:28:52", "url": "https://files.pythonhosted.org/packages/b7/ce/72d8178e8f842fd359fb989523ed9e1e3eaff778a5e004a141cda1437a66/pysm-0.1.1.tar.gz" } ], "0.2.0": [], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f94ee054792c1574b7c44c4b4c4cfb3a", "sha256": "f0c5858fc4f506f6c15e9d6812a217ecb6f028bb566c895119715c8806b22976" }, "downloads": -1, "filename": "pysm-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f94ee054792c1574b7c44c4b4c4cfb3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10509, "upload_time": "2016-05-26T23:45:33", "url": "https://files.pythonhosted.org/packages/1d/dc/8b8b4cb5d2d8c8733a1c03b5fa6b6d8b20529f9e9cbec4d493cdd4321ca5/pysm-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "3c835ec36d53060f3ed0c27783f04f49", "sha256": "0448044c56c0b561072b0a0b27504e5f94a865e9302b5b11495211bc432892d1" }, "downloads": -1, "filename": "pysm-0.2.2.tar.gz", "has_sig": false, "md5_digest": "3c835ec36d53060f3ed0c27783f04f49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10465, "upload_time": "2016-05-27T00:50:07", "url": "https://files.pythonhosted.org/packages/82/bc/fe5bae59db0e06e1754833747a97361e9d4a0a78a0053dcf9878f7b0a26a/pysm-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "620d9ae1495f8052824a736c8216094a", "sha256": "8c42ea3e3fd433c34137530c6a023bed96afa6e1f327d9eef469ae102adf1ed3" }, "downloads": -1, "filename": "pysm-0.2.3.tar.gz", "has_sig": false, "md5_digest": "620d9ae1495f8052824a736c8216094a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10417, "upload_time": "2016-05-27T00:55:14", "url": "https://files.pythonhosted.org/packages/c3/cb/173dcb3252d893813bb3c7a8eca37ff1efaedc555d2f04b1a3a77736ea94/pysm-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "ea8ff933824c2b9e97685240f6dd956c", "sha256": "6c1b6fdb4584131237ea75d50c52f49d444c73e2e5ad772e191ad0bb87d70b91" }, "downloads": -1, "filename": "pysm-0.2.4-py2.7.egg", "has_sig": false, "md5_digest": "ea8ff933824c2b9e97685240f6dd956c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9034, "upload_time": "2016-05-27T16:17:19", "url": "https://files.pythonhosted.org/packages/84/e4/77f8e88ed2b861c66ecbcb63e8c1e035a2e69032df928548623bbee20847/pysm-0.2.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "cf65ea9a66ce3d31fb4990ae6f914a11", "sha256": "1a299a5cd23758147d8871ea6701edd91867281fa464276b3d3d5a0cbce6699c" }, "downloads": -1, "filename": "pysm-0.2.4.tar.gz", "has_sig": false, "md5_digest": "cf65ea9a66ce3d31fb4990ae6f914a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10477, "upload_time": "2016-05-27T16:17:24", "url": "https://files.pythonhosted.org/packages/54/eb/90f0adf41b8c195c2eea410a53e7f305b4de52caa18af7c957707a23e867/pysm-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6180e3808618006e33d9e40682230756", "sha256": "3196f8dbd175e3a0018bc7d20fd0cd47728e1d0a03da15bd84ba201259386211" }, "downloads": -1, "filename": "pysm-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6180e3808618006e33d9e40682230756", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9573, "upload_time": "2016-06-06T23:48:16", "url": "https://files.pythonhosted.org/packages/bc/ab/bdb43a805c4ab01853eb249acf575ac57986f934270b843639fe8eacb6e0/pysm-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa60d71dce2b80602bf5bd2b8d3b942b", "sha256": "4f8fa65b2940e48779b8ccd20929c791335a7bd0ed5e713edb4e6ba1b5646320" }, "downloads": -1, "filename": "pysm-0.3.0.tar.gz", "has_sig": false, "md5_digest": "aa60d71dce2b80602bf5bd2b8d3b942b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15697, "upload_time": "2016-06-06T23:48:20", "url": "https://files.pythonhosted.org/packages/7d/58/85447d20aa64e162d01a2c7f910b95e38b8c537e0554945fc4d763fa66ec/pysm-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "cd5581a8e9d4dea07ad1efa958eb2ed8", "sha256": "6f5b2ec54285dba658c7f690f529cd64426ed459eab74660278a6fb9f0932a69" }, "downloads": -1, "filename": "pysm-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd5581a8e9d4dea07ad1efa958eb2ed8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12008, "upload_time": "2016-06-07T20:48:22", "url": "https://files.pythonhosted.org/packages/28/5e/97e268fb68a704db91ac2e5bc002af13a25f32d2022f3365b7f4e157a3fe/pysm-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6169efd610900a4021faa9a02290eab", "sha256": "8b66334761bbcf94f50887d95a661b1aee566cb871174ebd31d36d61c77511b0" }, "downloads": -1, "filename": "pysm-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d6169efd610900a4021faa9a02290eab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17849, "upload_time": "2016-06-07T20:48:26", "url": "https://files.pythonhosted.org/packages/6e/8c/70bc744b03e4c6b6e9783bf011c2bb8f782deaed39579f96775fcb9b42c5/pysm-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "7e4d7cfc2aa7e7522d49ff4f04a5a70e", "sha256": "21bab83ee26e222ed9b91ca6f62641c275b9d9357efce5adfcf5ffd494ac1851" }, "downloads": -1, "filename": "pysm-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e4d7cfc2aa7e7522d49ff4f04a5a70e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12043, "upload_time": "2018-01-31T16:24:48", "url": "https://files.pythonhosted.org/packages/52/e5/c64a8293b0f5d5a3d716801c7185ab37526d8220755d4e648df1dbe300d7/pysm-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7649e620f20d9ce199b4fcf9641839f", "sha256": "345de2981a3e8e9746e1dfd391c443929fcad51bc2b475131ff36787bec3c99b" }, "downloads": -1, "filename": "pysm-0.3.2.tar.gz", "has_sig": false, "md5_digest": "b7649e620f20d9ce199b4fcf9641839f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18477, "upload_time": "2018-01-31T16:24:51", "url": "https://files.pythonhosted.org/packages/16/6f/c010c8d9e6b8158e3496b3a35b095098f19d19a6f4af222dd55b3dc1d9c4/pysm-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "7a987ab3bc8b85663d3799048686ef0f", "sha256": "f0b2b1aefea9f47141e2750e054feaf6b64052a7bbd571852d21128176b8a647" }, "downloads": -1, "filename": "pysm-0.3.3.tar.gz", "has_sig": false, "md5_digest": "7a987ab3bc8b85663d3799048686ef0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19417, "upload_time": "2019-01-01T21:53:49", "url": "https://files.pythonhosted.org/packages/1c/03/7992b768af973d1f1ccade29daeea107a7513a5094c1630da177b2c3bfb7/pysm-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "0d445d532291f7ffb9025c37959482be", "sha256": "a46d5ccfa73266c8a790a236da463f154b7975cad6b5f0f97d6430c1feb0bbda" }, "downloads": -1, "filename": "pysm-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d445d532291f7ffb9025c37959482be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11287, "upload_time": "2019-01-02T16:18:21", "url": "https://files.pythonhosted.org/packages/3d/40/1bedcd22e900bfddc8b85b24b2c1bd5906a4495328af815ce1f6c5de6aac/pysm-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6209060dd0af8524d5b0dd7c838ff14", "sha256": "09d317b68887b6af79834fbf13c7fc61f3412d8d62b9ab9b1dcbd5ef0aa012de" }, "downloads": -1, "filename": "pysm-0.3.4.tar.gz", "has_sig": false, "md5_digest": "a6209060dd0af8524d5b0dd7c838ff14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19908, "upload_time": "2019-01-02T16:11:48", "url": "https://files.pythonhosted.org/packages/c1/c7/2e570e74d1323c5ef1acfddb5fc6131f559ea16a9d2846bf72685c8c2bc0/pysm-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "a05be4ebd5b93db1c95ee8d306ab5499", "sha256": "228f1388769417c6647b5a44b4258f87059493b315f03a67e552b81f9a8b28b3" }, "downloads": -1, "filename": "pysm-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a05be4ebd5b93db1c95ee8d306ab5499", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11346, "upload_time": "2019-01-02T17:10:43", "url": "https://files.pythonhosted.org/packages/3f/8c/69fe19638973b0c5c918518af380eef1f53030a1451564eaa8add352a2b5/pysm-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f67cfc63c01c33037285550fcf62dddb", "sha256": "545cc7421a85411a2d933c682944323e15485af98625a4923c2410ac6d36e702" }, "downloads": -1, "filename": "pysm-0.3.5.tar.gz", "has_sig": false, "md5_digest": "f67cfc63c01c33037285550fcf62dddb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20042, "upload_time": "2019-01-02T17:10:44", "url": "https://files.pythonhosted.org/packages/66/4b/e685891857fe220bd788f69fa53eca922542bbb515f282f5542e45b2a754/pysm-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "e39481d699a15fb3a0e5040dd11db196", "sha256": "451612c904ad8a6e8d2973dfc2686419a5bca0ea583a3f838d79aa0b7a31345c" }, "downloads": -1, "filename": "pysm-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e39481d699a15fb3a0e5040dd11db196", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11346, "upload_time": "2019-01-02T17:21:12", "url": "https://files.pythonhosted.org/packages/29/63/0637f8ec1d95a9a24931a27c748edad79862eedaf0273c23e888e136beae/pysm-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00fc072f94b1bd916d3c89bb654d145a", "sha256": "c69d69af37fd4675515ba02ccac507c5bafc8132ace1ce433d4343d10c40e9cc" }, "downloads": -1, "filename": "pysm-0.3.6.tar.gz", "has_sig": false, "md5_digest": "00fc072f94b1bd916d3c89bb654d145a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20047, "upload_time": "2019-01-02T17:21:14", "url": "https://files.pythonhosted.org/packages/32/04/62d4bfbce62e89ef3227ea1ccef3e6fafd7305b27e747afeaa423e3f0490/pysm-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "c69a800491ff597e7e6b0b55615bbacb", "sha256": "6d3510b1b61e036e821c3fd31912006aac5a60d3983021860f70cf45d869ce14" }, "downloads": -1, "filename": "pysm-0.3.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c69a800491ff597e7e6b0b55615bbacb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11346, "upload_time": "2019-01-02T19:45:06", "url": "https://files.pythonhosted.org/packages/d7/d9/169edfd2e11970a7eb7c252b595eae314b4e68ec9230155536c8caf35816/pysm-0.3.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e1752314dbb8cd08797559ab3adf6eaa", "sha256": "af6be2044de1161d52cd007d88493337045dfd708cbc7839d80cae653d5f1050" }, "downloads": -1, "filename": "pysm-0.3.7.tar.gz", "has_sig": false, "md5_digest": "e1752314dbb8cd08797559ab3adf6eaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20256, "upload_time": "2019-01-02T19:45:08", "url": "https://files.pythonhosted.org/packages/bc/3b/22eccb1acdaf347479d933f2d1c4590278e4c8339281223d4435be6bdfb0/pysm-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "628c64715e77ce75dc171d85e98f9a29", "sha256": "3e16d2cfdf9e289b07b1431d61152309974ab6819420f4dcd7401a608623c3d5" }, "downloads": -1, "filename": "pysm-0.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "628c64715e77ce75dc171d85e98f9a29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13454, "upload_time": "2019-03-23T11:22:22", "url": "https://files.pythonhosted.org/packages/2c/7c/1dab828346a52d97c97fc0a2bb4584d15f75ba18c689aa475b7a3004a6a1/pysm-0.3.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62912271e914f454187ec9c805f41895", "sha256": "f36650ab5c20af55ccd226453f6dd1b305233f67b3675468e33fec1db6cfc748" }, "downloads": -1, "filename": "pysm-0.3.8.tar.gz", "has_sig": false, "md5_digest": "62912271e914f454187ec9c805f41895", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20433, "upload_time": "2019-03-23T11:22:23", "url": "https://files.pythonhosted.org/packages/73/c6/af277b27a9a7c69c6ffd8b2068d3df95764e3ff08b191959b691f68ac2a3/pysm-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "f79e925ba7c1b969bc7e28c9c75018fd", "sha256": "5b8ee9c67e597844d877fc78543573a3fdd851a777c47e7348d8fdd894c4f79d" }, "downloads": -1, "filename": "pysm-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f79e925ba7c1b969bc7e28c9c75018fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13474, "upload_time": "2019-04-07T10:11:18", "url": "https://files.pythonhosted.org/packages/4d/7d/5b0a2e11c8f2b1f504343b0db4a4f04267e0e07b5b9bcc35b744757d8b74/pysm-0.3.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2368ad9aabebb1daa8915114020c8b33", "sha256": "7ff6dfc3d51f1f37419c537484e01ace12987d73bd537fa30a23fa48055ad9de" }, "downloads": -1, "filename": "pysm-0.3.9.tar.gz", "has_sig": false, "md5_digest": "2368ad9aabebb1daa8915114020c8b33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21118, "upload_time": "2019-04-07T10:11:19", "url": "https://files.pythonhosted.org/packages/88/70/9b8ab615c3a57f0f5c144086b88951194d843d0ffd395f356375f250fbeb/pysm-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f79e925ba7c1b969bc7e28c9c75018fd", "sha256": "5b8ee9c67e597844d877fc78543573a3fdd851a777c47e7348d8fdd894c4f79d" }, "downloads": -1, "filename": "pysm-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f79e925ba7c1b969bc7e28c9c75018fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13474, "upload_time": "2019-04-07T10:11:18", "url": "https://files.pythonhosted.org/packages/4d/7d/5b0a2e11c8f2b1f504343b0db4a4f04267e0e07b5b9bcc35b744757d8b74/pysm-0.3.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2368ad9aabebb1daa8915114020c8b33", "sha256": "7ff6dfc3d51f1f37419c537484e01ace12987d73bd537fa30a23fa48055ad9de" }, "downloads": -1, "filename": "pysm-0.3.9.tar.gz", "has_sig": false, "md5_digest": "2368ad9aabebb1daa8915114020c8b33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21118, "upload_time": "2019-04-07T10:11:19", "url": "https://files.pythonhosted.org/packages/88/70/9b8ab615c3a57f0f5c144086b88951194d843d0ffd395f356375f250fbeb/pysm-0.3.9.tar.gz" } ] }