Why does IPython get all the love? I tried it out back in the day, but it was not very impressive. bpython is much better, but doesn't seem to get as much attention.
It's also been around longer than bpython. IPython started in 2001 while bpython is from 2009.
The current IPython has several GUI interfaces, including through a web browser, with the goal of supporting a graphical notebook with embedded plots and other images. bpython does not support that.
There are very few tools in the extended REPL space. I think software developers don't spend as much time on the interactive shell as computational scientists, and those developers that do may augment the shell with, say, the emacs shell rather than develop a new interactive interface. So an early tool which works reasonably well, which has been around for a while, with few competitors, and has outreach and updates based on user needs, will tend to be more widely used.
How long ago was 'back in the day'? Development has really picked up since about 2011, and it's become much more than just a shell. IPython has a particular focus on scientific computing, and how we can mix ad-hoc exploratory computing with recorded, repeatable computing, which leads to tools like the notebook.
If bpython does what you want, that's great. But the equivalent functionality is just one part of IPython.
bpython is a very nice lightweight replacement for the standard Python interpreter. Nothing but <3 for bpython. But it's not really comparable in scope and capabilities to IPython; the latter is much more heavy-weight but for myriad good reasons.
- Will bpython allow me to control a cluster of python processes to perform my scientific computation?
- Will bpython allow me to create executable documents mixing markdown as well as LaTeX so that I can display mathematical equations?
- Does bpython have integrated matplotlib support, so that the GUI thread of matplotlib runs in a separate thread and won't block the interpreter?
IPython is much more than just an interactive shell, even though the name doesn't suggest more than that.