Skip to main content

retrace-dap

Go debug adapter for Retrace recordings. This project owns the DAP server that launches and controls Python replay subprocesses.

The Python runtime (retracesoftware) performs deterministic replay; retrace-dap translates editor/debugger requests into the Retrace control protocol and drives replay from the outside.

What this repo contains

  • cmd/replay/ — CLI entrypoint (replay binary)
  • replay/ — DAP proxy, control protocol client, recording index/extract, workspace generation, and replay launch plumbing

Build

go build -o replay ./cmd/replay

Python Wheel

This repository publishes the PyPI package retracesoftware-dap. The package contains a tiny Python wrapper plus a platform-specific Go replay binary built from cmd/replay.

python -m pip install --upgrade pip build setuptools wheel setuptools_scm
python -m build --wheel --outdir dist
python -m pip install dist/retracesoftware_dap-*.whl
python -c "from retrace_dap import binary_path; print(binary_path())"
retrace-dap --help

The installed Python package exposes:

  • retrace_dap.binary_path() — returns the packaged replay/DAP binary path.
  • retrace-dap — console script that execs the packaged binary.
  • retrace-ai-driver — AI orchestration driver that talks to the replay DAP adapter and a hosted AI service.

RETRACE_REPLAY_BIN remains the local-development escape hatch. If it points at an executable replay binary, binary_path() returns that path instead of the packaged wheel binary.

Release To PyPI

PyPI Trusted Publishing must be configured for:

PyPI project: retracesoftware-dap
GitHub owner: retracesoftware
GitHub repository: retrace-dap
Workflow name: Build & Release
Workflow file: release.yml
Environment: leave blank unless the release workflow is changed to use one

The release workflow builds platform wheels for Linux and macOS, smoke-tests the installed wheel, uploads wheels to a GitHub Release, then publishes the same wheels to PyPI.

Manual release from main:

gh workflow run release.yml \
  -R retracesoftware/retrace-dap \
  --ref main \
  -f version=0.2.14

The workflow creates and pushes tag v0.2.14; tags can also trigger releases directly.

Common commands

# Process tree for a recording (VS Code sidebar)
replay --recording trace.retrace --index

# Extract pidfiles
replay --recording trace.retrace --extract

# Generate VS Code workspace
replay --recording trace.retrace --workspace

# DAP adapter (stdin/stdout)
replay --recording trace.retrace --dap [--pid N]

Test

go test ./...

Dev container

Open this repository in a Dev Container (VS Code / Cursor: Dev Containers: Reopen in Container). The container installs Go 1.25, builds bin/replay, and installs the retracesoftware Python package so integration tests can launch replay sessions.

go test ./...
go build -o bin/replay ./cmd/replay

Relationship to retracesoftware

This repo was split from retracesoftware/retracesoftware/go/. Python replay behavior lives in the main Retrace package (control_runtime.py, install/, proxy/, stream/). Changes that affect stop semantics, cursor navigation, or control-protocol payloads usually need coordinated updates in both repos.

The main retracesoftware package should depend on this package so:

python -m pip install retracesoftware

also installs retracesoftware-dap, and the retracesoftware.replay wrapper can discover the packaged replay/DAP binary through retrace_dap.binary_path().

Environment

Python replay discovery from tooling still uses RETRACE_REPLAY_BIN pointing at the built replay binary from this project.

Metadata

Release files for retracesoftware-dap 0.2.30

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for retracesoftware-dap 0.2.30
File
retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
retracesoftware_dap-0.2.30-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details
retracesoftware_dap-0.2.30-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details

Total release size: 10.8 MB

Release files / retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_x86_64.whl

Download URL retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_x86_64.whl
Size 2.8 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
00b81144b076f54f62432508fbbfd67e1ac6df9f29c87c73837363c46abc66dd
BLAKE2b-256 checksum
How to use checksums
98d038425c0ca087b86a8a9f4df2cbc4400711f39d50a38d13ee2703246646f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_aarch64.whl

Download URL retracesoftware_dap-0.2.30-py3-none-manylinux_2_17_aarch64.whl
Size 2.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
efddc51eb73d6f5039ed545a79f7f679176dac1d0d357312546b96e9b5c2965e
BLAKE2b-256 checksum
How to use checksums
62c6ac36950db9628743d6d7b96f12f47fd326eaf1743fe1c00008b287b25af2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / retracesoftware_dap-0.2.30-py3-none-macosx_12_0_x86_64.whl

Download URL retracesoftware_dap-0.2.30-py3-none-macosx_12_0_x86_64.whl
Size 2.8 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
8567b0e4fc6b9f40952cffa312c5a482df38577cb9b7c5afb6fb2095bdced8a6
BLAKE2b-256 checksum
How to use checksums
a4e8e7ca071ad25966c87ebeab362ce61fe197a9109c023e87353c61a6d32ba0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / retracesoftware_dap-0.2.30-py3-none-macosx_12_0_arm64.whl

Download URL retracesoftware_dap-0.2.30-py3-none-macosx_12_0_arm64.whl
Size 2.7 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
8ed7c5a8e065a6244734373d54dc38a67bcd2ff28178655c4c42ed6564e4b53c
BLAKE2b-256 checksum
How to use checksums
69459550c9e7018dfa81c1fa8ad9f9de4e9a5e9595c7f5ae8b6c4aa77f255d14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.30 This release

4 release files

0.2.29

4 release files

0.2.28

4 release files

0.2.27

4 release files

0.2.26

4 release files

0.2.25

4 release files

0.2.24

4 release files

0.2.23

4 release files

0.2.18

4 release files

0.2.17

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page