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 eval 'answer + 1' --port 8888 --output result.json
apdb_cli exec-file snippet.py --port 8888
apdb_cli exec-file snippet.py --port 8888 --output result.json
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
  • exec
  • 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.3.tar.gz (14.5 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.3-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: apdb-0.1.3.tar.gz
  • Upload date:
  • Size: 14.5 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.3.tar.gz
Algorithm Hash digest
SHA256 7928f936b08bfa3a3db743f563f16e08a88b56876460307282e5cdaf1f6a9057
MD5 2e252af657e3591e7feae028d9eaa7a6
BLAKE2b-256 f3b472d7fba1358d3aadb92aa84d5cbaba6f103ada82ac66cf31e632626f98f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: apdb-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 42ebe1aca28c33c74adb4e46665529ea6b6086878509e99976a2629a38cfd5b5
MD5 dd2a5da20a02f490c80045d365b9fff5
BLAKE2b-256 20af23501cb5962444e3dd590152f8257fee1eddcca5221f5f4c92ae93b93a27

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