--- id: pretty-errors version: "1.2.25" license: unclear license_treatment: permissive maintenance: dormant --- # pretty-errors — Prettifies Python exception output to make it legible. License: permissive · Maintenance: dormant · Downloads: 159.2K/mo ## What it is and what it does pretty-errors intercepts Python exceptions and reformats their tracebacks with syntax highlighting, context code snippets, and configurable layout options. It works by installing a custom sys.excepthook or by scraping stderr output when frameworks override the default exception handler. The package is designed to be installed globally via the Python startup procedure (python -m pretty_errors) so it activates for all scripts, including those that raise SyntaxError before import statements can run. You can also import it directly in individual projects and configure its output—controlling separator characters, line numbers, local variable display, code context lines, and color schemes. It respects environment variables to disable itself when redirecting to files or in non-interactive terminals, and supports path-based whitelisting and blacklisting to hide or highlight specific stack frames. Use it for: - Interactive debugging: Run scripts in the terminal and see colorized, readable tracebacks with surrounding code context. - Development workflow: Install globally to automatically format all Python exceptions without modifying project code. - Framework debugging: Use replace_stderr() to capture and reformat exceptions from frameworks like uvicorn that override the default exception handler. - Local variable inspection: Enable display_locals to see variable values at the point of failure in the top stack frame. - CI/CD logs: Disable pretty formatting in non-interactive environments using PYTHON_PRETTY_ERRORS_ISATTY_ONLY to keep logs clean. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Reformats Python exception tracebacks with color, context, and configurable layout to make errors easier to read and debug in the terminal. Yes, if you spend time debugging Python in the terminal. It's a low-friction install with no security issues and genuinely improves readability of exception output. The dormant maintenance is not a concern for a stable, focused tool that does one thing well. Install globally via python -m pretty_errors for the best experience, or import it in projects that need custom formatting. ## Install pip install pretty-errors uv add pretty-errors poetry add pretty-errors ## Installing pretty-errors Before you install: Low friction install with a single dependency (colorama). Dormant since late 2021 but stable; last commit was March 2024. No known vulnerabilities. License in practice: MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and proprietary projects. Quickstart: pip install pretty_errors python -m pretty_errors Or in code: import pretty_errors pretty_errors.configure(display_locals=True) Requires a terminal capable of color output; Windows users should use PowerShell or cmder rather than cmd.exe. Can fall back to monochrome with pretty_errors.mono(). Verify before relying: - Whether the package works reliably with modern Python versions (3.10+) given its dormant maintenance status since 2021. - Compatibility with recent web frameworks that override sys.excepthook (e.g., uvicorn, FastAPI) beyond the replace_stderr() workaround mentioned. ## Package facts - License: not declared (permissive) - Python support: unspecified - Install friction: low - Maintenance: dormant - Downloads: 159.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags python exception formatting, traceback pretty printer, colored error output, python debugging terminal, exception stack trace viewer, readable python errors, terminal exception display, debugging, terminal-ui, error-handling [View on SkillFed](https://skillfed.io/packages/pretty-errors) · [View on PyPI](https://pypi.org/project/pretty-errors/)