The new pdbp (Pdb+) Python debugger!

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • pdbp

    pdbp (Pdb+): A drop-in replacement for pdb and pdbpp. To replace "pdb", add "import pdbp" to an "__init__.py" file.

  • Now that you’ve covered the basics on using pdbp, see the pdbp GitHub ReadMe for more details.

  • ipdb

    Integration of IPython pdb

  • Why not just use Python’s built-in pdb debugger or another existing one like ipdb or pdbpp?

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • pdbpp

    pdb++, a drop-in replacement for pdb (the Python debugger)

  • Why not just use Python’s built-in pdb debugger or another existing one like ipdb or pdbpp?

  • pipdeptree

    A command line utility to display dependency tree of the installed Python packages

  • The major drawback is that it comes with a high number of external dependencies that take time to download. Here’s a pipdeptree for ipdb dependencies:

  • ipython

    Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.

  • If you’re already using ipython, this isn’t a problem because you’ll already need to download most of these dependencies anyway. But if you’re not using ipython… you’ll still need to download those dependencies.

  • pyreadline

    pyreadline repository

  • Here’s what the main issue is: pdbpp has a dependency on fancycompleter, which has a Windows dependency on pyreadline (https://github.com/pyreadline/pyreadline), which has this issue: pyreadline/pyreadline#65, which leads to this error: AttributeError: module 'collections' has no attribute 'Callable'. This is a major problem for Windows users running Python 3.11 or newer.

  • tabcompleter

    A friendly fork of (unmaintained) fancycompleter, but works on Linux, macOS, and Windows.

  • I created the pdbp (Pdb+) Python debugger with a dependency on my own library tabcompleter (https://github.com/mdmintz/tabcompleter), which has a dependency on the improved pyreadline3 (https://github.com/pyreadline3/pyreadline3/) instead of pyreadline. Then things started working again. As a bonus, I fixed some bugs, improved on default configuration settings, and added some new features.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pyreadline3

    Windows implementation of the GNU readline library

  • I created the pdbp (Pdb+) Python debugger with a dependency on my own library tabcompleter (https://github.com/mdmintz/tabcompleter), which has a dependency on the improved pyreadline3 (https://github.com/pyreadline3/pyreadline3/) instead of pyreadline. Then things started working again. As a bonus, I fixed some bugs, improved on default configuration settings, and added some new features.

  • SeleniumBase

    📊 Python's all-in-one framework for web crawling, scraping, testing, and reporting. Supports pytest. UC Mode provides stealth. Includes many tools.

  • And for Python browser automation, see the SeleniumBase GitHub page!

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts