Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dvg-debug-functions

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dvg-debug-functions

Provides functions for neatly printing debug information to the terminal output, well-suited for multithreaded programs.

  • 2.5.0
  • PyPI
  • Socket score

Maintainers
1

.. image:: https://img.shields.io/pypi/v/dvg-debug-functions :target: https://pypi.org/project/dvg-debug-functions .. image:: https://img.shields.io/pypi/pyversions/dvg-debug-functions :target: https://pypi.org/project/dvg-debug-functions .. image:: https://github.com/Dennis-van-Gils/python-dvg-debug-functions/actions/workflows/python-package.yml/badge.svg :target: https://github.com/Dennis-van-Gils/python-dvg-debug-functions/actions/workflows/python-package.yml .. image:: https://coveralls.io/repos/github/Dennis-van-Gils/python-dvg-debug-functions/badge.svg :target: https://coveralls.io/github/Dennis-van-Gils/python-dvg-debug-functions .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black .. image:: https://img.shields.io/badge/License-MIT-purple.svg :target: https://github.com/Dennis-van-Gils/python-dvg-debug-functions/blob/master/LICENSE.txt

DvG_debug_functions

Provides functions for neatly printing debug information to the terminal output, well-suited for multithreaded programs.

Supports PyQt5, PyQt6, PySide2 and PySide6.

Installation::

pip install dvg-debug-functions

API

Functions

  • print_fancy_traceback(err=None, back: int = 3, show_full_paths: bool = False)

    Print the exception or the current regular call-stack traceback to the terminal, using ANSI color codes that mimic the IPython command shell.

      Args:
          err (``Exception`` | ``str`` | ``None``, optional):
              When ``err`` is of type ``Exception``, then an exception traceback will
              be printed. When ``err`` is of another type, then the current regular
              call-stack traceback will be printed.
    
              Default: ``None``
    
          back (``int``, optional):
              Depth of the traceback to print.
    
              Default: ``3``
    
          show_full_paths (``bool``, optional):
              Shows the full filepath in the traceback when True, otherwise just
              the filename.
    
              Default: ``False``
    

    Example output:

    .. image:: images/print_fancy_traceback.png

  • dprint(str_msg: str, ANSI_color: str = None)

    'Debug' print a single line to the terminal with optional ANSI color codes. There is a lot of overhead using this print statement, but it is particularly well-suited for multithreaded PyQt programs where multiple threads are each printing information to the same terminal. The dprint() function ensure that each line sent to the terminal will remain as a continious single line, whereas a regular print() statement will likely result in the lines getting mixed up.

    The line will be terminated with a newline character and the terminal output buffer is forced to flush before and after every print. In addition, if PyQt5 is present in the Python environment, then a mutex lock will be obtained and released again for each dprint() execution.

  • tprint(str_msg: str, ANSI_color: str = None)

    Identical to dprint(), but now prepended with a time.perf_counter() timestamp.

Classes

.. code-block:: python

    class ANSI:
        NONE    = ""
        RED     = "\033[1;31m"
        GREEN   = "\033[1;32m"
        YELLOW  = "\033[1;33m"
        BLUE    = "\033[1;34m"
        PURPLE  = "\033[1;35m"  # aka MAGENTA
        MAGENTA = "\033[1;35m"
        CYAN    = "\033[1;36m"
        WHITE   = "\033[1;37m"

Changelog

2.5.0 (2024-06-22)

  • Using qtpy library instead of my own Qt5/6 mechanism
  • Using f-strings
  • Resolved pylint and pylance warnings

2.4.0 (2023-02-27)

  • Neater support for PyQt5, PyQt6, PySide2 and PySide6
  • Migrated from travis to Github actions

2.2.0 (2022-09-13)

  • Added support for PyQt5, PyQt6, PySide2 and PySide6

2.1.1 (2020-07-18)

  • Added flag show_full_paths to print_fancy_traceback()

2.1.0 (2020-07-17)

  • Improved print_fancy_traceback()

2.0.0 (2020-07-02)

  • DvG module filenames changed to lowercase

1.1.2 (2020-06-08)

  • Code style: black

1.1.1 (2020-06-06)

  • Extended README

1.1.0 (2020-06-04)

  • Added tprint(...)

0.0.1 (2020-05-13)

  • First release on PyPI.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc