{ "info": { "author": "Zygmunt Krynicki", "author_email": "me@zygoon.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "=========================================================\nMorris - an announcement (signal/event) system for Python\n=========================================================\n\n.. image:: https://badge.fury.io/py/morris.png\n :target: http://badge.fury.io/py/morris\n\n.. image:: https://travis-ci.org/zyga/morris.png?branch=master\n :target: https://travis-ci.org/zyga/morris\n\n.. image:: https://pypip.in/d/morris/badge.png\n :target: https://pypi.python.org/pypi/morris\n\nFeatures\n========\n\n* Free software: LGPLv3 license\n* Documentation: https://morris.readthedocs.org.\n* Create signals with a simple decorator :class:`morris.signal`\n* Send signals by calling the decorated method or function\n* Connect to and disconnect from signals with :meth:`morris.signal.connect()`\n and :meth:`morris.signal.disconnect()`.\n* Test your code with :meth:`morris.SignalTestCase.watchSignal()`,\n :meth:`morris.SignalTestCase.assertSignalFired()`,\n :meth:`morris.SignalTestCase.assertSignalNotFired()`\n and :meth:`morris.SignalTestCase.assertSignalOrdering()`\n\n\n\n\n\nHistory\n=======\n\n1.2 (2015-02-030\n----------------\n* Merge backwards compatibility features for Plainbox migration.\n (signal_name, SignalInterceptorMixIn)\n* Fix a bug in signal.__repr__()\n* Document internals better\n\n1.1 (2015-02-02)\n----------------\n\n* Merge ``Signal`` and ``signal`` into one class.\n* Make ``Signal`` an alias of ``signal``.\n* Make ``Signal.define`` an alias of ``signal``.\n* Fix signal support on standalone functions\n (https://github.com/zyga/morris/issues/1)\n* Add more documentation and tests\n* Enable travis-ci.org integration\n\n1.0 (2014-09-21)\n----------------\n\n* First release on PyPI.\n\n\n2012-2014\n---------\n\n* Released on PyPI as a part of plainbox as ``plainbox.impl.signal``", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zyga/morris", "keywords": "morris signal event pub/sub", "license": "LGPLv3", "maintainer": null, "maintainer_email": null, "name": "morris", "package_url": "https://pypi.org/project/morris/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/morris/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/zyga/morris" }, "release_url": "https://pypi.org/project/morris/1.2/", "requires_dist": null, "requires_python": null, "summary": "Morris is an announcement (signal/event) system for Python", "version": "1.2" }, "last_serial": 1408138, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "d8251350a103668d5ec89946c613138b", "sha256": "96cbb64a825292aa4f1137f916bd0bd561fff671ce4946967d458e49f41842d2" }, "downloads": -1, "filename": "morris-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d8251350a103668d5ec89946c613138b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10261, "upload_time": "2014-09-21T14:57:26", "url": "https://files.pythonhosted.org/packages/2b/1d/8504ad90c805ca98723c487561d878745f1073e47ba93c1b4b75f1574f8f/morris-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "566319255e8f7c98699a46afbfb5b220", "sha256": "47b9e9a1668bf0b5a7e30d687600ad888b7f6344add283e3bccd576e73176705" }, "downloads": -1, "filename": "morris-1.0.tar.gz", "has_sig": false, "md5_digest": "566319255e8f7c98699a46afbfb5b220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29743, "upload_time": "2014-09-21T14:54:44", "url": "https://files.pythonhosted.org/packages/32/7a/a81150848d0e7c332ecf41565a3a13eeedab1f4c3346f62f842157e5d903/morris-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "06ed6fca52ec4b7be912e1d9f88f515c", "sha256": "cb2995154f3d91c76cc5f33a99ebfe23cd3891f3abaeb44e6b8c407bb5ad1979" }, "downloads": -1, "filename": "morris-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "06ed6fca52ec4b7be912e1d9f88f515c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12802, "upload_time": "2015-02-02T15:12:54", "url": "https://files.pythonhosted.org/packages/49/a1/b897ae336ec7ea750e1d07fac82f85e9e53ccf52069b140140ea48f0f3a0/morris-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d856cddbc3f696153d3b6d168f93dec", "sha256": "886970967b6714b800bd88a0da3e517a9ca2137ded051c806c5d4d8dbf53100c" }, "downloads": -1, "filename": "morris-1.1.tar.gz", "has_sig": false, "md5_digest": "9d856cddbc3f696153d3b6d168f93dec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32875, "upload_time": "2015-02-02T15:12:34", "url": "https://files.pythonhosted.org/packages/46/41/0cedc497bb1ffa967e671e59e57e7c09a2abb71a5b751e32a6cc383c16ef/morris-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "a99af199eb201bc47514211d74f4c2d2", "sha256": "d6332334f87288b8c6b0185345053195ef1dd6d1d6e8051ef2e96070682d04c4" }, "downloads": -1, "filename": "morris-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a99af199eb201bc47514211d74f4c2d2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15476, "upload_time": "2015-02-03T17:41:47", "url": "https://files.pythonhosted.org/packages/d6/38/b0dcde4ad1ded9ebf3bd6823ccc45e873c791271e411c04c2f7774096448/morris-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6704e34929206c2ea8fd5da36151a69a", "sha256": "b3bdc506603c2555d55f59d6bfb1bc9adbac3fa2ddc6324ac9fb0d03add9d6e2" }, "downloads": -1, "filename": "morris-1.2.tar.gz", "has_sig": false, "md5_digest": "6704e34929206c2ea8fd5da36151a69a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35613, "upload_time": "2015-02-03T17:41:44", "url": "https://files.pythonhosted.org/packages/14/21/05db91b9b36a5deaecfa6e66df9f273022f98d8b7532ea010f62418e5b0d/morris-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a99af199eb201bc47514211d74f4c2d2", "sha256": "d6332334f87288b8c6b0185345053195ef1dd6d1d6e8051ef2e96070682d04c4" }, "downloads": -1, "filename": "morris-1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a99af199eb201bc47514211d74f4c2d2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15476, "upload_time": "2015-02-03T17:41:47", "url": "https://files.pythonhosted.org/packages/d6/38/b0dcde4ad1ded9ebf3bd6823ccc45e873c791271e411c04c2f7774096448/morris-1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6704e34929206c2ea8fd5da36151a69a", "sha256": "b3bdc506603c2555d55f59d6bfb1bc9adbac3fa2ddc6324ac9fb0d03add9d6e2" }, "downloads": -1, "filename": "morris-1.2.tar.gz", "has_sig": false, "md5_digest": "6704e34929206c2ea8fd5da36151a69a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35613, "upload_time": "2015-02-03T17:41:44", "url": "https://files.pythonhosted.org/packages/14/21/05db91b9b36a5deaecfa6e66df9f273022f98d8b7532ea010f62418e5b0d/morris-1.2.tar.gz" } ] }