tbtrim is a utility to trim Python traceback information. By assigning user-refined sys.excepthook, one can easily customize the behavior after an exception is raise and uncaught, and just before the interpreter prints out the given traceback and exception to sys.stderr.
In a more human-readable way, tbtrim is to let you handle the last words of a program when it exits because of an exception.
Simply run the following to install the current version from PyPI:
$ pip install tbtrimOr install the latest version from the git repository:
git clone https://github.com/gousaiyang/tbtrim.git
cd tbtrim
pip install -e .
# and to update at any time
git pullset_trim_rule(predicate, target=BaseException, exclude=None, strict=False, exception=None)
Set the rule for trimming traceback (will set sys.excepthook and threading.excepthook if available).
You can determine whether to start trimming traceback items based on the filename (using predicate), and can choose to trim traceback only for some certain exceptions (using target and exclude).
Args:
- predicate (function): a function which takes one
strparameter (the filename of a traceback item) and returnsbool(returningTrueindicates that this traceback item and the following items should be trimmed) - target (class_or_tuple): an exception or a tuple of exceptions may be given to trim traceback only for those exceptions
- exclude (class_or_tuple): an exception or a tuple of exceptions may be given to exclude them from traceback trimming
- strict (bool): indicate whether to check an exception against
targetandexcludein a strict mode (settingTrueusesisto check,Falseusesissubclassto check) - exception (class_or_tuple): this is a deprecated alias of
exclude, retained for backward compatibility
clear_trim_rule()
Clear the rule for trimming traceback (restore the excepthooks).