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.2.tar.gz (6.2 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.2-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pdbcolor-0.3.2.tar.gz
  • Upload date:
  • Size: 6.2 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.2.tar.gz
Algorithm Hash digest
SHA256 9512104fc1db47ed27d603c4c36a435a952ac7f6cc5aa3d17112c8ad77b229c1
MD5 93c5b1efe71bd9eef3390c386fa930f9
BLAKE2b-256 7b42277a68720b49c27813e7b0bb6d6796794bf6ccbde482393911a99a2b3213

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdbcolor-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: pdbcolor-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 4.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1165623d6d1afcf9416f084a4af9a2651ac33d61dc0c42d8359b2680823351f6
MD5 a42fc4dc0f072731cb6e3191bba6f80a
BLAKE2b-256 9a9674a1b6b4bf440e12b403e3720b7ab9bf98fc116c5e7ac2038b4a34fb8293

See more details on using hashes here.

Provenance

The following attestation bundles were made for pdbcolor-0.3.2-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