{ "info": { "author": "Adrian Cristea", "author_email": "adrian.cristea@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "*Axel* is a very small Python library inspired by C# \nevents that allows an easy and elegant events handling.\n\nExamples::\n\n from axel import Event\n\n event = Event()\n def on_event(*args, **kwargs):\n return (args, kwargs)\n\n event += on_event #handler registration\n print(event(10, 20, y=30)) \n >> ((True, ((10, 20), {'y': 30}), ),)\n\n event -= on_event #handler is unregistered\n print(event(10, 20, y=30)) \n >> None\n\n\n class Mouse(object):\n def __init__(self):\n self.click = Event(self)\n self.click += self.on_click #handler registration\n\n def on_click(self, sender, *args, **kwargs):\n assert isinstance(sender, Mouse), 'Wrong sender'\n return (args, kwargs)\n\n mouse = Mouse()\n print(mouse.click(10, 20))\n >> ((True, ((10, 20), {}),\n >> >),)\n\n mouse.click -= mouse.on_click #handler is unregistered\n print(mouse.click(10, 20))\n >> None\n\nFeatures::\n\n - handlers can receive the sender as their first argument\n - handlers can be executed in the same or separate threads\n - handlers may be executed synchronous or asynchronous\n - handlers execution may be synchronized on a lock\n - the time allocated for the execution of a handler is controllable\n - the number of actively executed handlers at one time is controllable\n - the execution result of a handler can be cached \n - the result of the execution is provided as a tuple ((flag, result, handler),)\n - in case of error, the traceback may be provided for each handler in error\n\nContributors::\n\n Erwin Mayer \n Rob van der Most \n\nPlease see the documentation: https://pythonhosted.org/axel\n\n\n", "description_content_type": null, "docs_url": "https://pythonhosted.org/axel/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/axel-events/axel", "keywords": "event raise handle", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "axel", "package_url": "https://pypi.org/project/axel/", "platform": "", "project_url": "https://pypi.org/project/axel/", "project_urls": { "Homepage": "https://github.com/axel-events/axel" }, "release_url": "https://pypi.org/project/axel/0.0.7/", "requires_dist": null, "requires_python": "", "summary": "Python events handling, C# style", "version": "0.0.7" }, "last_serial": 2390838, "releases": { "0.0.4": [ { "comment_text": "", "digests": { "md5": "27ce75581ad0dcee75e742fcd0f39f03", "sha256": "3b180ff6df804f2279492c621b1153518194ee0637d3d59b0f4779c33efaf961" }, "downloads": -1, "filename": "axel-0.0.4.zip", "has_sig": false, "md5_digest": "27ce75581ad0dcee75e742fcd0f39f03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12918, "upload_time": "2014-04-08T23:30:33", "url": "https://files.pythonhosted.org/packages/aa/f7/71e57c40f4035206c26ef2b2e7ee8988d8e94136a6aef9aeab668f374f31/axel-0.0.4.zip" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3384389c8aec1af9cfe784a16d3de451", "sha256": "c3debe70842182493b0399eb62634686d0a0ca7982402cad37a68a225710e018" }, "downloads": -1, "filename": "axel-src-0.0.5.zip", "has_sig": false, "md5_digest": "3384389c8aec1af9cfe784a16d3de451", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19309, "upload_time": "2016-04-18T02:20:37", "url": "https://files.pythonhosted.org/packages/b0/0d/556c3b32d22a1b94fa84a3847e7fab651d632dd968fe169ccc68bf2bf3ae/axel-src-0.0.5.zip" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "2dce95657c979e05afdd1f50b9f5df19", "sha256": "0a2260fae953315476a3812376e3c1d06af6cdfca1469cc3174c2f0a0fec45ea" }, "downloads": -1, "filename": "axel-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "2dce95657c979e05afdd1f50b9f5df19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8005, "upload_time": "2016-10-08T12:08:46", "url": "https://files.pythonhosted.org/packages/3e/f4/9227be6e48f31825f75e0ee0b93f3106eacd2d1065084192774c4997eadd/axel-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "750430460998e46c483f1f047799f950", "sha256": "812039dd85d216c27cce756af5128e3985994e9a097f61ca10887a999d487e9c" }, "downloads": -1, "filename": "axel-0.0.6.zip", "has_sig": false, "md5_digest": "750430460998e46c483f1f047799f950", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9335, "upload_time": "2016-10-08T12:08:48", "url": "https://files.pythonhosted.org/packages/28/63/656dfcb522a6221d88feccee5105bd870adba2a1279bda0bff4d3fd823b7/axel-0.0.6.zip" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "319d7187e5ae2333c3786c2fbeeadc1c", "sha256": "44a0fa2318a1761d629e315d2f0ca00f3ba370cd3032ea2971ed630873de63b1" }, "downloads": -1, "filename": "axel-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "319d7187e5ae2333c3786c2fbeeadc1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8067, "upload_time": "2016-10-10T13:49:30", "url": "https://files.pythonhosted.org/packages/8e/67/0390d9e5661dd974c4d76dc1ab0e151c20c5a4af69047d34b7348497d443/axel-0.0.7-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "319d7187e5ae2333c3786c2fbeeadc1c", "sha256": "44a0fa2318a1761d629e315d2f0ca00f3ba370cd3032ea2971ed630873de63b1" }, "downloads": -1, "filename": "axel-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "319d7187e5ae2333c3786c2fbeeadc1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8067, "upload_time": "2016-10-10T13:49:30", "url": "https://files.pythonhosted.org/packages/8e/67/0390d9e5661dd974c4d76dc1ab0e151c20c5a4af69047d34b7348497d443/axel-0.0.7-py3-none-any.whl" } ] }