Function pipelines mediated by queues and a Later.
Project description
Latest release 20191007.1: Pipeline functionality extracted from cs.later: asynchronous pipelines mediated with a cs.later.Later.
Function pipelines mediated by queues and a Later.
Class Pipeline
MRO: cs.resources.MultiOpenMixin
A Pipeline encapsulates the chain of PushQueues created by
a call to Later.pipeline.
Method Pipeline.__init__(self, name, L, actions, outQ)
Initialise the Pipeline from name, Later instance L,
list of filter functions actions and output queue outQ.
Each action is either a 2-tuple of (sig, functor) or an object with a .sig attribute and a .functor method returning a callable.
Function pipeline(later, actions, inputs=None, outQ=None, name=None)
Construct a function pipeline to be mediated by this Later queue.
Return: input, output
where input`` is a closeable queue on which more data items can be put and output` is an iterable from which result can be collected.
Parameters:
actions: an iterable of filter functions accepting single items from the iterableinputs, returning an iterable output.inputs: the initial iterable inputs; this may be None. If missing or None, it is expected that the caller will be supplying input items viainput.put().outQ: the optional output queue; if None, an IterableQueue() will be allocated.name: name for the PushQueue implementing this pipeline.
If inputs is None or open is true, the returned input requires
a call to input.close() when no further inputs are to be supplied.
Example use with presupplied Later L:
input, output = L.pipeline(
[
ls,
filter_ls,
( FUNC_MANY_TO_MANY, lambda items: sorted(list(items)) ),
],
('.', '..', '../..'),
)
for item in output:
print(item)
Release Log
Release 20191007.1: Pipeline functionality extracted from cs.later: asynchronous pipelines mediated with a cs.later.Later.
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 cs.pipeline-20191007.1.tar.gz.
File metadata
- Download URL: cs.pipeline-20191007.1.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
192d6b0eede7623bdd7c32653461df45a5c88da5883d35409461b41f113b5ac5
|
|
| MD5 |
a217aafb37a90c0474abcbcb29573281
|
|
| BLAKE2b-256 |
3f5f781bdbe5f455480b6e73ba844447a626ddf73681bd448e1e0c2129a5e769
|