InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises. Learn more →
Top 23 Python Debugging Projects
-
mitmproxy
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
Project mention: Deleting HTML elements from the router level? | reddit.com/r/selfhosted | 2023-01-21I'm pretty sure it was this one I used for my project. https://mitmproxy.org/
-
httpie
🥧 HTTPie for Terminal — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
⛏️ httpie (or curl, ... or wget)
-
Sonar
Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
We also have ice cream
-
gef
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
If you are in linux, I recomend none of them (haha) because you should get more used to GDB a little bit. You just need to install some good visualizers likes GEF, for example.
-
-
viztracer
VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution.
Do not use bad instrumenting profilers. A good modern tracing-based instrumenting profiler provides so much more actionable information and insights into where problems are than a sampling profiler it is ridiculous.
As a example consider viztracer [1] for Python. By using a aggregate visualizer such as a flame graph you can figure out what is taking the most time then you can use a tracing visualizer to figure out the exact call stacks and system execution and state that caused it. Not only that, a tracing visualizer lets you diagnose whole system performance and makes it trivial to identify 1 in 1000 anomalous execution patterns (with a 4k screen a anomalous execution pattern stands out like a 4 pixel dead spot). In addition you also get vastly less biased information for parallel execution and get easy insights into parallel execution slowdowns, interference, contention, and blocking behaviors.
The only advantages highlighted in your video that still apply to a good instrumenting profiler are:
1. Multi-language support.
2. Performance counters (though that is solved by doing manual tracking after you know the hotspots and causes).
3. Overhead (if you are using low sampling frequency). Even then a good tracing instrumentation implementation should only incur low double-digit percent overhead and maybe 100% overhead in truly pathological cases involving only small functions where the majority of the execution time is literally spent in function call overhead.
4. No need for recompilation, but you are already looking to make performance changes and test so you already intend to rebuild frequently to test those experiments. In addition, the relative difference in information is so humongous that this is not even worth contemplating unless it is a hard requirement like evaluating something in the field.
-
Project mention: Can anyone share some cool projects done with Python? | reddit.com/r/Python | 2022-02-13
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
Project mention: How to parse an elf file, and identify objects/functions and associate with their file and library | reddit.com/r/embedded | 2022-12-18
Found pyelftools, and saw how simple it was to extract the variables, functions and files listed in an elf file.
-
# https://github.com/cknd/stackprinter # pip install stackprinter import stackprinter stackprinter.set_excepthook(style='darkbg2') do_stuff()
-
Project mention: Show HN: A 100% free and interactive Python course for coding beginners | news.ycombinator.com | 2023-01-07
-
Project mention: Looking for app that visualizes python program | reddit.com/r/learnpython | 2022-10-19
-
-
Project mention: Fully dockerized Linux kernel debugging environment | reddit.com/r/netsec | 2022-08-11
-
watchpoints
watchpoints is an easy-to-use, intuitive variable/object monitor tool for python that behaves similar to watchpoints in gdb.
-
Project mention: DataDog asked OpenTelemetry contributor to kill pull request | news.ycombinator.com | 2023-01-26
-
-
pdbpp: Improved pdb boltons: assorted python addtions twisted: event driven networking framework sorcery: Dark magic in python, things know where+how they are being called, helps reducing boilerplate sh: Better alternative for subprocess module, much more pythonic taskipy: npm run scipt_name like functionality snoop: pdb lite, record+replay function steps birdseye: graphical debugger remote-pdb: easy pdb from inside containers typer: wrapper around click for simpler code for CLIs arrow: Always TZ aware datetimes, plus more features more-itertools: more functions for iterators pydantic: data validation + dataclasses loguru: better logging notifiers: sending notifications from python
-
-
-
Project mention: How do you deal with parallelising parts of an ML pipeline especially on Python? | reddit.com/r/mlops | 2022-08-12
Finally, debugging. If you're running code in sub-processes; debugging becomes a real pain because out of the box, you won't be able to start a debugger in the sub-processes. Furthermore, there's a chance that more than one fails. One solution is to dump the traceback when any sub-process fails, so you can start a debugging sesstion afterward; look at this project for an example.
-
printing relevant info for each frame (referenced variables)
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Python Debugging related posts
- Intraday financial data visualization tool
- Crypto Microstructure Plotting & Algo Debugging Tool
- Trading algo visual debugging tool
- Show HN: A 100% free and interactive Python course for coding beginners
- Useful Python Modules for us
- Looking for app that visualizes python program
- Show HN: I made a local development, debugging and hotreload tool for AWS Lambda
-
A note from our sponsor - InfluxDB
www.influxdata.com | 31 Jan 2023
Index
What are some of the best open-source Debugging projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | mitmproxy | 29,897 |
2 | httpie | 26,059 |
3 | icecream | 6,541 |
4 | gef | 5,305 |
5 | pwndbg | 5,215 |
6 | viztracer | 2,906 |
7 | Cyberbrain | 2,353 |
8 | pyelftools | 1,595 |
9 | stackprinter | 1,208 |
10 | snoop | 883 |
11 | hunter | 710 |
12 | best-of-python-dev | 663 |
13 | like-dbg | 660 |
14 | watchpoints | 396 |
15 | dd-trace-py | 383 |
16 | manhole | 334 |
17 | remote-pdb | 229 |
18 | west | 134 |
19 | ycecream | 42 |
20 | debuglater | 41 |
21 | py_better_exchook | 37 |
22 | azure-debug-relay | 35 |
23 | pout | 28 |