Skip to main content

Prettifies Python exception output to make it legible.

Project description

pretty-errors

Prettifies Python exception output to make it legible. Install it with

python -m pip install pretty-errors

Example

Use it simply by importing it:

import pretty_errors

Note you need to be running in a terminal capable of colour output in order to get colour output: in Windows this means powershell, cmder, etc.

If you want to configure the output then use pretty_errors.configure(). For example:

import pretty_errors
pretty_errors.configure(
    seperator_character = '—',
    line_length = 54,
    filename_display = pretty_errors.FILENAME_FULL
)

If you want to customize the output more than configure provides then you can replace the output functions on sys.stderr after importing pretty_errors. These are:

write_header(self) Is called at the start of a traceback.

write_location(self, path, line_number, function) Is called with details on the exception's location.

write_body(self, body) Is called with any other text sent to stderr (i.e. the code in question). body will never contain \n, though it may be longer than the defined maximum line length.

You may replace as many of these functions as you wish, or for maximum control of output you may replace the main method called with all stderr output: write(self, *args)

You may use these helper functions to make this easier:

output_text(self, text, wants_newline = False) Outputs text while trying to only insert 1 newline when outputing a line of maximum length.

get_location(self, text) Extract's location of exception. If it returns None then text was not a location identifier.

is_header(self, text) Checks if text is the start of a traceback.

For example, to change the header:

def write_header(self):
    self.output_text("\nERROR!!!!!!!!!!", wants_newline = True)

sys.stderr.write_header = write_header

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

pretty_errors-1.0.6.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

pretty_errors-1.0.6-py3-none-any.whl (4.7 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