debugpy: An Advanced Debugger for Python Development
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
debugpy is Microsoft's robust implementation of the Debug Adapter Protocol (DAP) for Python 3. It provides powerful debugging capabilities, allowing developers to efficiently inspect and troubleshoot their Python applications. This tool supports both command-line and API-based usage, offering flexibility for various development workflows.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
debugpy is a comprehensive debugger for Python 3, developed by Microsoft. It implements the Debug Adapter Protocol (DAP), enabling seamless integration with various IDEs and editors that support DAP, such as Visual Studio Code. debugpy is designed to provide a rich debugging experience, allowing you to step through code, inspect variables, set breakpoints, and much more, whether you are debugging local scripts, modules, or attaching to running processes.
Installation
debugpy can be easily installed using pip, the Python package installer.
pip install debugpy
Examples
CLI Usage
debugpy offers a flexible command-line interface for debugging.
Debugging a script file:
To run a script with debugging enabled, listening on localhost:5678:
python -m debugpy --listen localhost:5678 myfile.py
To wait for a client to attach before execution:
python -m debugpy --listen localhost:5678 --wait-for-client myfile.py
Debugging a module:
You can debug a Python module using the -m switch:
python -m debugpy --listen localhost:5678 -m mymodule
Attaching to a running process:
Inject the debugger into an already running Python process by its PID:
python -m debugpy --listen localhost:5678 --pid 12345
API Usage
For more programmatic control, debugpy provides a Python API.
Enabling debugging:
Import debugpy and call debugpy.listen() at the beginning of your script:
import debugpy
debugpy.listen(("localhost", 5678))
# Your application code
Waiting for the client:
To pause execution until a debugger client connects:
import debugpy
debugpy.listen(5678)
debugpy.wait_for_client() # Blocks execution until client is attached
# Your application code
Programmatic breakpoints:
Use breakpoint() or debugpy.breakpoint() to set a breakpoint programmatically. Execution will pause if a client is attached.
import debugpy
debugpy.listen(...)
while True:
# ...
breakpoint() # or debugpy.breakpoint()
# ...
Why Use debugpy?
debugpy stands out as a powerful debugging tool for several reasons:
- DAP Compliance: Its adherence to the Debug Adapter Protocol ensures broad compatibility with modern development environments.
- Flexibility: It supports both command-line and API-driven debugging, catering to different integration needs and workflows.
- Comprehensive Features: From basic step-through debugging to attaching to running processes and handling subprocesses,
debugpycovers a wide range of debugging scenarios. - Microsoft Backing: Developed by Microsoft, it benefits from continuous development and integration, especially within tools like Visual Studio Code.
Links
- GitHub Repository: https://github.com/microsoft/debugpy
- Command Line Reference: https://github.com/microsoft/debugpy/wiki/Command-Line-Reference
- API Reference: https://github.com/microsoft/debugpy/wiki/API-Reference
- PyPI: https://pypi.org/project/debugpy/
Related repositories
Similar repositories that may be relevant next.

Open Index: A Deterministic Memory Layer for Your AI Agents
September 16, 2026
Open Index is a powerful tool for building domain-specific, accurate, and structured data that AI agents can effectively operate on. It enables the creation of a "brain," a searchable and continuously improving context graph tailored to any domain. This system ensures agents have access to reliable, up-to-date information, enhancing their capabilities and decision-making processes.
tooltrim: Drastically Reduce LLM Agent Tool Output Tokens, Improve Accuracy
September 16, 2026
tooltrim provides drop-in compression for LLM agent tool outputs, drastically cutting tokens while often improving answer accuracy. This provider-agnostic solution offers content-aware compression, faithfulness benchmarks, and seamless integration with popular frameworks or as an OpenAI-compatible proxy.

AgentShield: Python Firewall for AI Agent Spend Control
September 16, 2026
AgentShield is a pure Python library designed to prevent runaway AI agents from exceeding budget limits. It offers 10 composable spend rules, evaluated in under 1ms, providing robust cost control. Although its core development has transitioned to sipi.bot, the AgentShield Python package remains available for existing users and its test fixtures are open-source.

DA-Forge: Streamlining Declarative Agent Creation for Copilot Notebooks
September 12, 2026
DA-Forge is a Python-based tool by Microsoft designed to automate the creation and deployment of Declarative Agents for Copilot Notebooks. It significantly reduces the manual effort and time required to set up AI assistants with specific grounding references, transforming an 85-minute process into just a few minutes. This tool is essential for developers and researchers working with Copilot Notebooks and Declarative Agents.
Source repository
Open the original repository on GitHub.
14 counted GitHub visits