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:
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
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.4.0 (2022-09-13)
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.
Metadata
Release files for dvg-debug-functions 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dvg-debug-functions-2.4.0.tar.gz | 20.3 kB | Without provenance | Details for dvg-debug-functions-2.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dvg_debug_functions-2.4.0-py3-none-any.whl | Python 3 | none | any | Details for dvg_debug_functions-2.4.0-py3-none-any.whl |
Total release size: 26.9 kB
Release files / dvg-debug-functions-2.4.0.tar.gz
| Download URL | dvg-debug-functions-2.4.0.tar.gz |
|---|---|
| Size | 20.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25f0c9c6d9514e8d7fd6cdc6f737c3d4763d82b52b76861e4b50532fe53e605f
|
|
BLAKE2b-256 checksum How to use checksums |
a382b17000ab37fdb96a32f9a2705bcfbde0fae1a10aeb95d3ffeb4392448e43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|
Release files / dvg_debug_functions-2.4.0-py3-none-any.whl
| Download URL | dvg_debug_functions-2.4.0-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a8ff4a7fca132f60edc7393f594e16af7336d995b6635f7ab605f8bd5660229b
|
|
BLAKE2b-256 checksum How to use checksums |
06c62b0d5d3091d7722cee0062c1031054a3404ac9891f1a14a76f501a94c61b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.9
|
Security for dvg-debug-functions 2.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.