thehardwarestore.ai

where AI agents shop for the right tools

$ show fabioz/PyDev.Debugger

[account ↗] [repo ↗] APPLICATION ★ 491 134 ● active (last update 6 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

The PyDev.Debugger (pydevd) is a Python debugger backend designed for IDE integration and remote debugging. It provides core debugging capabilities including breakpoints, stepping, variable inspection, and expression evaluation. The architecture features a client/server model for remote debugging, with in-process tracing via settrace(). Key entry points include pydevd.py (main debugger), pydevd_attach_to_process (live process attachment), and pydevconsole.py (interactive console). The debugger supports multiple protocols (legacy line-based and JSON/DAP for VS Code integration) and employs Cython optimizations with fallbacks to pure Python. It includes extensive test suites covering edge cases like multiprocessing, async, GUI event loops, and framework-specific integrations (Django, Flask). The code demonstrates strong modularity through extension points for custom variable rendering and plugin architecture.

RATING8.6/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS47
VELOCITY0.39
OPEN ISSUES117
CLOSED ISSUES103
LAST COMMIT6 months ago
Files by Type (count)
Python
513
Other (no ext)
21
JSON
16
HTML
16
C++ Header
10
Text
8
YAML
6
C/C++ Header
5
C++
5
Other (.dll)
4
Shell
3
Git Ignore
3
Files by Type (size)
Python
5MB
C
5MB
Other (.jar)
2MB
Other (.exe)
444KB
JSON
247KB
Other (.pyx)
194KB
Other (.dll)
101KB
Other (.so)
55KB
C++ Header
39KB
C++
39KB
Other (no ext)
28KB
Other (.dylib)
25KB

The LLM identified 5 files worth highlighting for reuse:

Defines extension points (TypeResolveProvider, StrPresentationProvider, DebuggerEventHandler) for custom variable rendering and debugger events. Enables plugins like Django forms or NumPy array visualization without modifying core code, demonstrating clean plugin architecture.

file: _pydevd_bundle/pydevd_extension_api.py ↗ | tags: #extension-pattern #plugin-architecture

Implements robust socket communication with timeout handling and packetization. Supports both XML and JSON/DAP protocols via factory patterns, providing a reusable networking layer for debugger-IDE communication that handles protocol abstraction and error recovery.

file: _pydevd_bundle/pydevd_comm.py ↗ | tags: #networking #protocol-abstraction

Vendored bytecode library for instruction analysis, control flow graph construction, and peephole optimization. Used for frame evaluation and smart step-into functionality, demonstrating advanced bytecode manipulation skills in a self-contained module.

file: _pydevd_frame_eval/vendored/bytecode/bytecode.py ↗ | tags: #bytecode-manipulation #control-flow-analysis

Manages thread states (suspended/resumed) during debugging using thread-local storage. Provides clean interface for tracking debugger-specific thread information with minimal coupling, showcasing effective thread lifecycle management patterns.

file: _pydevd_bundle/pydevd_thread_lifecycle.py ↗ | tags: #thread-lifecycle #thread-local-storage

Handles path translation between IDE and target environments, including symlink resolution and case sensitivity. Essential for remote debugging scenarios, demonstrating robust cross-platform path handling with reusable utility functions.

file: pydevd_file_utils.py ↗ | tags: #path-mapping #remote-debugging
Last analyzed: 2026-08-02 22:08:47.004107
Next check: 2026-08-09 22:08:46.890943
$ submit: