A thread manager for Python programs
It provides:
- Centralization of starting and monitoring threads
- State management for the functions in the threads
- Logging for exceptions and excessive runtime
Original use case:
- GUI program that calls back-end functions for IO-bound 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
- Avoid running new work threads when the user wants to cancel
- Allow running callback functions when the program starts working or goes idle.
- e.g. update a status bar with certain text
Installation:
- pip install threadmanager
Tested for Python >=3.6.5 on Linux (Ubuntu) and Windows 7/10