{ "info": { "author": "Lu\u00eds Gomes", "author_email": "luismsgomes@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.7" ], "description": "Parallel Sequence Processing\n============================\n\nThis package provides a framework for parallel processing of sequences.\n\nCopyright \u00ae 2019, Lu\u00eds Gomes luismsgomes@gmail.com. All rights reserved.\n\nLinks: https://github.com/luismsgomes/pseq | https://pypi.org/project/pseq/\n\nThere are four main concepts in this package, each one modeled as a\nclass:\n\n- A ``WorkUnit`` represents a sequence element.\n- A ``Producer`` is responsible for generating a sequence of\n ``WorkUnit``\\ s to be processed.\n- A ``Processor`` is responsible for processing ``WorkUnits``\n individually.\n- A ``Consumer`` is responsible for handling processed ``WorkUnits``.\n\nThese concepts/objects are the building blocks of a\n``ParallelSequenceProcessor``, which is depicted below.\n\n::\n\n .-------------.\n .->| Processor 1 |--.\n | `-------------' |\n .----------. .-------. / .-------------. \\ .------. .----------.\n | Producer |->| Queue |-+--->| Processor 2 |----+->| Hold |->| Consumer |\n `----------' `-------' \\ `-------------' / `------' `----------'\n | ... |\n | .-------------. |\n `->| Processor k |--'\n `-------------'\n\nA ``ParallelSequenceProcessor`` coordinates one ``Producer``, one\n``Consumer`` and ``k`` ``Processor``\\ s.\n\nUnless specified otherwise, the ``Consumer`` receives processed\n``WorkUnit``\\ s in the same order as produced by the ``Producer``. This\nordering is ensured by holding processed ``WorkUnit``\\ s until all units\nproduced before them have been processed and passed onto the\n``Consumer``.\n\nUsage\n-----\n\nCurrently, the only documentation available are two usage examples.\n\nSee ``examples/mpseq-core-example.py`` for the simplest scenario:\nprocessing a single sequence of a single type.\n\nSee ``examples/mpseq-poly-example.py`` for an example of processing\nmultiple sequences of different types.\n\nLicense\n-------\n\nThis library is free software; you can redistribute it and/or modify it\nunder the terms of the GNU General Public License version 3 as published\nby the Free Software Foundation.\n\nThis library is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License version 3 for more details.\n\nYou should have received a copy of the GNU General Public License along\nwith this library; if not, write to the Free Software Foundation, Inc.,\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/luismsgomes/pseq", "keywords": "sequence parallel multiprocessing process subprocess", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "pseq", "package_url": "https://pypi.org/project/pseq/", "platform": "", "project_url": "https://pypi.org/project/pseq/", "project_urls": { "Homepage": "https://github.com/luismsgomes/pseq" }, "release_url": "https://pypi.org/project/pseq/0.1.3/", "requires_dist": null, "requires_python": "", "summary": "A framework for parallel processing of sequences.", "version": "0.1.3" }, "last_serial": 4826018, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "1814fdbe3173ca6c7cf99d5cc40f18c1", "sha256": "2df0eeb4f56f96bf032589e031b33f421a0f5645f3c5cc6f6aa2ca25c3192c9b" }, "downloads": -1, "filename": "pseq-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1814fdbe3173ca6c7cf99d5cc40f18c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2541, "upload_time": "2019-02-13T17:21:32", "url": "https://files.pythonhosted.org/packages/db/bf/eaea290ace34dd707282116f5e5e1ce45c1f2060da668920bcb08e23f58c/pseq-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "da26957df87a40c9b710d8719cea031f", "sha256": "c8406da589d95750dbea87b52dc6a65160908bb97c7b38b8227f51981e5a8b98" }, "downloads": -1, "filename": "pseq-0.1.2.tar.gz", "has_sig": false, "md5_digest": "da26957df87a40c9b710d8719cea031f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4684, "upload_time": "2019-02-14T10:04:56", "url": "https://files.pythonhosted.org/packages/df/07/7dc151ee2aa91fe690e6f8128bd809f902420cc039a5d2796ca8c0c189cf/pseq-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "79b62c0bcb147bc22a2fc0e97c60e99f", "sha256": "9d9dbae0e42c5e8691b9ecb4cfe51142d9cc6717d0d35f1f93cad3a96f312d2a" }, "downloads": -1, "filename": "pseq-0.1.3.tar.gz", "has_sig": false, "md5_digest": "79b62c0bcb147bc22a2fc0e97c60e99f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4729, "upload_time": "2019-02-15T16:42:24", "url": "https://files.pythonhosted.org/packages/2b/5e/dedc86b65bd9a41a4795a924dc211da4ac09dd0cee4db9cbc30142d41bb5/pseq-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "79b62c0bcb147bc22a2fc0e97c60e99f", "sha256": "9d9dbae0e42c5e8691b9ecb4cfe51142d9cc6717d0d35f1f93cad3a96f312d2a" }, "downloads": -1, "filename": "pseq-0.1.3.tar.gz", "has_sig": false, "md5_digest": "79b62c0bcb147bc22a2fc0e97c60e99f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4729, "upload_time": "2019-02-15T16:42:24", "url": "https://files.pythonhosted.org/packages/2b/5e/dedc86b65bd9a41a4795a924dc211da4ac09dd0cee4db9cbc30142d41bb5/pseq-0.1.3.tar.gz" } ] }