Skip to main content

pdbp (Pdb+) --- Expanding pdb and improving pdbpp.

Project description

pdbp (Pdb+)

Pdb+

pdbp (Pdb+) is a drop-in replacement for pdb that improves on the (unmaintained) pdbpp (Pdb++) package.

pdbp (Pdb+) makes Python debugging easier (and a lot more fun).

Installation & Usage:

pip install pdbp

Then add import pdbp to an __init__.py of your project, which will automatically make Pdb+ the default debugger at breakpoints:

import pdbp

If using flake8 for code-linting, you may want to add # noqa to that line:

import pdbp  # noqa

To trigger a breakpoint in your code with pytest, add --trace (to start tests with a breakpoint) or --pdb (to trigger a breakpoint if a test fails).

pdbp (Pdb+) fixes pdbpp (pdb++) so that it works in all environments. It also includes other bug-fixes. "Sticky" mode is the default option, which shows multiple lines of code while letting you see where you're going (n + Enter).

If you somehow reset pdb to Python's built-in version, you can always replace pdb with pdbp again as the default debugger by running this:

import pdb
import pdbp
for key in pdbp.__dict__.keys():
    pdb.__dict__[key] = pdbp.__dict__[key]

Here's how to customize pdbp/pdb options if you don't like the default settings: (Shown below are the default settings.)

import pdb
if hasattr(pdb, "DefaultConfig"):
    pdb.DefaultConfig.filename_color = pdb.Color.blue
    pdb.DefaultConfig.line_number_color = pdb.Color.turquoise
    pdb.DefaultConfig.show_hidden_frames_count = False
    pdb.DefaultConfig.disable_pytest_capturing = True
    pdb.DefaultConfig.enable_hidden_frames = False
    pdb.DefaultConfig.truncate_long_lines = True
    pdb.DefaultConfig.sticky_by_default = True

You can also trigger Pdb+ activation like this:

import pdbp
pdbp.set_trace()

pdbp (Pdb+) commands

Pdb+ Commands

More examples:

Pdb+ is used by packages such as seleniumbase:


Pdb+

(Pdb+ is maintained by the SeleniumBase Dev Team)

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

pdbp-1.0.0.tar.gz (16.6 kB view hashes)

Uploaded Source

Built Distribution

pdbp-1.0.0-py2.py3-none-any.whl (13.3 kB view hashes)

Uploaded Python 2 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