debugger: load 'ipdb' if present

* debugger: load 'ipdb' if present

Transparently chooses between the IPython-enhanced 'ipdb' or the
standard 'pdb'.

* datasette install ipdb

---------

Co-authored-by: Simon Willison <swillison@gmail.com>
This commit is contained in:
Tiago Ilieve 2024-08-21 00:02:35 -03:00 committed by GitHub
commit 1f3fb5f96b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 3 deletions

View file

@ -5,9 +5,13 @@ from .utils.asgi import (
)
from .views.base import DatasetteError
from markupsafe import Markup
import pdb
import traceback
try:
import ipdb as pdb
except ImportError:
import pdb
try:
import rich
except ImportError:

View file

@ -111,10 +111,14 @@ Debugging
Any errors that occur while Datasette is running while display a stack trace on the console.
You can tell Datasette to open an interactive ``pdb`` debugger session if an error occurs using the ``--pdb`` option::
You can tell Datasette to open an interactive ``pdb`` (or ``ipdb``, if present) debugger session if an error occurs using the ``--pdb`` option::
datasette --pdb fixtures.db
For `ipdb <https://pypi.org/project/ipdb/>`__, first run this::
datasette install ipdb
.. _contributing_formatting:
Code formatting
@ -349,4 +353,4 @@ Datasette bundles `CodeMirror <https://codemirror.net/>`__ for the SQL editing i
-p @rollup/plugin-node-resolve \
-p @rollup/plugin-terser
* Update the version reference in the ``codemirror.html`` template.
* Update the version reference in the ``codemirror.html`` template.