pyRAP is a framework for implementing extremely powerful and
beautiful web-based AJAX applications in pure Python. No HTML. No
JavaScript. No PHP. Just pure Python. It has been designed as a
lightweight, easy-to-use yet powerful library that makes development of
SaaS applications
as easy and fast as possible.

Short story: Do you know Eclipse’s RAP framework for writing web applications
in pure Java? It’s pretty cool. pyRAP is an attempt to transfer the same functionality to the world of Python.

Long story: pyRAP is a client-server architecture consisting of a JavaScript component running in the
client’s web browser and implementing the low-level user interaction and widget rendering functionality.
The server component is written in Python and exposes the pyRAPAPI
to the programmer. The two components communicate via a JSON-based
protocol that handles creation, position and disposition of controls, event handling such as mouse events,
and styling of widgtes. It is supposed to abstract away from the very technology-centric style of writing
web apps today, which in most cases incurs a wild mixture of different technologies like HTML,
JavaScript, CSS, PHP
and/or Flash. While pyRAP can make use of all these technologies on a low
level, it attempts to hide their specifics and peculiarities from the programmers so they can access them transparently
through a single coherent Python interface. This makes development more function-oriented and focussed on problem solving.

The showroom contains a couple of demo applications showcasing the possibilities
that the pyRAP framework offers.

The pyRAP Controls Demo demo app showcases the rich set of graphical widgets that
pyRAP offers. It is at the same time supposed to serve as a reference for
how to use them and how write web apps in with pyRAP. The source of the app
is shipped with pyRAP and can be found in the folder examples/controls.
You can try out the controls app at

pracmln is a artificial intelligence toolbox for statistical relational
learning developed at the University of Bremen. It provides a web interface
to the learning and reasoning algorithms for Markov logic networks, which
is entirely written in pyRAP. For further information about pracmln,
please visit the project webpage.

PRAC is a natural-language interpreter for robotic applications. It is
being developed by the Institute for Artificial Intelligence at the University
of Bremen and can be accessed via a web interface written in pyRAP.
For further infromation about PRAC, we refer to the project web page.