Python Debugger

Open-source Python projects categorized as Debugger

Top 23 Python Debugger Projects

  • PySnooper

    Never use print for debugging again

    Project mention: Logging code mess | /r/Python | 2023-04-14

    Definitely not for production, but for debugging (esp. in cases where interactive debugging doesn't work) I've found PySnooper very useful

  • gdb-dashboard

    Modular visual interface for GDB in Python

    Project mention: Everything You Never Wanted to Know About CMake (Redux) | news.ycombinator.com | 2023-06-25

    Disclaimer: I'm making a competing build system.

    I won't tell you specific build systems, but I will tell you what to look for.

    Look for power. Unlimited power. [1]

    Usually, this means a few things:

    1. The build system uses a general-purpose language, even if the language needs features to be added.

    2. The build system does not reduce the power of the general-purpose language. For example, say it starts with Python but prohibits recursion. In that case, you know it is not unlimited power. Looking at you, Starlark.

    3. The build can be dynamically changed, i.e., the build is not statically determined before it even begins.

    4. Each task has unlimited power. This means that the task can use a general-purpose language, not just run external processes.

    5. And there has to be some thought put it in user experience.

    Why are these important? Well, let's look at why with CMake, which fails all of them.

    For #1, CMake's language started as a limited language for enumerating lists. (Hence, CMakeLists.txt is the file name.) And yet, it's grown to be as general-purpose as possible. Why? Because when you need an if statement, nothing else will do, and when you need a loop, nothing else will do.

    And that brings us to #2: if CMake's language started limited, are there still places where it's limited? I argue yes, and I point to the article where it says that your couldn't dynamically call functions until recently. There are probably other places.

    For #3, CMake's whole model precludes it. CMake generates the build upfront then expects another build system to actually execute it. There is no changing the build without regenerating it. (And even then, CMake did a poor job until the addition of `--fresh`.) A fully dynamic build should be able to add targets and make others targets depend on those new targets dynamically, among other things.

    For #4, obviously CMake limits what tasks can do because Ninja and Make limit tasks to running commands.

    As another example, to implement a LaTeX target, you technically need a while loop to iterate until a fixed point. To do that with Make and Ninja, you have to jump through hoops or use an external script that may not work on all platforms.

    CMake obviously fails #5, and to see how much other build systems fail it, just look for comments pouring hate on those build systems. CMake fails the most, but I haven't seen one that passes yet.

    As an example, CMake barely got a debugger. Wow! Cool! It's been 20 years! My build system will have a debugger in public release #2 (one after the MVP) that will be capable of outputting to multiple TTY's like gdb-dashboard. [2] They should have had this years ago!

    Should other comments suggest specific build systems, like the one that suggested Bazel, judge them by this list. Some will be better than others. None will pass everything, IMO, which is why I'm making my own.

    [1]: https://youtube.com/watch?v=Sg14jNbBb-8

    [2]: https://github.com/cyrus-and/gdb-dashboard

  • 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.

  • django-debug-toolbar

    A configurable set of panels that display various debug information about the current request/response.

    Project mention: Setting up Django in a Better Way in 5 Minutes and Understanding How It Works | dev.to | 2023-11-13

    The reason behind this splitting is that we can safely use packages and related settings only where we need. For example, this starter kit has the package django-debug-toolbar. This is only intended for your development environment and not for your production. This can be very risky if used in production because if your Django project encounters errors, all the debug info will be shown to the user which is a severe security risk. Similarly, for tracking errors in production, we're using Sentry which is not needed in our local environment since we already have django-debug-toolbar. For keeping these settings file separate so that they don't conflict with each other, the settings file is split for serving different environments.

  • voltron

    A hacky debugger UI for hackers

    Project mention: Debugging a Mixed Python and C Language Stack | news.ycombinator.com | 2023-04-25

    https://github.com/snare/voltron

    > * https://developers.redhat.com/blog/2017/11/10/gdb-python-api... describes the GDB Python API.*

    > https://pythonextensionpatterns.readthedocs.io/en/latest/deb... may be helpful [for writing-a-c-function-to-call-any-python-unit-test]

    > The GDB Python API docs: https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html

    > The devguide gdb page may be the place to list IDEs with support for mixed-mode debugging of Python and C/C++/Cython specifically with gdb?

  • pudb

    Full-screen console debugger for Python

    Project mention: How can I debug Python code in neovim! | /r/vim | 2023-07-01

    I simply use the superb pudb. Press ctrl+e to open the current file at the current line in your editor.

  • Cyberbrain

    Python debugging, redefined.

  • ipdb

    Integration of IPython pdb

    Project mention: The new pdbp (Pdb+) Python debugger! | dev.to | 2023-08-02

    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.

  • heartrate

    Simple real time visualisation of the execution of a Python program.

  • wdb

    An improbable web debugger through WebSockets

  • mu

    A small, simple editor for beginner Python programmers. Written in Python and Qt5. (by mu-editor)

    Project mention: Help | /r/SteamDeck | 2023-08-14

    i was wondering if someone could help me figure out how to install this (https://codewith.mu/) python editor on the steam deck. Or if you have any other suggestions for better editors.

  • django-devserver

    A drop-in replacement for Django's runserver.

  • pdbpp

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

    Project mention: The new pdbp (Pdb+) Python debugger! | dev.to | 2023-08-02

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

  • snoop

    A powerful set of Python debugging tools, based on PySnooper (by alexmojaki)

  • vardbg

    A simple Python debugger and profiler that generates animated visualizations of program flow, useful for algorithm learning.

  • pdb-tutorial

    A simple tutorial about effectively using pdb

  • hunter

    Hunter is a flexible code tracing toolkit.

  • unipacker

    Automatic and platform-independent unpacker for Windows binaries based on emulation

  • SublimeDebugger

    Graphical Debugger for Sublime Text for debuggers that support the debug adapter protocol

  • pdbr

    pdb + Rich library

  • pyasmtool

    Explores the python bytecode, provides some tools to access it for fun and profit.

  • madbg

    A fully-featured remote and preemptive debugger for python

  • python3-trepan

    A gdb-like Python3 Debugger in the Trepan family

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-11-13.

Python Debugger related posts

Index

What are some of the best open-source Debugger projects in Python? This list will help you:

Project Stars
1 PySnooper 16,221
2 gdb-dashboard 10,265
3 django-debug-toolbar 7,858
4 voltron 6,075
5 pudb 2,848
6 Cyberbrain 2,464
7 ipdb 1,801
8 heartrate 1,705
9 wdb 1,570
10 mu 1,357
11 django-devserver 1,275
12 pdbpp 1,234
13 snoop 1,178
14 vardbg 1,079
15 pdb-tutorial 820
16 hunter 775
17 unipacker 580
18 SublimeDebugger 347
19 pdbr 317
20 pyasmtool 313
21 madbg 226
22 pystlink 205
23 python3-trepan 144
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com