{ "info": { "author": "Richard Betel", "author_email": "emteeoh@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Coroutines\nA set of generic coroutines for doing things with pipelines.\n\n## Decorator\nInstead of having to remember to \"prime the pump\" after creating a co-routine, just decorate it!\n\n```python\nimport coroutines\n@coroutines.coroutine\ndef mycoroutine():\n while True:\n s=yield\n do_stuff(s)\n```\n\n## Producers\n - trivialProducer will send the same thing, forever!\n - cycleProducer will round-robin send items in an infinite loop.\n - fileProducer will open() a file and send it line by line.\n - finiteProducer will only send items for a limited count.\n\n## Consumers\n - trivialConsumer will print whatever it is sent.\n - fileConsumer will write to a file everything it is sent.\n - limitedConsumer will only consume a specified number of items.\n - ConsumeToBuffer will consume to a buffer.\n you can either have the consumer() stop when the buffer reaches\n a specified size, or have it buffer indefinitely with\n bufferedConsumer(). Either way, you obtain and reset the buffer\n with output()\n\n## Filters\n - split will take a stream and send it to two downstream consumers\n - combine will receive from multiple upstream sources and will deterministically order its output.\n - matchre will match a regular expression against its incoming stream. Matches can be sent to one consumer and/or no-match\n can be sent to another\n - ConsumeToBuffer.bufferedConsumer() can be used as a filter if a\n next coroutine is specified.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/emteeoh/coroutines", "keywords": "", "license": "AGPL", "maintainer": "", "maintainer_email": "", "name": "coroutines", "package_url": "https://pypi.org/project/coroutines/", "platform": "", "project_url": "https://pypi.org/project/coroutines/", "project_urls": { "Homepage": "https://github.com/emteeoh/coroutines" }, "release_url": "https://pypi.org/project/coroutines/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "A set of generic coroutines for doing things with pipelines.", "version": "0.1.4" }, "last_serial": 4181346, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2eda288acdc4f7648994b9fd54ea57e9", "sha256": "c71906fedabd220a4a3ef269b0a90c9582956bb20708b6dd08ce5c77c62e32cc" }, "downloads": -1, "filename": "coroutines-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2eda288acdc4f7648994b9fd54ea57e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2171, "upload_time": "2018-08-03T17:42:26", "url": "https://files.pythonhosted.org/packages/cf/da/594d71784944f4b2bbdefbc89b8791819ba1e4005aa705add9a833547780/coroutines-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "25037e0af2a6c95bc992bf097e9311c8", "sha256": "8da18f27cd8ab9c7f84568ebb7e5e94217822c3c66717b04b59e587c4a457fc8" }, "downloads": -1, "filename": "coroutines-0.1.2.tar.gz", "has_sig": false, "md5_digest": "25037e0af2a6c95bc992bf097e9311c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2262, "upload_time": "2018-08-05T05:03:42", "url": "https://files.pythonhosted.org/packages/2a/66/fb2b387f330853b65acc02d9c5dc6230d8bc99a0a6684579d954b23be9e7/coroutines-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "fb8886e12e950e769eb897cf9d107351", "sha256": "38dfb7178c53977f4f21ad2e0ec2a3cc86738f0f71b73b23b536e2ae2e26e099" }, "downloads": -1, "filename": "coroutines-0.1.3.tar.gz", "has_sig": false, "md5_digest": "fb8886e12e950e769eb897cf9d107351", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2280, "upload_time": "2018-08-05T05:11:34", "url": "https://files.pythonhosted.org/packages/a5/01/c0ca7fa7377a72c95d459a25c4a9f15a2c9bc476ffda2e1434c463a8c325/coroutines-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "537ea35b0be6de92a3d98c9407fd74eb", "sha256": "27b1287a538a0e0c6e87f3bc9a90185b3431526e739f0f61ed30ae96a65cf7fe" }, "downloads": -1, "filename": "coroutines-0.1.4.tar.gz", "has_sig": false, "md5_digest": "537ea35b0be6de92a3d98c9407fd74eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2659, "upload_time": "2018-08-17T19:16:56", "url": "https://files.pythonhosted.org/packages/a3/b0/6a45d5272b39b2de28121fbdf929ffe4feebd8765afc3b55af21ba6cb2da/coroutines-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "537ea35b0be6de92a3d98c9407fd74eb", "sha256": "27b1287a538a0e0c6e87f3bc9a90185b3431526e739f0f61ed30ae96a65cf7fe" }, "downloads": -1, "filename": "coroutines-0.1.4.tar.gz", "has_sig": false, "md5_digest": "537ea35b0be6de92a3d98c9407fd74eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2659, "upload_time": "2018-08-17T19:16:56", "url": "https://files.pythonhosted.org/packages/a3/b0/6a45d5272b39b2de28121fbdf929ffe4feebd8765afc3b55af21ba6cb2da/coroutines-0.1.4.tar.gz" } ] }