pseq


Namepseq JSON
Version 2.2.1 PyPI version JSON
download
home_pagehttps://github.com/luismsgomes/pseq
SummaryA framework for parallel processing of sequences.
upload_time2024-06-17 02:14:17
maintainerNone
docs_urlNone
authorLuís Gomes
requires_pythonNone
licenseGPLv3
keywords sequence parallel multiprocessing process subprocess
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Parallel Sequence Processing

This package provides a framework for parallel processing of sequences.

Copyright ® 2019, Luís Gomes luismsgomes@gmail.com. All rights reserved.

Links: https://github.com/luismsgomes/pseq | https://pypi.org/project/pseq/

There are four main concepts in this package, each one modeled as a
class:

-  A `WorkUnit` represents a sequence element.
-  A `Producer` is responsible for generating a sequence of
   `WorkUnit`s to be processed.
-  A `Processor` is responsible for processing `WorkUnits`
   individually.
-  A `Consumer` is responsible for handling processed `WorkUnits`.

These concepts/objects are the building blocks of a
`ParallelSequenceProcessor`, which is depicted below.

![](https://raw.githubusercontent.com/luismsgomes/pseq/master/pseq2.svg)

The `ParallelSequenceProcessor` in this figure has been configured with
two *lanes* for priority `0` (lanes 1 and 2) and a single *lane* for
priority `1` (lane 3).

Unless specified otherwise, by setting `require_in_order=False`,
the `Consumer` receives processed `WorkUnit`s in the same order as
produced by the `Producer` directly above it (in the same lane). This
ordering is ensured by holding processed `WorkUnit`s until all units
produced before them have been processed and passed onto the
`Consumer`.

Usage
-----

Currently, the only documentation available is the example code provided
in `example.py`.


License
-------

This library is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 3 as published
by the Free Software Foundation.

This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License version 3 for more details.

You should have received a copy of the GNU General Public License along
with this library; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/luismsgomes/pseq",
    "name": "pseq",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "sequence parallel multiprocessing process subprocess",
    "author": "Lu\u00eds Gomes",
    "author_email": "luismsgomes@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/09/8c/99095560839b1efdc18ebd290edffaa1bc5b7b02376d99e03c573177b576/pseq-2.2.1.tar.gz",
    "platform": null,
    "description": "# Parallel Sequence Processing\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![](https://raw.githubusercontent.com/luismsgomes/pseq/master/pseq2.svg)\n\nThe `ParallelSequenceProcessor` in this figure has been configured with\ntwo *lanes* for priority `0` (lanes 1 and 2) and a single *lane* for\npriority `1` (lane 3).\n\nUnless specified otherwise, by setting `require_in_order=False`,\nthe `Consumer` receives processed `WorkUnit`s in the same order as\nproduced by the `Producer` directly above it (in the same lane). 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 is the example code provided\nin `example.py`.\n\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",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A framework for parallel processing of sequences.",
    "version": "2.2.1",
    "project_urls": {
        "Homepage": "https://github.com/luismsgomes/pseq"
    },
    "split_keywords": [
        "sequence",
        "parallel",
        "multiprocessing",
        "process",
        "subprocess"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "098c99095560839b1efdc18ebd290edffaa1bc5b7b02376d99e03c573177b576",
                "md5": "d84ddffe3df5e1f26b7e5fdc350493a9",
                "sha256": "8984cb43de2a6c92e29f99c8d2050acf3cbd66649de4e4d2c3cd8e00bd90029a"
            },
            "downloads": -1,
            "filename": "pseq-2.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d84ddffe3df5e1f26b7e5fdc350493a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5386,
            "upload_time": "2024-06-17T02:14:17",
            "upload_time_iso_8601": "2024-06-17T02:14:17.205038Z",
            "url": "https://files.pythonhosted.org/packages/09/8c/99095560839b1efdc18ebd290edffaa1bc5b7b02376d99e03c573177b576/pseq-2.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-17 02:14:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "luismsgomes",
    "github_project": "pseq",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pseq"
}
        
Elapsed time: 0.27363s