Data Explorer
Project description
Provides following utilities for debugging Python applications:
show - lightweight function that prints name and value of your variable(s) to the console.
peep - featured, interactive interface for data inspection.
Installation
Install peepshow package:
pip install peepshow
Built-Ins
If you expect to use peepshow often, consider adding peep and show commands to Python’s built-ins. Edit either {site-packages}/sitecustomize.py or {user-site-packages}/usercustomize.py and append the following:
import peepshow
import builtins
builtins.peep = peepshow.peep
builtins.show = peepshow.show
builtins.peep_ = peepshow.peep_
builtins.show_ = peepshow.show_
Alternatively let the installer do it for you by installing package like this:
pip install peepshow --install-option="--add-builtins"
Note that pip uninstall peepshow command will not undo this change. You need to do it manually.
Breakpoint
It is also possible to invoke peep() as a result of calling built-in function breakpoint(). To enable such behaviour use PYTHONBREAKPOINT system variable:
export PYTHONBREAKPOINT=peepshow.peep
Usage
show
Running this script:
x = 123
y = {'name': 'John', 'age': 123}
z = "Hello World!"
# show all the variables in the scope
show()
# or only variables of your choice
show(x, y)
# you can also rename them
show(my_var=x)
# use 'show_' to specify variable names as a string
show_('x')
# expressions and renaming are also allowed
show_('x + 321', zet='z')
will result in following output:
x = 123
y = {'age': 123, 'name': 'John'}
z = 'Hello World!'
x = 123
y = {'age': 123, 'name': 'John'}
my_var = 123
x = 123
x + 321 = 444
zet = 'Hello World!'
peep
Try to run the following script:
x = 123
y = {'name': 'John', 'age': 123}
z = "Hello World!"
# inspect dictionary that consists of all the variables in the scope
peep()
# or inspect variable of your choice directly
peep(x)
# use 'peep_' to specify variable name as a string
peep_('x')
When interactive interface pops up:
hit ENTER to see list of available variables
type 10 and hit ENTER to select y
hit ENTER again to see items of your dictionary
type dir and hit ENTER to list attributes of y (excluding built-ins)
type continue and hit ENTER to proceed or type quit and hit ENTER to terminate your script
Note that all the commands have their short aliases. E.g. quit and q is the same.
For more help:
type help and hit ENTER to see list of available commands
type man and hit ENTER to read the manual, hit q when you are done
Development
Preparing Environment
./setup.sh
source venv/bin/activate
Modifying Dependencies
# edit setup.py
# edit requirements*.in
pip-compile
pip-sync
# git add... commit... push...
Testing
pytest
Releasing
# update version in setup.py
python setup.py sdist
twine upload dist/peepshow-$VERSION.tar.gz
git tag $VERSION
git push --tags
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.