Skip to main content

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.1: improve default web header description and link rendering.
    • mpdb now sets a default web header description on first import only, avoiding overrides when users have already called set_description(...).
    • Default subtitle is updated to an official site link: https://github.com/zzqq2199/mpdb.
    • Web UI header rendering now supports safe <a> links in both title and subtitle.
    • dpdb now sets its default title via set_description(title="DPDB Web Debugger").
    • Minor backend robustness updates: add typing for description state, guard pkgutil.get_data(...) when __package__ is empty, and only invoke saved signal handlers when callable.
  • 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_rank → rank, dpdb_world_size → world_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.

Release files for mpdb 1.2.1

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

Source distribution (sdist)

Source distribution for mpdb 1.2.1
File Size Uploaded
mpdb-1.2.1.tar.gz 33.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mpdb 1.2.1
File Interpreter ABI Platform
mpdb-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 63.2 kB

Release files / mpdb-1.2.1.tar.gz

Download URL mpdb-1.2.1.tar.gz
Size 33.2 kB
Tags Source
SHA-256 checksum
How to use checksums
98957be5a04fb3448521fc48b9b2b8dba1269f700edc2fe607fc5503816c7a3d
BLAKE2b-256 checksum
How to use checksums
5e381dc1712456e5226aeeff7da4193668964d62f3075ecfc67a7105289185ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / mpdb-1.2.1-py3-none-any.whl

Download URL mpdb-1.2.1-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e9df6106f4e0d5f72b080fd4a293f240913402e955397dec32d06830213e283
BLAKE2b-256 checksum
How to use checksums
951c230608537bcafb7093f2abbd50933c7ce4338250c4ed8602338dca7bf630
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 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