PyRepl 0.8.1

Michael Hudson mwh@python.net
Tue, 25 May 2004 13:29:03 +0100


A couple of weeks ago, I released but didn't get around to announcing 
PyRepl 0.8.1.

PyRepl is a readline-a-like in pure Python, a library for building 
flexible command line interfaces.

It requires python 2.2 (or newer) with the curses and termios modules 
built and features:

  * sane multi-line editing
  * history, with incremental search
  * completion, including displaying of available options
  * a fairly large subset of the readline emacs-mode keybindings
    (adding more is mostly just a matter of typing)
  * a liberal, Python-style, license
  * a new python top-level
  * no global variables, so you can run two or more independent readers
    without having their histories interfering.
  * no hogging of control -- it should be easy to integrate pyrepl into
    YOUR application's event loop.
  * generally speaking, a much more interactive experience than readline
    (it's a bit like a cross between readline and emacs's mini-buffer)
  * unicode support (given terminal support)

As I never got around to announcing 0.8.0, a summary of changes from 
the last widely announced version (0.7.2):

Summary of changes in 0.8.1:
  + Fixes
    - in the area of unbound keys and unknown commands
    - in quoted-insert
    - in unicode support
  + make Reader and subclasses new-style classes
    - make the inheritance hierachy look like this
                      Reader
                     /      \
       HistoricalReader   CompletingReader
                     \      /
                 PythonicReader
      Turns out I've been wanting new-style classes since before they 
existed!
    - needed to slightly change the way keymaps are built

Summary of changes in 0.8.0:
  + A whole bundle of things.
    - unicode support (although working out what encoding the terminal
      is using can be "tricky")
    - internal rearchitecting
    - probably a bunch of new bugs...
  + Development and web-presence moved to codespeak.net

Cheers,
mwh