ipdb
IPython-enabled pdb
Decision gist · record as of 2026-08-14
Yes. ipdb is a low-friction, actively maintained tool that meaningfully improves the debugging experience by adding IPython's interactive features to pdb without changing the interface. No security vulnerabilities, permissive license, and broad Python version support make it a straightforward upgrade for any developer who debugs Python code.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with 5 runtime dependencies.
- Actively maintained as of 2026-02-27 with 1976 repository stars.
- No known security vulnerabilities.
License · maintenance · safety
BSD (permissive) — BSD permissive license allows use in most projects without significant restrictions.
last release 2023-03-09 (1254 days) · last repo commit 2026-02-27 · 1,976 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 18,366,954 downloads/mo, #1,085 on PyPI
Alternatives
Verify before relying
import ipdb
ipdb.set_trace()
# or
ipdb.set_trace(context=5)
# or
from ipdb import launch_ipdb_on_exception
with launch_ipdb_on_exception():
pass- Whether the package's IPython dependency constraints (varying by Python version per changelog) are automatically resolved by pip or require manual specification.
- Performance characteristics when debugging large codebases or long-running processes.
What it is and what it does
ipdb is a drop-in replacement for Python's built-in pdb debugger that layers IPython's interactive features on top of the standard debugging interface. It provides tab completion, syntax highlighting, and improved tracebacks while keeping the same function signatures and workflow developers already know from pdb.
You use it by importing ipdb and calling set_trace() at a breakpoint, or by wrapping code in launch_ipdb_on_exception() to catch exceptions interactively. Configuration can be set via environment variables, a .ipdb file, setup.cfg, or pyproject.toml to control how many lines of context are shown. The package also provides command-line entry points (ipdb and ipdb3) to debug scripts directly.
Use it for
- Debug Python scripts from the command line with enhanced introspection and tab completion instead of plain pdb.
- Set conditional breakpoints that trigger only when a specific condition is true using the cond parameter.
- Inspect code context with configurable line counts to see more or less surrounding code at each breakpoint.
- Catch and debug exceptions interactively without stopping the entire application using launch_ipdb_on_exception().
- Decorate functions to automatically launch the debugger if they raise an exception using the iex decorator.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
ipdb is a low-friction, actively maintained tool that meaningfully improves the debugging experience by adding IPython's interactive features to pdb without changing the interface. No security vulnerabilities, permissive license, and broad Python version support make it a straightforward upgrade for any developer who debugs Python code.
Install
ipdb on PyPI
Before you install
Low friction install with 5 runtime dependencies. Actively maintained as of 2026-02-27 with 1976 repository stars. No known security vulnerabilities.
License in practice
BSD permissive license allows use in most projects without significant restrictions.
Quickstart
import ipdb
ipdb.set_trace()
# or
ipdb.set_trace(context=5)
# or
from ipdb import launch_ipdb_on_exception
with launch_ipdb_on_exception():
pass
Verify before relying
- Whether the package's IPython dependency constraints (varying by Python version per changelog) are automatically resolved by pip or require manual specification.
- Performance characteristics when debugging large codebases or long-running processes.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesipythontomldecoratorpathlibtomli |
| Maintenance | Actively maintained 1,254 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 18,366,954 / month, #1,085 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Debuggers |
Evidence: ipdb-0.13.13-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ipython debugger”
- ipdbipdb is an IPython-enabled debugger that replaces Python's standard…
- ipythonIPython is an enhanced interactive Python shell and Jupyter kernel…
- flake8-debuggerA flake8 plugin that detects debugger statements (pdb, ipdb, pudb,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Debuggers packages
Extracts and displays stack frame and traceback data with context-aware source code rendering, used to power enhanced tracebacks in IPython and similar tools.
Install it if you need to display or inspect stack frames with source context; skip it if your use case doesn't involve frame introspection.
debugpy is a Debug Adapter Protocol implementation for Python that enables remote debugging of Python scripts and modules through standard DAP clients, with support for breakpoints, exception handling, and subprocess debugging.
Install it if you need remote debugging, DAP client integration, or programmatic control over breakpoints and exception handling.
Pylint is a static code analyzer that checks Python code for errors, enforces coding standards, detects code smells, and suggests refactoring improvements without executing the code.
Install it if you need thorough code analysis with inference-based bug detection; if speed is critical, consider pairing it with faster linters like ruff for…
yamllint checks YAML files for syntax errors, style violations, and structural problems like key repetition, line length, trailing spaces, and indentation issues.
Memray is a memory profiler for Python that traces every function call to track memory allocations across Python code, native extensions, and the interpreter itself, generating reports like flame graphs and tables to analyze memory usage.
pyelftools parses and analyzes ELF binary files and DWARF debugging information in pure Python, with no external dependencies.
Install it if you need to read or analyze ELF binaries or debug information from Python.
See also flake8-debugger · ipython · pdbr · rpdb · pudb · web-pdb · pdbp · pdbpp · remote-pdb · pyxdia