Metadata-Version: 2.1
Name: easy_multip
Version: 0.3.1
Summary: Easy Python multiprocessing
Home-page: https://github.com/zachbateman/easy_multip.git
Author: Zach Bateman
License: MIT
Download-URL: https://github.com/zachbateman/easy_multip/archive/v_0.3.1.tar.gz
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:
                ```sh
                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:
                ```sh
                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:
                ```sh
                def _func(list_arg, *args, **kwargs):
                    # stuff happens
                    return [] (or None)
                func = use_multip(_func)
                ```
        
        License
        ----
        MIT
        
Keywords: MULTIPROCESSING,SIMPLE,EASY,PARALLEL
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
