Raise asynchronous exceptions in other thread, control the timeout of blocks or callables with a context manager or a decorator
copied from cf-staging / stopitThis module provides: - a function that raises an exception in another thread, including the main thread. - two context managers that may stop its inner block activity on timeout. - two decorators that may stop its decorated callables on timeout.