# pyrepl /

Filename Size Date modified Message
pyrepl
3.0 KB
350 B
847 B
52 B
698 B
2.9 KB
517 B
3.4 KB
5.6 KB
3.9 KB
1.2 KB
1.8 KB

This is pyrepl 0.8, a readline-a-like in Python.

http://pyrepl.codespeak.net/

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 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)

There are probably still a few little bugs & misfeatures, but _I_ like it, and use it as my python top-level most of the time.

To get a feel for it, just execute:

$python pythoni (One point that may confuse: because the arrow keys are used to move up and down in the command currently being edited, you need to use ^P and ^N to move through the history) If you like what you see, you can install it with the familiar$ python setup.py install

which will also install the above "pythoni" script.

(If you've released open source software you'll know how frustrating it is to see a couple of hundred downloads and only get a handful of emails, so don't think I'll be irritated by the banality of your comments!)

Summary of 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

Summary of new stuff in 0.7.1:
• A non-broken setup.py...
Summary of new stuff in 0.7.0:
• Moved to a package architecture.

• Wrote a (very simple!) distutils setup.py script.

• Changed the keyspec format to be more sensible. See the docstring in pyrepl/keymap.py for more information.

• Portability fixes.

• Various tortuous changes to use 2.2 features where possible but retaining 2.1 support (I hope; haven't got a 2.1 here to test with).

• Jumping up and down on control-C now shouldn't dump you out of pyrepl (via a large hammer kind of approach).

• Bug fixes, particularly in the history handling stuff.

• reader.Reader has a new method, bind(), intended to be used by the user.

• Changes to the init file handling.

• Sundry code reorganization. Libraries built on top of pyrepl will probably require small modifications (but I'm not sure anyone has written any of these yet!).

• A prototypical pygame console.

-- see CHANGES for more details and older news