Skip to main content

Improve stack traces with the values associated with each argument in each frame.

Project description

ReprTraceback

ReprTraceback is a module that utilizes the sys.excepthook to throw custom traceback messages. Specifically, it includes values of positional, var, and keyword arguments.

Before & After

Before

Traceback (most recent call last):
  File "main.py", line 17, in <module>
    main()
  File "main.py", line 13, in main
    get_element(n, verbose, *args, **kwargs)
  File "main.py", line 5, in get_element
    return my_list[k]
           ~~~~~~~^^^
IndexError: list index out of range
# What is k? What was passed in? We'll never know. Hopefully it's easy to reproduce.

After

Traceback (most recent call last):
  File "main.py", line 17, in <module>
    main()
  File "main.py", line 13, in main
    main()
         ^^
  File "main.py", line 5, in get_element
    get_element(k=5, verbose=True, args=('my', 'var', 'args'), kwargs={'Repr': 'Traceback'})
                ^^^^^^^^^^
IndexError: list index out of range

Installation

You can install the project using pip:

pip install ReprTraceback

Usage

Import and Init ReprTraceback.

from ReprTraceback import ReprTraceback

# Call the init() function to set up the new traceback handler
ReprTraceback.init()

# ...
# Your code here
# ...

# When an exception occurs, the traceback will include the actual argument values
# passed to functions, providing better insight into the code flow and bug diagnosis.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ReprTraceback-1.0.4.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

ReprTraceback-1.0.4-py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page