{ "info": { "author": "Matthew Reid", "author_email": "matt@nomadic-recording.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "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", "Topic :: Software Development" ], "description": "# python-dispatch\nLightweight event handling for Python\n\n[![Build Status](https://travis-ci.org/nocarryr/python-dispatch.svg?branch=master)](https://travis-ci.org/nocarryr/python-dispatch)[![Coverage Status](https://coveralls.io/repos/github/nocarryr/python-dispatch/badge.svg?branch=master)](https://coveralls.io/github/nocarryr/python-dispatch?branch=master)[![PyPI version](https://badge.fury.io/py/python-dispatch.svg)](https://badge.fury.io/py/python-dispatch)[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/nocarryr/python-dispatch/master/LICENSE.txt)\n\n## Description\nThis is an implementation of the \"Observer Pattern\" with inspiration from the\n[Kivy](kivy.org) framework. Many of the features though are intentionally\nstripped down and more generalized. The goal is to have a simple drop-in\nlibrary with no dependencies that stays out of the programmer's way.\n\n## Installation\n```\npip install python-dispatch\n```\n\n## Links\n\n| | |\n| -------------:|:-------------------------------------------- |\n| Project Home | https://github.com/nocarryr/python-dispatch |\n| PyPI | https://pypi.python.org/pypi/python-dispatch |\n| Documentation | https://nocarryr.github.io/python-dispatch |\n\n\n## Usage\n\n### Events\n\n```python\nfrom pydispatch import Dispatcher\n\nclass MyEmitter(Dispatcher):\n # Events are defined in classes and subclasses with the '_events_' attribute\n _events_ = ['on_state', 'new_data']\n def do_some_stuff(self):\n # do stuff that makes new data\n data = self.get_some_data()\n # Then emit the change with optional positional and keyword arguments\n self.emit('new_data', data=data)\n\n# An observer - could inherit from Dispatcher or any other class\nclass MyListener(object):\n def on_new_data(self, *args, **kwargs):\n data = kwargs.get('data')\n print('I got data: {}'.format(data))\n def on_emitter_state(self, *args, **kwargs):\n print('emitter state changed')\n\nemitter = MyEmitter()\nlistener = MyListener()\n\nemitter.bind(on_state=listener.on_emitter_state)\nemitter.bind(new_data=listener.on_new_data)\n\nemitter.do_some_stuff()\n# >>> I got data: ...\n\nemitter.emit('on_state')\n# >>> emitter state changed\n```\n\n### Properties\n\n```python\nfrom pydispatch import Dispatcher, Property\n\nclass MyEmitter(Dispatcher):\n # Property objects are defined and named at the class level.\n # They will become instance attributes that will emit events when their values change\n name = Property()\n value = Property()\n\nclass MyListener(object):\n def on_name(self, instance, value, **kwargs):\n print('emitter name is {}'.format(value))\n def on_value(self, instance, value, **kwargs):\n print('emitter value is {}'.format(value))\n\nemitter = MyEmitter()\nlistener = MyListener()\n\nemitter.bind(name=listener.on_name, value=listener.on_value)\n\nemitter.name = 'foo'\n# >>> emitter name is foo\nemitter.value = 42\n# >>> emitter value is 42\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": "https://pythonhosted.org/python-dispatch/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nocarryr/python-dispatch", "keywords": "event properties dispatch", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "python-dispatch", "package_url": "https://pypi.org/project/python-dispatch/", "platform": "any", "project_url": "https://pypi.org/project/python-dispatch/", "project_urls": { "Homepage": "https://github.com/nocarryr/python-dispatch" }, "release_url": "https://pypi.org/project/python-dispatch/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "Lightweight Event Handling", "version": "0.1.2" }, "last_serial": 4875526, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "42bf8c5efe21bbfbf6a7597c31a8bc88", "sha256": "fe2a380d13e8156b0c3d17c1d2d234a267174e68966a5840b5a2adce45349abc" }, "downloads": -1, "filename": "python_dispatch-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "42bf8c5efe21bbfbf6a7597c31a8bc88", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7912, "upload_time": "2016-08-20T18:02:43", "url": "https://files.pythonhosted.org/packages/c5/25/c071285e320ab032c705a84a9f80945948786e8630c8a32189d6c122a1e6/python_dispatch-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01f582666763ba650d706e5d58f2b405", "sha256": "259dfa8ab8436bf19bb7d3be181933baec5798b748b1a78dea66bf8f68f7f052" }, "downloads": -1, "filename": "python-dispatch-0.0.1.tar.gz", "has_sig": false, "md5_digest": "01f582666763ba650d706e5d58f2b405", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5472, "upload_time": "2016-08-20T18:02:45", "url": "https://files.pythonhosted.org/packages/31/e6/22b3b4b7182727b3e8aa25aa687d6ad4b984b163cffe20acbd87ecef0259/python-dispatch-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "723b4602d05c9a4e4397c1bf4b5a2337", "sha256": "aecd71136ae18edcf6f431ccf3f97ffaa3c610a8e8a19164e9c355628f20a204" }, "downloads": -1, "filename": "python_dispatch-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "723b4602d05c9a4e4397c1bf4b5a2337", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7911, "upload_time": "2016-08-20T18:17:08", "url": "https://files.pythonhosted.org/packages/50/a4/99d829cf7c098bc6d7b2ada5a0460d3933e24638e7b2614d5a38133ddaa3/python_dispatch-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b156a6b3924c2864d590bbff4fb6b4c8", "sha256": "6309794a9554acc83c5b7fd33bc4a1032751a0a35a7875a84d3a90867db3a126" }, "downloads": -1, "filename": "python-dispatch-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b156a6b3924c2864d590bbff4fb6b4c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6147, "upload_time": "2016-08-20T18:17:10", "url": "https://files.pythonhosted.org/packages/c3/2b/6e8133066500ee7bfc5ac8d5ce99e0f62c957fe8388ecbfc05165d643066/python-dispatch-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "dbf9d5cd77888d44aa0cbbfb01f27660", "sha256": "7bbf7508dd80f952469933ce65ed5b4a66f30f3b6c72d3bb7fa288a78651660e" }, "downloads": -1, "filename": "python_dispatch-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dbf9d5cd77888d44aa0cbbfb01f27660", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7976, "upload_time": "2016-08-24T18:55:46", "url": "https://files.pythonhosted.org/packages/59/30/1c3f02a5fe19ef35100a014945aa6cefd26e4c5d58948298a14dd7f8a645/python_dispatch-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67bd09a59180cf04d9cfc3e7fb249791", "sha256": "e8dfa0478145295d28ecb5d534dd69b8fbe49b0e9d7bb119c136b6ad346b72ee" }, "downloads": -1, "filename": "python-dispatch-0.0.3.tar.gz", "has_sig": false, "md5_digest": "67bd09a59180cf04d9cfc3e7fb249791", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6206, "upload_time": "2016-08-24T18:55:47", "url": "https://files.pythonhosted.org/packages/39/32/ed41e6d74fde92516926f608b5c8acb9713e2da82caedf676755fc33d9de/python-dispatch-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "96848c0b00e23b923ea55bd2b3af198b", "sha256": "b771810943234053754ef05c5be69339d7a14ef7e406610c73255ab2e841884e" }, "downloads": -1, "filename": "python_dispatch-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96848c0b00e23b923ea55bd2b3af198b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8059, "upload_time": "2016-10-07T17:22:03", "url": "https://files.pythonhosted.org/packages/cf/ac/43d0f4e02eedde69888637bd49da347560fa25402033b1beba688405c169/python_dispatch-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a17cdc40895333ebf863cdb8c29aeb9", "sha256": "b806c061ee48e397aeb17ff35897663f54ede55d7b4df6318cdc90b74bd7fb1f" }, "downloads": -1, "filename": "python-dispatch-0.0.4.tar.gz", "has_sig": false, "md5_digest": "5a17cdc40895333ebf863cdb8c29aeb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6276, "upload_time": "2016-10-07T17:22:05", "url": "https://files.pythonhosted.org/packages/2c/8a/f5c6e48fca3f2d9e37b8168d6e5df5794fae925f7828f58bab7fbcaffd24/python-dispatch-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "18d7e0b7f726257b32dfb48da0b6599c", "sha256": "0890edfefe698614a7e6cb4898284b9d58e36204c35af2596e1ab1681535d7c7" }, "downloads": -1, "filename": "python_dispatch-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "18d7e0b7f726257b32dfb48da0b6599c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8622, "upload_time": "2017-01-03T00:45:00", "url": "https://files.pythonhosted.org/packages/23/bb/cd72d42d1ec2abbd38b89d29120ba8af7dd8644e6133abeb39b7b7244463/python_dispatch-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed09a3a25c10225413ccfac8f266548b", "sha256": "a613714e134d27f5ca0c01ec6404c994c7383dd802092a6a84ce6efadeb92cd6" }, "downloads": -1, "filename": "python-dispatch-0.0.5.tar.gz", "has_sig": false, "md5_digest": "ed09a3a25c10225413ccfac8f266548b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7193, "upload_time": "2017-01-03T00:45:01", "url": "https://files.pythonhosted.org/packages/97/fd/0bcf1ad6a13583b7992f675a17a0ef1025431af9074b1fb7f79765fd845e/python-dispatch-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "5e583ef4ac2fddf32e9ac1d1400b41c8", "sha256": "f6d4406524f746b764cb1c7bb17d5ce6af7a960459fbe73a9502c8577d52171d" }, "downloads": -1, "filename": "python_dispatch-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e583ef4ac2fddf32e9ac1d1400b41c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10379, "upload_time": "2017-01-13T20:08:48", "url": "https://files.pythonhosted.org/packages/0f/c0/739a2b636700cf95a728b5f57e8c8aff77b08ee19f2e1ef688ca1f65eeb2/python_dispatch-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c918340a13c9f3323f0eb9456064868c", "sha256": "1313e1560a075be12cb6efe56ea9711281dc08e1a1a524c17cc8510c68b828e1" }, "downloads": -1, "filename": "python-dispatch-0.0.6.tar.gz", "has_sig": false, "md5_digest": "c918340a13c9f3323f0eb9456064868c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8477, "upload_time": "2017-01-13T20:08:50", "url": "https://files.pythonhosted.org/packages/92/f5/04a89b295824cfed6fcb9cab91bbde5d1aaa52f74d4ca95be19839f55cbb/python-dispatch-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "06d4b09d59032064d2458b249d0e520d", "sha256": "55f48747fb14abc54eb312edeff50e23dc7c26c27b6c2c9b8aa982a46defd77e" }, "downloads": -1, "filename": "python_dispatch-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "06d4b09d59032064d2458b249d0e520d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10871, "upload_time": "2017-02-08T18:18:09", "url": "https://files.pythonhosted.org/packages/aa/a6/9005eaa7ee47394a5469efc503820977914a03974e87787e2db13f2b96e5/python_dispatch-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edd5162a8496cf7a4f6c05141fc1990e", "sha256": "1ff0b46af9c3843cd418b63419bd1440b7b71ebef825c56ccde39322527476d1" }, "downloads": -1, "filename": "python-dispatch-0.0.7.tar.gz", "has_sig": false, "md5_digest": "edd5162a8496cf7a4f6c05141fc1990e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8919, "upload_time": "2017-02-08T18:18:11", "url": "https://files.pythonhosted.org/packages/3b/73/38c01281b5d333b2196913b203fa421060936a221b9ed1f0d43554f6f74d/python-dispatch-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "eff7c0179c8d53f9bdaa7b17f9964665", "sha256": "b2ea5ed792a399f3589279684bfd71d02a2384771e419603dc1e80197392c391" }, "downloads": -1, "filename": "python_dispatch-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eff7c0179c8d53f9bdaa7b17f9964665", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11437, "upload_time": "2017-04-21T17:21:32", "url": "https://files.pythonhosted.org/packages/1a/ca/3545507fc0e87a10901aa301762f2638811eaf3077868e84ba0be7a928ad/python_dispatch-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "923d3e0fe99ee8f1444d5e85d51145f0", "sha256": "dfa8a67402977c66e5813385ffc364ace68d9fd8b37fd8bd72f3cff2654c2e04" }, "downloads": -1, "filename": "python-dispatch-0.0.8.tar.gz", "has_sig": false, "md5_digest": "923d3e0fe99ee8f1444d5e85d51145f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9197, "upload_time": "2017-04-21T17:21:34", "url": "https://files.pythonhosted.org/packages/53/7f/c69d7e5f2a0198454cfd6d6e8b85b952fc6a0c3c73cf9728cc8524b6bfea/python-dispatch-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "14ee4d266aa4cb1cccb29e0f9e992e57", "sha256": "5f247e5e4fcb354e44655a8d5a109003fb3414691aba874c7172cdfe721e3fb6" }, "downloads": -1, "filename": "python_dispatch-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14ee4d266aa4cb1cccb29e0f9e992e57", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11526, "upload_time": "2017-08-21T17:39:01", "url": "https://files.pythonhosted.org/packages/b5/ef/c54ca8345c650c2bfb42194a2a8909bae81e028225c221c5b9216ee34863/python_dispatch-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40d20193f7bed790bb354bf6284be67c", "sha256": "27804696f2cf80ad5268a8bd7533dbc079f4dd8789fdada3594b8831f6596dd1" }, "downloads": -1, "filename": "python-dispatch-0.0.9.tar.gz", "has_sig": false, "md5_digest": "40d20193f7bed790bb354bf6284be67c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9357, "upload_time": "2017-08-21T17:39:02", "url": "https://files.pythonhosted.org/packages/3c/97/109424414225921d6208834573543ef68c40ab616156af77d09a3bf18861/python-dispatch-0.0.9.tar.gz" } ], "0.0.91": [ { "comment_text": "", "digests": { "md5": "0d8a7bc7bfabe2914351e89ca149944a", "sha256": "578fd64b9d20a3336cfd134f1af8e8bf453060d675b95c5b1422a838e6fdcdaa" }, "downloads": -1, "filename": "python_dispatch-0.0.91-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d8a7bc7bfabe2914351e89ca149944a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9772, "upload_time": "2018-06-29T17:43:19", "url": "https://files.pythonhosted.org/packages/92/9e/db952cbe7f0255fc432e2075faab2faf02b1c0d1c869778ef7ceb7fc69d3/python_dispatch-0.0.91-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b3b66137ddc69c038f65dc5fdf59c8c", "sha256": "d3f95e290af9db8f6e98d211231f21014abd6cfe23c04b6a3297ddbbb3c3d6a4" }, "downloads": -1, "filename": "python-dispatch-0.0.91.tar.gz", "has_sig": false, "md5_digest": "4b3b66137ddc69c038f65dc5fdf59c8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9598, "upload_time": "2018-06-29T17:43:20", "url": "https://files.pythonhosted.org/packages/21/32/53b653ee81e52fa2da3e5b656320c6efc38d1e0f983d5c22022700483465/python-dispatch-0.0.91.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b90dcdb0936c716908d541998a8042ad", "sha256": "efaab90c84fe060b91da4aff8ac61e6b775d1d9ab4ffe844a9c52847c06058c0" }, "downloads": -1, "filename": "python_dispatch-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b90dcdb0936c716908d541998a8042ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13702, "upload_time": "2018-07-10T19:02:13", "url": "https://files.pythonhosted.org/packages/af/d0/b59ca6503f1dd9ca70a04fbab72ecf4cef73a975843f2ed7e80f4aec633a/python_dispatch-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "378d053b27614044e2cc2d1316fe4388", "sha256": "af9562cd5a1743de413b421f2d1e8352ac86fdcbaee4c96fbabe86ce0c65765b" }, "downloads": -1, "filename": "python-dispatch-0.1.0.tar.gz", "has_sig": false, "md5_digest": "378d053b27614044e2cc2d1316fe4388", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12929, "upload_time": "2018-07-10T19:02:14", "url": "https://files.pythonhosted.org/packages/6c/4e/ac3f8bb1929b005eedfe5337bb814091f0abed48658e0a7b52f62a43a521/python-dispatch-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6b38d9b25e033b3de6a384539f540b0a", "sha256": "a9545d9d94b012be7a384a6751ca4458d033ff0a649fadad03f1883400fbf960" }, "downloads": -1, "filename": "python_dispatch-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b38d9b25e033b3de6a384539f540b0a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13722, "upload_time": "2018-07-25T14:10:21", "url": "https://files.pythonhosted.org/packages/46/a3/fef82a637f7a0c3b92936dee2874d06b6d53fe1335dc1f11e506fd111ef0/python_dispatch-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44d3bc6beea510562d6e0d4a998f88c3", "sha256": "52aff77b755049f5e6fb13788ddc6974daecbca19f3d86989c03d88026973877" }, "downloads": -1, "filename": "python-dispatch-0.1.1.tar.gz", "has_sig": false, "md5_digest": "44d3bc6beea510562d6e0d4a998f88c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12941, "upload_time": "2018-07-25T14:10:23", "url": "https://files.pythonhosted.org/packages/e9/e5/3f5e5d797f63f714e7bd9e1a48496f1e085250a3bb7fa499a5732e6337af/python-dispatch-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "78d55803c98bf6068508d32555d808c6", "sha256": "05a331611debfd2cbde8c98970933cfd39deac872f59bdc833312740806bf1e0" }, "downloads": -1, "filename": "python_dispatch-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78d55803c98bf6068508d32555d808c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14620, "upload_time": "2019-02-27T18:20:56", "url": "https://files.pythonhosted.org/packages/e5/eb/2de733a6ae56d4135bcab5899859c45bc031839b7b0294ad3ac78f97d110/python_dispatch-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93f862bae3df1d2cbf055e181deab514", "sha256": "9458e5555aa8a9a9df56285086be8ccba7f93addeb92d1c5555aa20f8d1a73ca" }, "downloads": -1, "filename": "python-dispatch-0.1.2.tar.gz", "has_sig": false, "md5_digest": "93f862bae3df1d2cbf055e181deab514", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13770, "upload_time": "2019-02-27T18:20:57", "url": "https://files.pythonhosted.org/packages/43/09/a2b397cfd3f12e734ec921ef46847cb7676f102e410b1ccdb0af4e35f81d/python-dispatch-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "78d55803c98bf6068508d32555d808c6", "sha256": "05a331611debfd2cbde8c98970933cfd39deac872f59bdc833312740806bf1e0" }, "downloads": -1, "filename": "python_dispatch-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78d55803c98bf6068508d32555d808c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14620, "upload_time": "2019-02-27T18:20:56", "url": "https://files.pythonhosted.org/packages/e5/eb/2de733a6ae56d4135bcab5899859c45bc031839b7b0294ad3ac78f97d110/python_dispatch-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "93f862bae3df1d2cbf055e181deab514", "sha256": "9458e5555aa8a9a9df56285086be8ccba7f93addeb92d1c5555aa20f8d1a73ca" }, "downloads": -1, "filename": "python-dispatch-0.1.2.tar.gz", "has_sig": false, "md5_digest": "93f862bae3df1d2cbf055e181deab514", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13770, "upload_time": "2019-02-27T18:20:57", "url": "https://files.pythonhosted.org/packages/43/09/a2b397cfd3f12e734ec921ef46847cb7676f102e410b1ccdb0af4e35f81d/python-dispatch-0.1.2.tar.gz" } ] }