Release of bpython 0.13

Skip to first unread message

Simon de Vlieger

May 13, 2014, 8:13:54 AM5/13/14
Hello mailing group readers,

Today we release a pretty big milestone release for bpython: 0.13. (hopefully not to be followed by 0.13.1 that quickly but package maintainers might want to hold off for a day or two; with our track record over the past two releases).

Please check out the changelog below for full notes, but the highlights: 

- Dictionary key completion! 
- Edit the current line in an external editor with ctrl-x! 
- The new curtsies frontend, which is bpython with native terminal scrolling! And a lot of bugfixes.

Please check out curtsies. My/our planning is to do a lot of work on removing and merging frontend for 0.14 and one of my things is pushing for the great work Thomas has done to become the default frontend. Come discuss my cleanup efforts with me in the IRC mentioned at the end of this email. You can run the new frontend with either `bpython-curties` or `python -m bpython.curtsies`.

Frontend dependencies are now installable with extras pip syntax, so pip install commands
pip install bpython[curtsies]
pip install bpython[urwid]
will install the dependencies for curtsies and urwid frontends.

You can fetch the new release from our releases index as usual at:

or you can use the PyPI where the package has been uploaded as this message reaches your inboxes.

Before I get pinged a lot. I have not yet updated the docs website but will do so later today, my automatic renderer is broken or such.

If there are any bugs do not hesitate to come tell us on IRC at #bpython
on the Freenode network or through our bugtracker at:

I'm also looking at moving us off of bitbucket and onto github, if you want to talk to me about the pros/cons of that don't hesitate to respond here or start a new thread.


Simon de Vlieger



There are a few new features, a bunch of bugfixes, and a new frontend
for bpython in this release.

* Dictionary key completion, thanks to Maja Frydrychowicz (#226).
  To use normal completion and ignore these key completions, type a space.
* Edit current line in external editor with ctrl-x (#161)


* Python 2.5 compatibility, thanks to Michael Schuller (#279). Python 2.5
  is not officially supported, but a few changes Michael introduced, he
  says it's working fine.
* FakeStream has flush(), so works correctly with thanks to Marc Sibson (#259)
* FakeStdin has fileno() (#232)
* Changes to sys.ps1 and sys.ps2 are respected thanks to Michael Schulle (#267)
* atexit registered functions run on exit (#258)
* fixed an error on exit code when running a script with bpython (#260)
* extras are used to describe frontend dependencies
* Theme paths and docs updated
* Translation files updated

There's a new frontend for bpython: bpython-curtsies. Curtsies is a terminal
wrapper written to making native scrolling work in bpython. (#56, #245) 
Try bpython-curtsies for the bpython experience with a vanilla python
layout. (demo:

This curtsies frontend addresses some issues unfixed in bpython-cli, and has
a few extra features:

* Editing full interpreter history in external editor with F7, which is rerun
  as in rewind
* A new interpreter is used for rewind, unless bpython-curtsies was started
  with custom locals or in interactive mode (#71)
* Ctrl-c behaves more like vanilla python (#177)
* Completion still works if cursor at the end of the line (#147)
* Movement keys meta-b, meta-f, and meta-backspace, ctrl-left and ctrl-right
  are all honored (#246, #201)
* Non-ascii characters work in the file save prompt (#236)
* New --type / -t option to run the contents of a file as though they were
  typed into the bpython-curtsies prompt

A few things about bpython-curtsies are worse than regular bpython:

* Bad things can happen when using several threads (#265)
* output prints slowly (#262)
* bpython-curtsies can't be backgrounded and resumed correctly (via ctrl-z,
  fg) (#274)

There are two new options in the new [curtsies] section of the bpython config

* list_above: whether completion window can cover text above the current line;
  defaults to True
* fill_terminal: whether bpython-curtsies should be fullscreen (like bpython);
  defaults to False


May 24, 2014, 12:29:26 AM5/24/14
I'm also looking at moving us off of bitbucket and onto github...

See "tragedy of the commons".

I understand that people like github.  But for choice to survive, and for the (superior in a few ways) platforms of bitbucket and mercurial to prosper and remain viable, we can't have every product running over there. 

Remember what happened when Microsoft became the only choice--the PC industry was retarded for over a decade.  It took none other than the mobile paradigm shift to get out from the yoke.



Sebastian Ramacher

May 27, 2014, 6:32:00 AM5/27/14
On 2014-05-23 21:29:26, Mike wrote:
> >
> > I'm also looking at moving us off of bitbucket and onto github...
> >
> See "tragedy of the commons".
> I understand that people like github. But for choice to survive, and for
> the (superior in a few ways) platforms of bitbucket and mercurial to
> prosper and remain viable, we can't have every product running over there.

The impotant thing is to move away from mercurial. It's fairly safe to
say that nobody commiting code to bpython is enjoying mercurial anymore.
The initial bunch of commits for curtsies support has been merged from a
git repository. All the things I've commited in the last year or so were
commited and pushed via git-remote-hg. But this is a work around and I
really want to have a native git repository.

I don't care much if the git repo lives on github or bitbucket. Both of
them are annoying in one way or another.

Sebastian Ramacher

Bob Farrell

May 27, 2014, 6:32:24 AM5/27/14
Hi Mike,

In my opinion hg is inferior to git, and people generally prefer github to bitbucket (myself included). This is the only motivation for the switch.

I agree that competition is healthy but I'm afraid I don't care much for politics - it's not something that I enjoy getting involved in and it doesn't motivate my decisions. I think that those who do care about the political aspect of this should focus on improving the competitors rather than encouraging people to use them. :)

That's my stance on it, I hope you don't take offence to my apathy !

You received this message because you are subscribed to the Google Groups "bpython" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
Visit this group at
For more options, visit

Reply all
Reply to author
0 new messages