    Pyreb - Python Regular Expression Builder
    
    is a wxPython based tool that helps building Python Regular expressions
    URL: http://pyreb.nongnu.org
    License: GPL

--

Pyreb is Copyright (C) 2006 Giuseppe Corbelli

Pyreb is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Pyreb is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Pyreb; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

--

Pyreb is a wxPython GUI to the re python module; it will speed up the 
development of Python regular expression (similar to PCRE).
The GUI is simple and features 3 parts:
1) A text box where the text to be analyzed is displayed
2) A text box where the regular expression to be applied is displayed
3) A tree control where the results are displayed

When one of the two textboxes change the regex is compiled and applied. Errors
in the regex are shown in a statusbar.

Pyreb ships with a simple XMLRPC server that can be used to control pyreb
from an external application. It can be started using the 
Tools/Start XMLRPC Server
menu item or by specifying option "-s" on the command line.

The XMLRPC server understands 4 methods:
Pyreb.setText(Txt)
Pyreb.getText()
Pyreb.setRegex(Txt)
Pyreb.getRegex()
The first two get/set the text in the uppermost section, the last two get/set
the regex in the medium section. Once the text/regex is set the match is 
recalculated and shown, as it would happen in interactive usage.
The set methods return the text previously stored in the control.
A sample session:
>>> import xmlrpclib
>>> a = xmlrpclib.ServerProxy("http://localhost:17787")
>>> a.system.listMethods()
['Pyreb.getRegex', 'Pyreb.getText', 'Pyreb.setRegex', 'Pyreb.setText', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']
>>> a.Pyreb.setText("abc")
''
>>> a.Pyreb.getText()
'abc'
>>> a.Pyreb.setRegex('a?(bc){1,}')
''
These commands set the text 'abc' in the "Text to analyze" edit box, the regex
in the "Regex to apply" edit box and recomputes the match, shown in the
lower "Results" tree.

Command line options:
-s, --server
    Launch XMLRPC server at startup. Default: No
-p SERVERPORT, --port=SERVERPORT
    Port to which the XMLRPC server is bound. Default: 17787

Pyreb is somewhat similar to Activestate RX Toolkit (part of Komodo IDE), but
is a completely different project.

Developed on:
* GNU/Linux, Python 2.4, wxWidgets 2.6.1, wxGlade 0.4.0
* Windows XP, ActivePython 2.4, wxWidgets 2.6.1, wxGlade 0.4.0

Requirements:
* wxPython >= 2.6.0

See also:
* Python: http://www.python.org
* wxWidgets: http://www.wxwidgets.org
* wxPython: http://www.wxpython.org
* Python re module documentation: http://docs.python.org/lib/module-re.html

Similar projects:
* http://project5.freezope.org/kiki/index.html
* http://kodos.sourceforge.net

Bugs:
* None, I develop high quality software :-)

Additional Copyright notes:
* AUTHORS
* INSTALL
* MANIFEST.in
* README

in this directory are part of Pyreb.
