bpython - a fancy {curtsies, curses, urwid} interface to the Python interactive interpreter
Contents
Copyright
2008-2022 Bob Farrell, Andreas Stuehrk, Sebastian Ramacher, Thomas Ballinger, et al.
Jan 17, 2025 BPYTHON(1)
Description
The idea is to provide the user with all the features in-line, much like modern IDEs, but in a simple,
lightweight package that can be run in a terminal window.
In-linesyntaxhighlighting.
Highlights commands as you type!
Readline-likeautocompletewithsuggestionsdisplayedasyoutype.
Press tab to complete expressions when there's only one suggestion.
Expectedparameterlist.
This displays a list of parameters for any function you call. It uses the inspect module, then
tries pydoc.
Rewind.
This is a bit misleading, but it code that has been entered is remembered, and when you Rewind, it
pops the last line and re-evaluates the entire code. This is error-prone, and mostly useful for
defining classes and functions.
Pastebincode/writetofile.
This posts the current buffer to a pastebin (bpaste.net) or writes it to a file.
Flushcursesscreentostdout.
Unlike other curses apps, bpython dumps the screen data to stdout when you quit, so you see what
you've done in the buffer of your terminal.
Files
$XDG_CONFIG_HOME/bpython/config
Your bpython config. See sample-config (in /usr/share/doc/bpython/examples on Debian) for various options
you can use, or read bpython-config(5).
Keys
bpython's keys are fully configurable. See ‐
http://docs.bpython-interpreter.org/configuration.html#keyboardKnown Bugs
See http://github.com/bpython/bpython/issues/ for a list of known issues.
Name
bpython - a fancy {curtsies, curses, urwid} interface to the Python interactive interpreter
Options
The long and short forms of options, shown here as alternatives, are equivalent. If bpython sees an
argument it does not know, execution falls back to the regular Python interpreter.
The following options are supported by all frontends:
--config=<config>
Use <config> instead of default config file.
-h, --help
Show the help message and exit.
-i, --interactive
Drop to bpython shell after running file instead of exiting. The PYTHONSTARTUP file is not read.
-q, --quiet
Do not flush the output to stdout.
-V, --version
Print bpython's version and exit.
-l<level>, --log-level=<level>
Set logging level
-L<file>, --log-output=<file>
Set log output file
In addition to the above options, bpython also supports the following options:
-pfile, --paste=file
Paste in the contents of a file at startup.
In addition to the common options, bpython-urwid also supports the following options if Twisted is
available:
-r<reactor>, --reactor=<reactor>
Use Twisted's <reactor> instead of urwid's event loop.
--help-reactors
Display a list of available Twisted reactors.
-p<plugin>, --plugin=<plugin>
Execute a twistd plugin. Use twistd to get a list of available plugins. Use -- to pass options to
the plugin.
-s<port>, --server=<port>
Run an eval server on port <port>. This option forces the use of a Twisted reactor.
See Also
bpython-config(5), python(1)
Synopsis
bpython [options] [file [args]]
bpython-curses [options] [file [args]]
bpython-urwid [options] [file [args]]
