the boldly indiscriminate python interpreter

"...because you shouldn't have to choose."

PROLOGUE

Two interpreters, both alike in dignity,

In fair Pythona, where we lay our scene,

From ancient grudge break to new mutiny,

Where civil code makes git commits unclean.

From forth the fatal loins of these two foes

A newer kind of stranger's given life;

Whose misadventured piteous overthrows

Doth with its birth bury its parents' strife.

ACT I

Enter bpython and ipython

bpython

I'm a fancy terminal-based interface to the Python interpreter. I give you

inline syntax highlighting and auto-completion prompts as you type, and I'll

even automatically show you a little tooltip with a docstring and parameter

list as soon as you hit ( to make the function call, so you always know

what you're doing! I'm svelte and proud of it - I don't try to do all of the

shenanigans that ipython does with the shell and the web, but the cool kids

love my rewind feature for demos. I strive to make interactive python coding

a joy!

ipython

I'm an awesome suite of interactive computing ideas that work together.

For millennia, I've given you tab-completion and object introspection via

obj? instead of help(obj) in Python. I also have sweet shell features,

special magic commands (%run, %timeit, %matplotlib etc.) and a

history mechanism for both input (command history) and output (results

caching). More recently, I've decoupled the REPL into clients and kernels, allowing

them to run on independent of each other. One popular client is the

IPython Notebook which allows you to write code and prose using a web

browser, sending code to the kernel for execution and getting rich media

results back inline. The decoupling of clients and kernels also allows

multiple clients to interact with the same kernel, so you can hook-up to

that same running kernel from the terminal. The terminal workflow makes

more sense for some things, but my user interface there isn't as polished

as bpython's.

Enter bipython

bipython

By your powers combined... I am bipython!

Exeunt

pip install bipython easy_install bipython

bipython requires ipython, pyzmq, bpython, and urwid.

For now, you'll need to have a running ipython kernel before running bipython. You can do this by either opening a notebook or running ipython console. It won't always be like this, I'll fix it as soon as I can, but it'll be sooner with your help over at ivanov/bipython.

After that, just run bipython and enjoy the ride.

Here's a walkthrough of ipython, bpython, and bipython:

The screencast is 20 minutes long, but here I'll play it back triple speed. There's no sound, and you can pause at any time (lover left corner), seek around (put your mouse over the last line to reveal a progress bar you can click on to go to that portion of the screencast). bipython portion starts 10 minutes in (half-way). You can also select / copy portion of the text as you like. Changing the browser font size in the usual way works, too. (click here if the embed didn't work, or if you want to watch it in real-time, without the speedup).