Spyce - Python Server Pages 2.1.3 review

by rbytes.net on

SPYCE is a server-side language that supports simple and efficient Python-based dynamic HTML generation, otherwise called Python Serv

License: GPL (GNU General Public License)
File size: 0K
Developer: Rimon Barr
0 stars award from rbytes.net

SPYCE is a server-side language that supports simple and efficient Python-based dynamic HTML generation, otherwise called Python Server Pages (PSP).

Those who are familiar with JSP, PHP, or ASP and like Python, should have a look at Spyce. Its modular design makes it very flexible and extensible. Spyce - Python Server Pages can also be used as a command-line utility for static text pre-processing or as a web-server proxy.

The supported adapters are:

* Fast CGI:The default Spyce integration with Apache is acheived via FastCGI, a CGI-like interface that is relatively fast, because it does not incur the large process startup overhead on each request.

* mod_python: If you really must have the fastest Spyce implementation (see the performance numbers), it is currently through an Apache module called mod_python. Spyce has been tested with mod_python version 2.7.6 (and version 3.0.3 with apache 2.0.37). You can try to find some mod_python rpms here, but in general one must compile mod_python from sources. The reason for this is because mod_python links with the Python library it finds on your system at compile time. Thus, even if you have the correct Python version installed on your system, mod_python will be using the Python library version on the system where it was compiled. Also, note that mod_python (or rather Apache) needs a Python that has been compiled without threading, so you may need to recompile Python as well for this reason. The process is not very difficult (just the usual: ./configure; make; make install dance), but hopefully someone will suggest a better route in time. In any case, make sure you can first get mod_python running on your system, if that is that is your chosen Apache integration route.

* Web server: Another fast alternative is to serve Spyce files via a proxy. This involves running Spyce in web-server mode, and configuring the main web server to forward the appropriate requests. The built-in Spyce web server can also be used to serve requests directly, but this is highly discouraged for production environments.

* CGI: Failing these alternatives you can always process requests via regular CGI, but this alternative is the slowest option and is intended primarily for those who do not have much control over their web environments.

* Command line: Lastly, one can use Spyce as a command-line tool for pre-processing Spyce pages and creating static HTML files.

Spyce (the core engine and all the standard modules) currently requires Python version 1.5 or greater, and Apache version 1.3.x or greater.
However, Spyce is developed and tested mostly with Python version 2.2.x, and using Apache version 2.0.x.
Spyce currently does not require thread support. Spyce uses no version-specific Apache features. It is highly recommended that you use Python version 2.1 or higher, because certain common operations can be difficult without the new nested scoping functionality.

What's New in This Release:
db module requires PK definition up-front (instead of erroring out later)
default login render tags give better feedback on unsuccessful login
raise NameError instead of string exception for invalid eval'd tag attributes
fixes for spyceProject
fix kwargs render-through on spy: list and table tags
fix auto-selecting of multiple defaults in compound controls
fix for class-based exceptions in old-style tag exception handlers

Spyce - Python Server Pages 2.1.3 search tags