PlayerPiano amazes your friends by running Python doctests in a fake interactive shell.
Python
Latest commit 71bcc9c Mar 2, 2014 @wearpants add gitignore
Permalink
Failed to load latest commit information.
playerpiano
.gitignore add gitignore Mar 2, 2014
CHANGELOG add changelog, bump license year Mar 2, 2014
CONTRIBUTORS add contributors file Mar 2, 2014
LICENSE add changelog, bump license year Mar 2, 2014
MANIFEST.in add changelog, bump license year Mar 2, 2014
README.rst small documentation updates Mar 2, 2014
VERSION version bump Mar 2, 2014
sample.txt package Nov 15, 2010
setup.py small documentation updates Mar 2, 2014

README.rst

PlayerPiano

PlayerPiano amazes your friends by running Python doctests in a fake interactive shell.

See the PlayerPiano PyPI page for more info, or this blog post for a demo.

playerpiano plays back a recorded shell session in a terminal.

recorderpiano can be used to record a shell session for later playback.

Usage

Run playerpiano <options> <FILE>, where FILE is a file containing doctests or the name of a module. Do not pass mymodule.py directly, it will confuse the doctest parser. Use mymodule instead.

Pressing any keys will type source lines, stop at the end of each source block.

Press enter to show the results block.

EOF (^D) will exit the program at the end.

Break (^C) will interrrupt the program immediately.

Options

The --color option will syntax-highlight source lines. It is currently hard-coded for a black background terminal.

The --no-terminal option will disable output on the main terminal. This is less than useful at present.

The --fifo option takes the name of a fifo to duplicate output to. After starting playerpiano with this option, you must run cat name_of_fifo in another terminal before any output will be displayed. This is useful when presenting using a projector. Start a second xterm & run cat, then put it on the overhead (with the main terminal on your laptop). This allows you to see what you're doing.