It's the first thing i install in my virtualenvs. Much better then the standard interactive console and just works out of the box.
If you don't want more then tab completion, docstrings and a working command history between sessions it is great!
For more stuff, see ipython.
There aren't any comprehensive list that I know of which lists the features of each interpreter.
as to bpython vs ipython, last tested it out, bpython still lacked a core feature that ipython has, which is a shell-style history. I can't mention how often I am thinking "hmmm, did'nt I write something like that before", and search backward to find something I wrote a half year ago, or say yesterday...
This is a great project that's been posted here on HN a couple of times already. I like this project a lot but I can't use it on my Mac because it swallows all the libedit/readline keyboard shortcuts I've come to expect from any REPL. Shame.
This is one thing I actually have missed - if I'd known about all the nice readline key commands when I first started writing bpython I would've definitely included them. You're welcome to implement this yourself ! Otherwise, I guess it's just a matter of waiting until somebody else has enough time and enthusiasm to do it. Maybe I'll even do it myself one day ...
I prefer bpython over iPython for a bunch of reasons that I can't easily elaborate on from here on my mobile, but is definitely suggest people try them both out.
EDIT: Also, I have used bpython, but since I use python more on the data side as opposed to web (or something not data) IPython along with everything else make it too good to not use.
Hi there. It looks like IPython is definitely the better choice for you - I never wanted to add IDE-like features to bpython; I just wanted it to work the same as the regular shell but with a bunch of nice features on top. If you want something more complex, or something with more specialisation is certain areas then IPython is probably the better choice. Especially with the recent funding they've received I expect it will just get better and better. :)
Quick warning: Bpython crashes if you need to resize the terminal on OS X. And because it truncates the output to what can fit on the screen, it's essentially unusable for things with a long output. (Because if you need to scroll or resize the window to see the full output, it will crash.) It's amazingly good for most things, but occasionally I need to switch back to the default interpreter.
I can't say I've ever experienced this. I'll certainly try to reproduce when I get home.
Also bpython has a pager (F9), so it's definitely fine for long output. The interpreter also will write all output to stdout on quit, so you can do what you'd like then too.
I can't say I ever use the vanilla interpreter anymore other than when testing a bpython bug.
I just got this when doing print 10xx10000. Sometimes it crashes the first time I resize the terminal, sometimes I need to resize it a few times quickly. If you send me a note I can email you the error I get when it crashes.
I assume you're using an up-to-date version of bpython ? I remember dealing with this kind of stuff a lot in the past (curses is terrible at this kind of thing) and I had considered it fixed, so please do send us bug reports if possible. (https://bitbucket.org/bobf/bpython/issues?status=new&sta...)
ipython can also be pretty at least when using the Qt console, for example it can embed pymatlib plots and sympy formulas inline instead of opening them in a window. I'm not sure whether bpython can do this.
I don't know if it's still like that, but last time I checked, I had to invoke
python -m bpython.cli
instead of just bpython to get autocompletion for packages in your load path. This project hasn't seen any commits since last March. If anyone is up for it, it can really use some help. It's a very promising project and I like it a lot, if only it didn't have those couple of annoyances... Too bad I have no time to contribute, I have 3 projects of my own to deal with...
First thing's first: I'm not sure when you last tried bpython, but simply running "bpython" will provide import completion for your pwd.
As for there having been no commits since last March, well I'm not sure where you found that information - please see commit history on bitbucket page: https://bitbucket.org/bobf/bpython/commits
I started work on bpython about 5 years ago. These days I essentially don't do any work for it, but there are a couple of people who still take care of issues when they have time. It seems most people are pretty much satisfied with the project. If they aren't, I encourage them to either look at the open issues and try to close some of them, or try an alternative like IPython or DreamPie (IPython specifically just got a huge financial grant for development costs so it should be seeing a lot of work being done on it - should be very interesting to see what those guys do).
Either way, it just seemed a little odd to me to see bpython described as a "promising project" (after citing two falsehoods about the project) when I personally consider bpython as "complete" to a certain extent (and for any sane meaning of the word in software). Sure there are things I'd like to add, but bpython does exactly what I want and I rarely feel that there is something missing.
For those that disagree, either bpython is not for you (there are some great alternatives), or it is time to fork the project and send us your pull requests - we'll be very grateful for them. :)
I'm finding it extremely buggy. For example - pressing F8 when no code has been entered yet causes a TypeError. I will post this on the mailing list but considering it's an old (~4yrs?) project I'm surprised such issues haven't been fixed.