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.
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
|