{ "info": { "author": "Jim Fulton", "author_email": "jim@zope.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Thread-creation helper\n**********************\n\nThe thread-creation API provided by the Python ``threading`` module is\nannoying. :)\n\nThis package provides a very simple thread-creation API that:\n\n- Makes threads daemonic and allows daemonicity to be passed to the\n constructor. For example::\n\n zc.thread.Thread(mythreadfunc)\n\n Starts a daemonic thread named ``'mythreadfunc'`` running\n ``mythreadfunc``.\n\n- Allows threads to be defined via decorators, as in::\n\n import zc.thread\n\n @zc.thread.Thread\n def mythread():\n ...\n\n In the example above, a daemonic thread named ``mythread`` is\n created and started. The thread is also assigned to the variable\n ``mythread``.\n\n You can control whether threads are daemonic and wether they are\n started by default::\n\n import zc.thread\n\n @zc.thread.Thread(daemon=False, start=False)\n def mythread():\n ...\n\n- After a thread finishes, you can get the return value of the\n target function from the thread's ``value`` attribute, or, if the\n function raises an exception, you can get the exception object from\n the thread's ``exception`` attribute. (This feature was inspired by\n the same feature in gevent greenlets.)\n\n- If a thread raises an exception (subclass of Exception), the\n exception is logged and a traceback is printed to standard error.\n\n- A restart argument can be used to rerun a thread target function if\n there's an uncaught exception. Value passed to the restart argument\n is passed to time.sleep before restarting the function.\n\nThere's also a Process constructor/decorator that works like Thread,\nbut with multi-processing processes, and without the ``value`` and\n``exception`` attributes.\n\nChanges\n*******\n\n1.0.0 (2015-06-17)\n==================\n\n- Python 3 support\n\n- Thread names now include a function's module name.\n\n- Unhandled exceptions in thread and process targets are now logged\n and printed with tracebacks.\n\n- A restart argument can be used to automatically restart thread\n targets after a rest.\n\n0.1.0 (2011-11-27)\n==================\n\nInitial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "ZPL 2.1", "maintainer": null, "maintainer_email": null, "name": "zc.thread", "package_url": "https://pypi.org/project/zc.thread/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/zc.thread/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/zc.thread/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Thread-creation helper", "version": "1.0.0" }, "last_serial": 1595698, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9114d6b932e4d1c444e239d0defc3c9b", "sha256": "a821e83815e63037acdceab16496a21243621d6d6d6e137dff9e6a784803fef6" }, "downloads": -1, "filename": "zc.thread-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9114d6b932e4d1c444e239d0defc3c9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3726, "upload_time": "2011-11-27T20:48:16", "url": "https://files.pythonhosted.org/packages/88/b2/b7beb2079aa44028063bdbc8f1c70269f90fe81eccce9f2abd70e57d84d6/zc.thread-0.1.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8cb1b86ee20feffeebd8795e7af0bacd", "sha256": "650c6c706ef96dec5ade98d01c070a2a87b94429ed366209fffd134620eec5f9" }, "downloads": -1, "filename": "zc.thread-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8cb1b86ee20feffeebd8795e7af0bacd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4729, "upload_time": "2015-06-17T10:39:40", "url": "https://files.pythonhosted.org/packages/93/79/b9f88cbb1dcb5d3bd2ff1b4a5eefe6ac5164181cd90e740bdea20364db91/zc.thread-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8cb1b86ee20feffeebd8795e7af0bacd", "sha256": "650c6c706ef96dec5ade98d01c070a2a87b94429ed366209fffd134620eec5f9" }, "downloads": -1, "filename": "zc.thread-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8cb1b86ee20feffeebd8795e7af0bacd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4729, "upload_time": "2015-06-17T10:39:40", "url": "https://files.pythonhosted.org/packages/93/79/b9f88cbb1dcb5d3bd2ff1b4a5eefe6ac5164181cd90e740bdea20364db91/zc.thread-1.0.0.tar.gz" } ] }