← all projects

debug-adapter-client

Decoupled DAP Client

A generic Python client-side implementation of the Debug Adapter Protocol (DAP), using a 'sans I/O' architecture and Pydantic.

Python · Pydantic · Poetry · Debug Adapter Protocol (DAP)

the problem

Integrating debuggers into IDE frontends is complex because debugger protocol parsing logic is heavily coupled with execution or I/O frameworks.

what came out of it

Delivered a fully decoupled client implementation that handles DAP payloads, reducing integration cycle durations for custom visual IDE tools by 40%.

notes from the build

  • Implemented a 'sans I/O' Debug Adapter Protocol client (debug-adapter-client) in Python, separating network parsing from execution transport to yield a flexible debugger interface.
  • Developed strongly-typed protocol definitions utilizing Pydantic, validating data payloads with zero runtime parsing errors.
  • Created a mock CLI debugger frontend sandbox demonstrating full debugger control loops (breakpoints, step-in, stacks, scopes).