Version 3.0beta1 of The SkunkWeb Web Application Server has just been released.
This is the first public release of skunkweb. The license is the GPL.
What is it? ------------------------------ SkunkWeb is (yet another) web application server. The things that make it different from other app servers are:
Uses Python * Python is easy to learn for both new programmers and experts alike * senior programmer types like it too (vs. say tcl) * extensible with C/C++ for speed and/or linkage to C/C++ libraries via static *or* dynamic linking
Extensible * Relatively simple extension API * can easily handle authentication, custom url building/parsing schemes and custom tags
Encourages component based design * more than just "include" * not just another ASP/JSP like thing * a powerful templating language * encouraged by caching options (see below) * component output can be either HTML or Python objects * can write components in either STML or Python * can also call components on other skunkweb servers Message Catalogs * makes multi-lingual sites much easier * support variable substitution in messages
Speed * templates are compiled to Python bytecode * extensive caching (to disk and optionally memory) of: o compiled forms of templates o digested message catalogs o output of components o python modules and python components * cache *is* sharable between machines if using a shared filesystem! (can be more than one shared filesystem for speed, redundancy and flexibility) * caching is flexible and as finite as your disk space * components can be rendered after the response is sent if a slightly stale version is available --- resulting in better response times via deferred components
Documentation * extensive documentation available in HTML, PostScript, PDF & text --well not yet, but getting there * have automatic documentation tools to generate documentation for STML templates (but don't use the manual stuff, it sucks).
Process Model * Uses multi-process, versus multi-threading which makes better use of multiple processors (because of the global interpreter lock in Python), and is safer in that if one process crashes, it won't kill the entire server.
No magic (zodb <wink>).
The release is available from the SkunkWeb home page at http://skunkweb.sourceforge.net
or directly from http://prdownloads.sourceforge.net/skunkweb/skunkweb-3.0beta1.tgz
Very best wishes to all,