{ "info": { "author": "Elisha Fitch-Cook", "author_email": "elisha@cooper.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: MacOS X", "Environment :: Web Environment", "Environment :: Win32 (MS Windows)", "Environment :: X11 Applications", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "observer\n==========\n\n|PyPI| |Build Status| |Coverage Status|\n\nA simple implementation of the observer pattern.\n\n.. code-block:: python\n\n\timport observer\n\t# Create a subject and list the events it might fire\n\tfoo = observer.Subject('bar', 'baz')\n\n\t# Add a listener\n\tdef foo_bar_listener(*args):\n\t print(\"heard 'bar'\", args)\n\t \n\tfoo('bar', foo_bar_listener)\n\n\t# fire events\n\tfoo.fire('bar', 1, 2, 3)\n\t# -> heard 'bar' (1, 2, 3)\n\n\t# Trying to listen to an unregistered event throws an error\n\tfoo('snorble', lambda: None)\n\t# -> AssertionError: snorble is not a valid event for this subject\n\n\t# Same with trying to fire an unregistered event\n\tfoo.fire('snorble')\n\t# -> AssertionError: snorble is not a valid event for this subject\n\n\n.. |PyPI| image:: https://pypip.in/version/observer/badge.svg?style=flat\n :target: https://pypi.python.org/pypi/observer/\n\n.. |Build Status| image:: https://travis-ci.org/cooper-software/observer.svg\n :target: https://travis-ci.org/cooper-software/observer\n\n.. |Coverage Status| image:: https://img.shields.io/coveralls/cooper-software/observer.svg\n :target: https://coveralls.io/r/cooper-software/observer", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/cooper-software/observer", "keywords": "events,patterns,observer", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "observer.simple", "package_url": "https://pypi.org/project/observer.simple/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/observer.simple/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/cooper-software/observer" }, "release_url": "https://pypi.org/project/observer.simple/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "A very simple implementation of the observer pattern", "version": "1.0.0" }, "last_serial": 1483452, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "560b6e1e999d9c84a01135eba072769c", "sha256": "6f61cb8840051bf507707cb68cd4869d38c8cd6dfa890f9c13dbbae65006c4c5" }, "downloads": -1, "filename": "observer.simple-1.0.0.tar.gz", "has_sig": false, "md5_digest": "560b6e1e999d9c84a01135eba072769c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1931, "upload_time": "2015-03-30T16:27:26", "url": "https://files.pythonhosted.org/packages/de/21/212a6f5866aa49d8c4ff98708e714dee3f1fcc6dbed0ed617ce3f1fb3963/observer.simple-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "560b6e1e999d9c84a01135eba072769c", "sha256": "6f61cb8840051bf507707cb68cd4869d38c8cd6dfa890f9c13dbbae65006c4c5" }, "downloads": -1, "filename": "observer.simple-1.0.0.tar.gz", "has_sig": false, "md5_digest": "560b6e1e999d9c84a01135eba072769c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1931, "upload_time": "2015-03-30T16:27:26", "url": "https://files.pythonhosted.org/packages/de/21/212a6f5866aa49d8c4ff98708e714dee3f1fcc6dbed0ed617ce3f1fb3963/observer.simple-1.0.0.tar.gz" } ] }