Skip to content

A utility to trim Python traceback information.

License

Notifications You must be signed in to change notification settings

gousaiyang/tbtrim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tbtrim

PyPI - Downloads PyPI - Version PyPI - Python Version GitHub Actions - Status

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.

Installation

Simply run the following to install the current version from PyPI:

$ pip install tbtrim

Or 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 pull

Usage

set_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 str parameter (the filename of a traceback item) and returns bool (returning True indicates 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 target and exclude in a strict mode (setting True uses is to check, False uses issubclass to 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).