HTTP/2 301
server: Varnish
retry-after: 0
location: https://pypi.org/pypi/pudb/
content-type: text/html; charset=UTF-8
accept-ranges: bytes
date: Sat, 11 Oct 2025 06:49:50 GMT
x-served-by: cache-bom-vanm7210080-BOM
x-cache: HIT
x-cache-hits: 0
x-timer: S1760165391.794269,VS0,VE0
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: deny
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
permissions-policy: publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
content-length: 122
HTTP/2 301
location: https://pypi.org/project/pudb/
referrer-policy: origin-when-cross-origin
content-security-policy: base-uri 'self'; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://gitlab.com/api/ https://analytics.python.org fastly-insights.com *.fastly-insights.com *.ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com https://billing.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://pypi-camo.freetls.fastly.net/ *.fastly-insights.com *.ethicalads.io ethicalads.blob.core.windows.net; script-src 'self' https://analytics.python.org *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
content-type: text/html; charset=UTF-8
accept-ranges: bytes
date: Sat, 11 Oct 2025 06:49:51 GMT
x-served-by: cache-iad-kcgs7200099-IAD, cache-iad-kcgs7200157-IAD, cache-bom-vanm7210032-BOM
x-cache: MISS, MISS, MISS
x-cache-hits: 0, 0, 0
x-timer: S1760165391.847709,VS0,VE261
vary: Accept-Encoding
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: deny
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
permissions-policy: publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
content-length: 211
HTTP/2 200
referrer-policy: origin-when-cross-origin
content-security-policy: base-uri 'self'; connect-src 'self' https://api.github.com/repos/ https://api.github.com/search/issues https://gitlab.com/api/ https://analytics.python.org fastly-insights.com *.fastly-insights.com *.ethicalads.io https://api.pwnedpasswords.com https://cdn.jsdelivr.net/npm/mathjax@3.2.2/es5/sre/mathmaps/ https://2p66nmmycsj3.statuspage.io; default-src 'none'; font-src 'self' fonts.gstatic.com; form-action 'self' https://checkout.stripe.com https://billing.stripe.com; frame-ancestors 'none'; frame-src 'none'; img-src 'self' https://pypi-camo.freetls.fastly.net/ *.fastly-insights.com *.ethicalads.io ethicalads.blob.core.windows.net; script-src 'self' https://analytics.python.org *.fastly-insights.com *.ethicalads.io 'sha256-U3hKDidudIaxBDEzwGJApJgPEf2mWk6cfMWghrAa6i0=' https://cdn.jsdelivr.net/npm/mathjax@3.2.2/ 'sha256-1CldwzdEg2k1wTmf7s5RWVd7NMXI/7nxxjJM2C4DqII=' 'sha256-0POaN8stWYQxhzjKS+/eOfbbJ/u4YHO5ZagJvLpMypo='; style-src 'self' fonts.googleapis.com *.ethicalads.io 'sha256-2YHqZokjiizkHi1Zt+6ar0XJ0OeEy/egBnlm+MDMtrM=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-JLEjeN9e5dGsz5475WyRaoA4eQOdNPxDIeUhclnJDCE=' 'sha256-mQyxHEuwZJqpxCw3SLmc4YOySNKXunyu2Oiz1r3/wAE=' 'sha256-OCf+kv5Asiwp++8PIevKBYSgnNLNUZvxAp4a7wMLuKA=' 'sha256-h5LOiLhk6wiJrGsG5ItM0KimwzWQH/yAcmoJDJL//bY='; worker-src *.fastly-insights.com
content-encoding: gzip
etag: "n+r7sbz58g2T+tp/fTIbdA"
content-type: text/html; charset=UTF-8
accept-ranges: bytes
date: Sat, 11 Oct 2025 06:49:51 GMT
x-served-by: cache-iad-kiad7000175-IAD, cache-iad-kiad7000175-IAD, cache-bom-vanm7210032-BOM
x-cache: MISS, HIT, MISS
x-cache-hits: 0, 5, 0
x-timer: S1760165391.121915,VS0,VE201
vary: Cookie, Accept-Encoding
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-frame-options: deny
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
permissions-policy: publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
content-length: 13944
pudb · PyPI
Skip to main content
Switch to mobile version
Warning
Some features may not work without JavaScript. Please try enabling it if you encounter problems.
A full-screen, console-based Python debugger
Project description
Its goal is to provide all the niceties of modern GUI-based debuggers in a
more lightweight and keyboard-friendly package. PuDB allows you to debug code
right where you write and test it–in a terminal.
Here are some screenshots:
Light theme
Dark theme
You may watch screencasts too:
Features
Syntax-highlighted source, the stack, breakpoints and variables are all
visible at once and continuously updated. This helps you be more aware of
what’s going on in your program. Variable displays can be expanded, collapsed
and have various customization options.
Pre-bundled themes, including dark themes via “Ctrl-P”. Could set a custom theme also.
Simple, keyboard-based navigation using single keystrokes makes debugging
quick and easy. PuDB understands cursor-keys and Vi shortcuts for navigation.
Other keys are inspired by the corresponding pdb commands.
Use search to find relevant source code, or use “m” to invoke the module
browser that shows loaded modules, lets you load new ones and reload existing
ones.
Breakpoints can be set just by pointing at a source line and hitting “b” and
then edited visually in the breakpoints window. Or hit “t” to run to the line
under the cursor.
Drop to a Python shell in the current environment by pressing “!”.
Or open a command prompt alongside the source-code via “Ctrl-X”.
PuDB places special emphasis on exception handling. A post-mortem mode makes
it easy to retrace a crashing program’s last steps.
Ability to control the debugger from a separate terminal.
IPython integration (see wiki )
Should work with Python 3.6 and newer. (Versions 2019.2 and older continue
to support Python 2.7.)
Development Version
You may obtain the development version using the Git
version control tool.:
git clone https://github.com/inducer/pudb.git
You may also browse the code online.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names .
The dropdown lists show the available interpreters, ABIs, and platforms.
Enable javascript to be able to filter the list of wheel files.
Copy a direct link to the current filters
Copy
File name
Interpreter
Interpreter
py3
ABI
ABI
none
Platform
Platform
any
File details
Details for the file pudb-2025.1.1.tar.gz
.
File metadata
Download URL: pudb-2025.1.1.tar.gz
Upload date:
Sep 23, 2025
Size: 224.8 kB
Tags: Source
Uploaded using Trusted Publishing? No
Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
Hashes for pudb-2025.1.1.tar.gz
Algorithm
Hash digest
SHA256
b7c245c7531c792643612620aa812b95ec80a22fd0e67bde4d84734692dc4b72
Copy
MD5
3def10c9ff8d1b58bce4c43f049933d0
Copy
BLAKE2b-256
22ff07063d2537502deef92692a314ac0eeacd9926c74bcf462ef75af23a510b
Copy
See more details on using hashes here.
File details
Details for the file pudb-2025.1.1-py3-none-any.whl
.
File metadata
Download URL: pudb-2025.1.1-py3-none-any.whl
Upload date:
Sep 23, 2025
Size: 92.6 kB
Tags: Python 3
Uploaded using Trusted Publishing? No
Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
Hashes for pudb-2025.1.1-py3-none-any.whl
Algorithm
Hash digest
SHA256
b37134b3fb6d5f725d701536f2c3938c298575b3702a732211010eb459e4014e
Copy
MD5
9e7471e9256edc9c1e144d871d91a0b1
Copy
BLAKE2b-256
849d1c9f26106e043dc12e3a7e0a9cadbc005a3669378d0503a1a23b6a1bacc5
Copy
See more details on using hashes here.