PyWX 0.61 released (Python for AOLserver)
Michael Haggerty
mhagger at alum.mit.edu
Fri Nov 17 12:22:43 EST 2000
We are pleased to announce the release of PyWX version 0.61. This is
our first beta release; it is fairly stable and is being used in
several development environments. This version fixes several
significant problems in alpha version 0.6, so anybody using an earlier
version is encouraged to upgrade.
PyWX can be retrieved from SourceForge,
http://download.sourceforge.net/PyWX/PyWX-0.61.tar.gz
The PyWX homepage is
http://pywx.idyll.org
What is PyWX?
-------------
PyWX is a Python module for AOLserver.
AOLserver is a free, open-source, enterprise-class, multi-threaded web
server whose performance on dynamic content is reputed to beat Apache.
It is used at many large web sites including AOL and ArsDigita. It
includes an internal database API that allows persistent database
connections.
Python is a clean, object-oriented scripting language with excellent
support for complicated data structures and great libraries for web
programming.
PyWX embeds a Python interpreter into AOLserver, allowing threaded
execution of Python scripts--even CGI scripts--within the server
process. It also allows the Python script to access almost all of
AOLserver's internal API via a C extension module. PyWX supports many
other features, including
+ Object-oriented Python wrapping of AOLserver's C API functions.
Almost all of AOLserver's facilities are available to Python
scripts.
+ Full access to AOLserver's Tcl interpreter from Python, and vice
versa.
+ Access to AOLserver's persistent database mechanism.
+ Optional compiled-script caching.
+ Threaded execution of CGI scripts within emulated CGI environment.
+ Cross-connection data-persistence.
+ An internal Webware adaptor.
+ Decent though not great documentation.
What's new in version 0.61?
--------------------------
+ Significant cleanup, bug fixes, and plugging of memory leaks.
+ Support for AOLserver versions 3.1 and 3.2. See INSTALL.
+ os.environ is now separate for each script and has been detached
from the Python-wide os.environ.
+ Fixed a deadlock condition that commonly appeared when using
AOLserver database handles under high loads.
+ Changed name of PageRoot config parameter to PyWXPath. The new
name reflects its role: it is where the PyWX Python files need to
be located.
+ Added a PythonPath config parameter to add directories to sys.path
for scripts.
+ Added get() method to Ns.Set.
+ CGI environment emulation now differs from Apache's behavior by
*not* changing to the script's directory before 'execfile'. (Since
there is only one current directory, this aspect of the CGI
specification could never be reliable in a multithreaded context.)
+ Added a function to allow cross-call persistence of the Tcl
interpreter when called from Python -- the Tcl interpreter is
now the same one used by AOLserver to handle the connection.
+ Restored functionality of the Tcl-style 'ns_db' database interface.
Other changes
-------------
+ Ns.Set.Find and Ns.Set.IFind return None (instead of -1) if the key is
not found in the set.
+ Fixed ns_python.ns_redirect() to work across interpreters.
+ Fixed CGI emulation for forms handling to work with Python's cgi
module.
Version 0.61 is fairly stable and is being used in several development
environments, although there are still some problems under heavy
loads. As a rough measure of its current performance, without
optimizing the machine PyWX can deliver a trivial Python script at
about 230 pages per second on a single-processor Pentium 3/500MHz
under Linux, and a trivial Oracle database-querying script at about 75
pages/s.
Please check out our home page at
http://pywx.idyll.org
for more information on PyWX, including mailing lists, development
archives, and several example pages. You may also be interested in:
http://www.aolserver.com -- AOLserver
http://www.python.org -- the Python programming language
http://webware.sourceforge.net -- Webware toolkit
--
Michael Haggerty
mhagger at alum.mit.edu
More information about the Python-list
mailing list