A framework for parallel processing of sequences.
Project description
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 ofWorkUnit
s to be processed. - A
Processor
is responsible for processingWorkUnits
individually. - A
Consumer
is responsible for handling processedWorkUnits
.
These concepts/objects are the building blocks of a
ParallelSequenceProcessor
, which is depicted below.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pseq-2.2.1.tar.gz
.
File metadata
- Download URL: pseq-2.2.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8984cb43de2a6c92e29f99c8d2050acf3cbd66649de4e4d2c3cd8e00bd90029a |
|
MD5 | d84ddffe3df5e1f26b7e5fdc350493a9 |
|
BLAKE2b-256 | 098c99095560839b1efdc18ebd290edffaa1bc5b7b02376d99e03c573177b576 |