Skip to main content

A lightweight distributed debugger built on top of ipdb.

Project description

mpdb

mpdb (Multiprocess PDB) is a lightweight distributed debugger built on top of ipdb.

Repository: https://github.com/zzqq2199/mpdb

Note: This project was formerly known as dpdb. The dpdb package name on PyPI was already taken, so it has been renamed to mpdb. Both import mpdb and import dpdb are supported with identical functionality.

Release Notes

  • 1.2.0: add set_description() API for customizing web UI header.
    • New mpdb.web_pdb.set_description(title, subtitle) function to override the default "MPDB Web Debugger" title and "by zhouquan" subtitle at runtime.
    • The /status API now includes title and subtitle fields when set.
    • The web UI dynamically updates the header text from the backend status response.
    • dpdb package calls set_description("DPDB Web Debugger") automatically on import.
  • 1.1.2: update the README documentation.
    • Add the repository link for easier source code access.
    • Clarify installation options: PyPI as recommended, GitHub as optional.
  • 1.1.1: rename internal identifiers and assets to mpdb.
    • All internal identifiers (dpdb_rankrank, dpdb_world_sizeworld_size) renamed for consistency.
    • Demo files and test files renamed to mpdb.
    • localStorage keys in web UI updated to mpdb_* prefix.
    • Prompt updated to [mpdb]>>>.
  • 1.1.0: rename from dpdb to mpdb.
    • PyPI package name dpdb was already taken, renamed to mpdb (Multiprocess PDB).
    • Full backward compatibility: both import mpdb and import dpdb work identically.
    • pip install mpdb is the recommended installation method.
  • 1.0.0: first public release version.
    • single-process debugging
    • distributed command broadcast
    • file-based synchronization for non-torch.distributed scenarios
    • a built-in web UI
    • switching between web and terminal modes during a session

Install

Recommended (PyPI):

pip install mpdb

Optional (GitHub):

pip install git+https://github.com/zzqq2199/mpdb.git

Quick Start

import mpdb

def train():
    for step in range(10):
        if step == 5:
            mpdb.set_trace()

Run a script directly:

python -m mpdb your_script.py

Demo

The standalone repository ships with runnable examples under demo/:

python demo/demo_mpdb.py --mode single
python demo/demo_mpdb.py --mode file
python demo/demo_mpdb.py --mode torch

There is also a helper launcher for the torch demo:

bash demo/launch_mpdb.sh

Notes

  • torch is optional and only required when you use sync_method='torch'.
  • The web UI template is packaged with the wheel and works with pip install mpdb.
  • Both import mpdb and import dpdb are supported and behave identically.

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

mpdb-1.2.0.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

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

mpdb-1.2.0-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file mpdb-1.2.0.tar.gz.

File metadata

  • Download URL: mpdb-1.2.0.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mpdb-1.2.0.tar.gz
Algorithm Hash digest
SHA256 aaaaaacab29ebbb2fd1abefbbaf0b98a5cf0652b6123d73ce84c34b9180eeb84
MD5 ac93d63b6cdad51c38ca147e76941bf6
BLAKE2b-256 f2d54b08cd258f1c9a2b46dab7f658b71741feeee867e0153325dce3adbe6c64

See more details on using hashes here.

File details

Details for the file mpdb-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: mpdb-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for mpdb-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7dfde3298ae210929175c6692a9fe2261c030ee908476656f5b8f492444ec4a1
MD5 814a0a84dd3b52eb0b620d22bb7e3d60
BLAKE2b-256 3af9b65828b8877ed56cc155ae2740c85b3f45661369e1f755c3967b64371f08

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