Easy Python multiprocessing
Project description
easy_multip
easy_multip is a small tool designed to quickly allow Python multiprocessing capabilities while greatly simplifying code for easier use.
Current Features
- easy_multip.map(func, arg_group, leave_one_cpu_free=True)
- map() or list comprehension type functionality that is parallelized using multiprocessing and includes a progress bar
- Usage is similar to the below constructs:
list(map(func, arg_group)) or [func(arg) for arg in arg_group]
- easy_multip.doloop(func, arg_group, leave_one_cpu_free=True)
- for loop equivalent that runs a function that returns None
- Useful in situations like file processing where each operation is expensive and totally independent
- Allocates jobs evenly among processors and provides a progress bar... of sorts
- Usage is similar to the below construct:
for arg in arg_group: func(arg)
- easy_multip.decorators.use_multip(func, leave_one_cpu_free=True)
- Decorator providing capability of quickly adding multiprocessing to a function operating on a list
- ONLY for functions taking a list first arg that returns a list or None
- DO NOT USE
@decorator
syntax! Must use the following pattern:def _func(list_arg, *args, **kwargs): # stuff happens return [] (or None) func = use_multip(_func)
License
MIT
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
easy_multip-0.3.3.tar.gz
(5.0 kB
view hashes)
Built Distribution
Close
Hashes for easy_multip-0.3.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f4964c103c56d6e0f7b14d3129892c81e399b8c361f962a1f9b44259c49611d |
|
MD5 | d2bc69d0f41d064338adbe544c35d2ee |
|
BLAKE2b-256 | 8671054dd590ae51f49c5708b67abad643d082315320e0e515cf5f9a0f329e68 |