Metadata-Version: 2.1
Name: processmanager
Version: 0.1.1
Summary: A multiprocessing process manager for Python programs
Home-page: UNKNOWN
Author: Brandon M. Pace
Author-email: brandonmpace@gmail.com
License: GNU Lesser General Public License v3 or later
Project-URL: Code and Issues, https://github.com/brandonmpace/processmanager
Project-URL: Documentation, https://processmanager.readthedocs.io
Keywords: multiprocessing multicore process offload manager
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.6.5
Description-Content-Type: text/markdown
Requires-Dist: freezehelper (>=2.0.0)
Requires-Dist: logcontrol (>=0.2.1)

# processmanager
A multiprocessing process manager for Python programs  

It provides:  
  * Simple offloading of work to other processor cores  
  * State management for the functions in those processes  
    * It is easy to cancel in-progress work, which can be useful if a user clicks 'Cancel' in a GUI
  * Logging of exceptions while running offloaded functions  
  * Streaming of results to main process from generator functions
    * This can help smooth out IPC load curve by avoiding an all-at-once result transfer

Original use case:  
  * GUI program that calls back-end functions for work  
  * GUI has a cancel button that should always work, so:  
    * the GUI mainloop should not be blocked  
    * the called functions should intermittently check if the user has pressed the cancel button  
  * Want to avoid running new work when the user wants to cancel  
  * Want to work with generators and multiprocessing  
    * e.g. send results constantly to main process instead of all at once  

Installation:  
  * pip install processmanager  

Documentation:
  * [https://processmanager.readthedocs.io](https://processmanager.readthedocs.io)

Tested for Python >=3.6.5 on Linux (Ubuntu) and Windows 7/10  


