Parallel tools (named in manner to itertools & functools) is a set of commonly used list traversal functions, which is working in parallel (fault-tolerant) in synchronous or asynchronous manner.
Implementation is based on python threading
module, so be aware of GIL.
Currently implemented functions are (both sync & async):
filter
- filters the list by predicate you provide;map
- applies a function to each element of the list.
Important: Due to nature of parallel processing the order of results isn't guranteed. Although, function is returns a list
because the objects you want to process might not be hashable, hence you can't use a set
.