Skip to main content

A simple package to add code highlighting to the python debugger (PDB).

Project description

PDB Color

Add some color to the python debugger.

Installation

Install with pip.

pip install pdbcolor

Setup

Python can be configured to use PDB Color by changing the PYTHONBREAKPOINT environment variable. To use PDB Color temporarily, add the PYTHONBREAKPOINT=pdbcolor.set_trace prefix before running your python script:

PYTHONBREAKPOINT=pdbcolor.set_trace python3 main.py

To make PDB Color the default for all Python sessions, set the PYTHONBREAKPOINT environment variable to pdbcolor.set_trace. On Mac and Linux, you can do this with the export command:

export PYTHONBREAKPOINT=pdbcolor.set_trace

Add this line to your terminal configuration file (e.g. .bashrc or .zshrc) to ensure the setting persists across terminal settings.

Usage

PDB Color is a drop-in replacement for PDB that simply adds color to PDB's outputs. See the PDB documentation for a PDB introduction.

PDB Color also has tab autocompletion by default which can be triggered using the TAB key. For example:

$ python3 main.py
> /home/alex/documents/pdbcolor/main.py(9)<module>()
-> y = 2
(Pdb) str.
str.capitalize(    str.isalpha(       str.ljust(         str.rpartition(
str.casefold(      str.isascii(       str.lower(         str.rsplit(
str.center(        str.isdecimal(     str.lstrip(        str.rstrip(
str.count(         str.isdigit(       str.maketrans(     str.split(
str.encode(        str.isidentifier(  str.mro()          str.splitlines(
str.endswith(      str.islower(       str.partition(     str.startswith(
str.expandtabs(    str.isnumeric(     str.removeprefix(  str.strip(
str.find(          str.isprintable(   str.removesuffix(  str.swapcase(
str.format(        str.isspace(       str.replace(       str.title(
str.format_map(    str.istitle(       str.rfind(         str.translate(
str.index(         str.isupper(       str.rindex(        str.upper(
str.isalnum(       str.join(          str.rjust(         str.zfill(
(Pdb) str.

Examples

Using PDB:

Code example using PDB

Using PDB Color:

Code example using PDB

Pytest

In pytest, using breakpoint() in your unit tests will put you into PDB by default. To use PDB Color instead, set --pdbcls=pdbcolor:PdbColor. For example:

python3 -m pytest --pdbcls=pdbcolor:PdbColor

To invoke PDB Color upon the failure of a test (post-mortem) rather than a breakpoint, use the --pdb option:

python3 -m pytest --pdbcls=pdbcolor:PdbColor --pdb

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

pdbcolor-0.3.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdbcolor-0.3.3-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pdbcolor-0.3.3.tar.gz.

File metadata

  • Download URL: pdbcolor-0.3.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pdbcolor-0.3.3.tar.gz
Algorithm Hash digest
SHA256 8f06b03cb3068501ec6f8b439deb8d1c47021aecc3b4f321d9487bd9be49b91b
MD5 aa149e9c9c64cdd83794f177dda9fe57
BLAKE2b-256 b2879737c3cb86a4987510e85c356d6ca69525ca7a69adf00c1530754170bf17

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdbcolor-0.3.3.tar.gz:

Publisher: workflow.yml on Alex-JG3/pdbcolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pdbcolor-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: pdbcolor-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pdbcolor-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6c41bf6644ebdf32c7093133121bcaf0d0e099e085a73377af1303fa322dd863
MD5 2c86714bdec8da4f840174395391d3b1
BLAKE2b-256 5dc6be116c35a8b86974e7bf4433676936d4119f411811ba99ec10a3b2e3fb95

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdbcolor-0.3.3-py3-none-any.whl:

Publisher: workflow.yml on Alex-JG3/pdbcolor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page