Skip to main content

Agent-friendly remote Python debugger over a zero-dependency TCP API

Project description

apdb

apdb is an agent-friendly Python debugger inspired by remote-pdb. It keeps the Python call site close to pdb, but exposes debugger control over a newline-delimited JSON TCP API instead of a human interactive shell.

The runtime and CLI use only the Python standard library.

Python API

import apdb

answer = 41
apdb.set_trace(port=8888)
print(answer + 1)

set_trace() blocks the target process whether or not a client is connected. The process resumes only after the TCP API receives a release command such as continue, next, step, or quit.

By default, apdb binds to 127.0.0.1 and uses no authentication:

apdb.set_trace(port=8888, host="127.0.0.1")

CLI

The package installs apdb_cli:

apdb_cli ping --port 8888
apdb_cli state --port 8888
apdb_cli where --port 8888
apdb_cli locals --port 8888
apdb_cli eval 'answer + 1' --port 8888
apdb_cli next --port 8888
apdb_cli step --port 8888
apdb_cli continue --port 8888

The CLI prints one JSON response to stdout and exits nonzero for connection failures or API errors.

TCP API

The TCP API speaks newline-delimited JSON. Each request and response is one JSON object followed by \n.

Request:

{"id": 1, "cmd": "state"}

Response:

{"id": 1, "ok": true, "result": {"status": "paused"}}

Supported v0 commands:

  • ping
  • state
  • where
  • locals
  • eval
  • next
  • step
  • continue
  • quit

Security

apdb has no authentication in v0. Debugger access can inspect and evaluate code inside the target process. Bind to 127.0.0.1 unless you explicitly want to expose that control surface.

Agent Skill

This repository includes a bundled agent skill at skills/apdb/SKILL.md. Install that skill through apdb_cli when you want a coding agent to remember the apdb workflow.

Codex:

apdb_cli skills install --agent codex --scope user
apdb_cli skills install --agent codex --scope project

Claude Code:

apdb_cli skills install --agent claude-code --scope user
apdb_cli skills install --agent claude-code --scope project

Both:

apdb_cli skills install --agent all --scope user
apdb_cli skills install --agent all --scope project

Use --force to overwrite an existing installed skill. --scope global is an alias for --scope user.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apdb-0.1.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apdb-0.1.2-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file apdb-0.1.2.tar.gz.

File metadata

  • Download URL: apdb-0.1.2.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for apdb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 375b655be6e84250ecf8e56157cb677c2cc328ea9a19a1ee71d1ddd8a3e5324b
MD5 f1442da527dcee255979174891087037
BLAKE2b-256 09a6cccd345db04b720a5748a4d0400c9422b1d875ce386c5c9309218e361532

See more details on using hashes here.

File details

Details for the file apdb-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: apdb-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for apdb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6ff4dc2cc55caa58f6b080e15aafa7d0f80ab94891e8133c054573f3f74f9c3c
MD5 d627947602e4f92a4c4c98cccf5101dc
BLAKE2b-256 60269c1a7c3a4410d84d199d1e1f467cdc07cbdb4eec4393aff50c6ea6851061

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page