Divmod Nevow is a web application construction kit written in Python. It is designed to allow the programmer to express as much of the view logic as desired in Python, and includes a pure Python XML expression syntax named stan to facilitate this. However it also provides rich support for designer-edited templates, using a very small XML attribute language to provide bi-directional template manipulation capability.
Nevow also includes Divmod Athena, a "two way web" or "COMET" implementation, providing a two-way bridge between Python code on the server and JavaScript code on the client. Modular portions of a page, known as "athena fragments" in the server python and "athena widgets" in the client javascript, can be individually developed and placed on any Nevow-rendered page with a small template renderer. Athena abstracts the intricacies of HTTP communication, session security, and browser-specific bugs behind a simple remote-method-call interface, where individual widgets or fragments can call remote methods on their client or server peer with one method: "callRemote".
Before installing Nevow, you should install Twisted, unless you are going to write very simple CGI applications. Nevow integrates fully with the twisted.web server providing easy deployment.
Nevow uses the standard distutils method of installation:
python setup.py install
If you do not have Twisted installed, you can run a subset of the tests using the test.py script. If you have twisted installed, the test.py script will issue the following trial command:
trial -v nevow.test formless.test
More detailed introductory documentation is available in the doc/ directory, along with the beginnings of a reference manual. A large number of examples are available in the examples/ directory. These examples require Twisted to run. A tac file (twisted application configuration) can be started by invoking twistd, the twisted daemon:
twistd -noy foo.tac
Information about Nevow commits is available on GitHub. The Nevow git repository can be checked out using:
git clone https://github.com/twisted/nevow.git
Discussion of Nevow occurs on the twisted.web mailing list. The Nevow developers are also often available for real-time help on the #twisted.web channel on irc.freenode.net.