• Stars
    star
    2,778
  • Rank 16,396 (Top 0.4 %)
  • Language
    Python
  • License
    Other
  • Created over 13 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Full-screen console debugger for Python

PuDB: a console-based visual debugger for Python

Gitlab Build Status

Github Build Status

Python Package Index Release Page

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

    image

  • Dark theme

    image

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.)

PuDB documentation

PuDB also has a mailing list that you may use to submit patches and requests for help. You can also send a pull request to the GitHub repository

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.

More Repositories

1

pycuda

CUDA integration for Python, plus shiny features
Python
1,613
star
2

pyopencl

OpenCL integration for Python, plus shiny features
Python
986
star
3

loopy

A code generator for array-based code on CPUs and GPUs
Python
586
star
4

meshpy

2D/3D simplicial mesh generator interface for Python (Triangle, TetGen, gmsh)
C++
441
star
5

relate

RELATE is an Environment for Learning And TEaching
Python
375
star
6

cgen

C/C++ source generation from an AST
Python
146
star
7

pymetis

A Python wrapper around Metis, a graph partitioning package
C
124
star
8

pymbolic

A simple package to do symbolic math (focus on code gen and DSLs)
Python
106
star
9

languages-and-codegen-tutorial

A tutorial on defining domain-specific languages and transforming them to high-performance code
Jupyter Notebook
76
star
10

pycparserext

Extensions for Eli Bendersky's pycparser
Python
75
star
11

islpy

Python wrapper for isl, an integer set library
Python
73
star
12

pytools

Python
67
star
13

boxtree

Quad/octree building for FMMs in Python and OpenCL
Python
64
star
14

compyte

A common set of compute primitives for PyCUDA and PyOpenCL
Python
57
star
15

codepy

Generate and execute native code at run time, from Python
Python
48
star
16

numerics-notes

Slides/notes and Jupyter notebook demos for an introductory course of numerical analysis/scientific computing
Jupyter Notebook
31
star
17

sumpy

Symbolic code generators for multipole and local expansions and translations
Python
30
star
18

hedge

Hybrid-and-Easy Discontinuous Galerkin Environment
Python
30
star
19

meshmode

High-order unstructured mesh representation and discrete function spaces
Python
26
star
20

gmsh_interop

Interoperability with Gmsh for Python
Python
26
star
21

pytential

Evaluate layer and volume potentials accurately. Solve integral equations.
Python
25
star
22

genpy

An AST for Python code generation, in Python
Python
22
star
23

arpack

Distribution of ARPACK with various bug fixes
Fortran
21
star
24

pyvisfile

Large-scale Visualization Data Storage in Python
Python
21
star
25

numpde-notes

Slides/notes and Jupyter notebook demos for an introductory course of numerical methods for PDEs
Jupyter Notebook
17
star
26

modepy

Modes and nodes for high-order discretizations
Python
16
star
27

relate-sample

Example course for RELATE
Jupyter Notebook
15
star
28

pyfmmlib

Python wrappers around fmmlib{2,3}d by Greengard/Gimbutas
Python
14
star
29

grudge

Grand Unified Discontinuous Galerkin Environment? A DG code in training.
Python
13
star
30

pdf2data

Tools for extracting tabular data from PDFs, using pdfminer
Python
11
star
31

pytato

Lazily evaluated arrays in Python
Python
11
star
32

pyublas

Seamless Numpy-UBlas interoperability
C++
11
star
33

tagpy

Python wrapper around TagLib. See https://github.com/palfrey/tagpy for a maintained fork.
Python
10
star
34

2020-geilo-gpu-python

Notebooks for lectures on abstractions for GPU programming at the 2020 Geilo winter school
Jupyter Notebook
9
star
35

lecture-tube

Set of scripts and web stuff for showing recorded lectures online
JavaScript
9
star
36

interacticrop

See a PDF page, click twice, get a cropped PDF as output
Python
8
star
37

isl

Mirror of Sven Verdoolaege's isl at http://repo.or.cz/w/isl.git (occasionally with changes for islpy)
C
7
star
38

arraycontext

Choose your favorite numpy-workalike!
Python
6
star
39

illinois-poster-template

University of Illinois Beamer Poster Template
TeX
6
star
40

bpl-subset

Subset of Boost sufficient to build PyCUDA and PyOpenCL
C++
5
star
41

fast-alg-ie-notes

Lecture notes for "Fast Algorithms and Integral Equations"
Shell
5
star
42

cnd

A preprocessor that gives C multi-dimensional arrays
Python
5
star
43

datapyle

Tools and libraries for gathering and analyzing data
Python
4
star
44

aksetup

Andreas' Python setup helper script
Python
4
star
45

edit-on-web

Edit files in a local directory through a web browser (using CodeMirror)
JavaScript
4
star
46

2019-vt-python-gpu

Notebooks for a 2019 Python+GPU guest lecture at Virginia Tech
Jupyter Notebook
4
star
47

barvinok

Mirror of git://repo.or.cz/barvinok.git, because that repo appears to be down frequently
C
4
star
48

ixlib

C++
3
star
49

brown-beamer

Beamer template for Brown University
TeX
3
star
50

jhbuild

Fork of jhbuild to build stuff useful for my packages
Python
3
star
51

synoptic

An AJAXy notes manager (and calendar!)
JavaScript
3
star
52

math-experiments

Notebooks for "Math with Experiments" at Centennial in R
Jupyter Notebook
3
star
53

screencast

Scripts for screencasting with gstreamer
Shell
3
star
54

gradebook

A grade book application based on Camelot
Python
2
star
55

pyublasext

Extensions to PyUblas
Python
2
star
56

gpu-buffer-interface

An OpenCL/CUDA analog for the new-style Python buffer interface
Python
2
star
57

pyrecious

A Bejeweled clone in Python
Python
2
star
58

splash-activities

Simulation activities for after-school programs
Jupyter Notebook
2
star
59

multigrid-notes

Lecture notes for "Multigrid Methods" by Christian Wieners, Summer 2005, Uni Karlsruhe
Tcl
2
star
60

codery

A web application for content analysis/coding in the social sciences
Python
2
star
61

rates-of-change-relate

Middle/High School Activities introducing Coding and Differential Equations
2
star
62

xmpp-popup

Listen on an XMPP account, show popups on the bottom right of a desktop
Python
2
star
63

xournal

Fork of http://sourceforge.net/p/xournal/code/ci/master/tree/ with a few patches
C
2
star
64

pywannier

Generate maximally localized Wannier functions in Python, accompanies my Diplom thesis
Python
2
star
65

repotool

Multi-repository management hack
Shell
2
star
66

config-and-scripts

Andreas's dotfiles and random scripts
Emacs Lisp
2
star
67

expensely

Expense tracking in a shared household
Python
1
star
68

wam

An attempt at a Worms(tm) clone
C++
1
star
69

course-tools

Some ad-hoc tools for university courses, mainly at UIUC
Python
1
star
70

starlark-pyo3

A Python wrapper for starlark-rust
Rust
1
star
71

pydgeon

Python DG code for teaching/demonstration
Python
1
star
72

m2sci

An old Matlab-to-scilab conversion program
OCaml
1
star
73

uih

Unicode Input Helper
Python
1
star
74

thesis-experiments

Code for numerical experiments to go along with my PhD thesis
Python
1
star
75

ipython-demo-tools

Some helper scripts to present interactive demos with IPython
Python
1
star
76

pyrticle

A high-order PIC code using Hedge
Python
1
star
77

researchgroup-django

A Django application for a research group web site, including preprints, seminars, and classes
Python
1
star
78

257-notes

Lecture notes for Chi-Wang Shu's AM257 (Numerics for Conservation Laws) in the fall of 2006
Tcl
1
star
79

monitor-process-mem

Monitor process memory use over time, plot result
Python
1
star
80

ply-git

Git mirror of the PLY svn repository
Python
1
star
81

geometries

Repository of CAD geometries to test PDE solvers
1
star
82

dagrt

A concurrent runtime for DAG-based evaluation of expressions
Python
1
star
83

analysis-aufschrieb

Lecture notes from Gerd Herzog's Analysis I-III, and H-P Rehm's Algebra I, both at Uni Karlsruhe - https://mathema.tician.de/academic/notes/
TeX
1
star
84

floopy

Fortran frontend to Loopy
1
star
85

mini-ispc-jit

Example for how to do DSO-based JIT using ispc
C++
1
star
86

prelimbook

A catalog for protocols of oral exams (as often created by students to help future students prepare)
Python
1
star
87

pde-notes

Notes for Govind Menon's AM223 (PDE 1) at Brown in the fall of 2005. (Only the "second half", because Govind had typed notes for the first)
Tcl
1
star
88

iterative-cuda

Iterative methods (Conjugate Gradients) on sparse matrices for CUDA
C++
1
star