Skip to content

jnsquire/dapper

Repository files navigation

Dapper: Python Debug Adapter Protocol Implementation

Dapper is a Python implementation of the Debug Adapter Protocol (DAP), with support for core debugging workflows, VS Code integration, and lower-overhead runtime instrumentation.

CI Tests Docs check

Docs published

The full documentation is available at https://jnsquire.github.io/dapper/.

Highlights

  • Implements the Debug Adapter Protocol for Python debugging clients
  • Integrates with Python runtime debugging facilities and DAP-compatible tooling
  • Supports TCP sockets and IPC transports for adapter-launcher communication
  • Provides breakpoints, stepping, stack inspection, and variable evaluation

Debugger Features Overview

For a detailed checklist of implemented and planned debugger features, see:

VS Code Integration

Dapper works directly with VS Code's built-in debugger. See Using Dapper with VS Code for setup, launch configuration, attach configs, and all VS Code-specific features.

Installation

Dapper is currently installed from source for development and evaluation:

git clone https://github.com/jnsquire/dapper.git
cd dapper
uv sync

For development setup, see Development Setup.

Usage

For a full walkthrough, see the Getting Started section of the documentation:

Running the Test Suite

When developing locally, run tests through uv to ensure the expected environment is used and to avoid spurious async-test warnings. The development testing page contains the full workflow, and VS Code also exposes the bundled tasks:

  • Tasks → Run Test Task → Tests: run all (uv) - runs the full suite with uv run pytest
  • Tasks → Run Test Task → Tests: unit+integration (uv) - runs the unit and integration suites only

These tasks provide a consistent way to run the test suite directly from the editor.

License

MIT

About

Dapper - Debug Adapter for Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages