**Announcing the 0.8.5 Release of the Puffin Testing Framework**
Puffin allows you to test any web application or service. Once customized to
your web application, you can use Puffin to unit test individual web pages,
system test your entire web application, or load test your entire site.
Now in its third public release, this web application testing framework is
even more flexible and robust than before. Have a complex web application
that needs to be rigorously tested? Puffin is the answer!
Changes for version 0.8.5:
1) Improvement of test plan execution results reporting. The level of detail
is now more configurable than before.
2) Introduction of "failed task alerts," which inform you of the details of
a failed task in your test plan.
3) Incorporation of Vinay Sajip's logging system to allow for heightened
flexibility in the logging of framework events, results reports, and failure
alerts. Want your framework logging to occur on the console, the reports to
go to a file, but the failed task alerts to go to your email? No problem.
Need support for the NT event log or syslog? Child's play.
4) Improvement of text response analyzer (used to determine whether or not a
test action returned what you expected). Now called the
ExpressionResponseAnalyzer, it now supports regular expressions.
5) Need to extract an output token, but have only HTML coming back from your
web application (as opposed to XML, for example)? Now you can use the
puffin-core REGEX extractor. Simply configure your test action output with a
regular expression and set the extractor type to REGEX and Puffin will take
it from there!
Please see the updated Puffin User's Guide (in the 'doc' folder) for more
I have just released the first beta version of the Python Computer
Graphics Kit, a collection of Python modules that contain the basic
types and functions required for creating 3D computer graphics images.
The kit includes several new types such as vectors, matrices and
quaternions. It contains a binding for Pixar's RenderMan interface
which is a renderer independent API to communicate 3D data to
renderers which will finally produce a 2D image. There are already
several RenderMan compliant renderers freely available (they are
not part of the kit). The kit also includes some of the functionality
from the RenderMan Shading Language which enables you to create
procedural models or textures from within Python.
Even though the kit focuses on RenderMan, the new types or the
Shading Language functionality can also be used for other rendering
mechanism such as OpenGL or other renderers such as POV-Ray.
The kit should run on any platform where Python (and a C/C++ compiler)
is available. Windows users can download a binary version for Python
2.1 or Python2.2.
For more information, visit:
- Matthias -
A Python version of JpGraph, a substantial presentation graphics
module written in PHP by Johan Persson.
"JpGraph is a fully OO graph library which makes it easy to both draw
a "quick and dirty" graph with a minimum of code and quite complex
graphs which requires a very fine grain of control. The library tries
to assign sensible default values for most parameters hence making the
learning curve quite flat since for most of the time very few commands
is required to draw graphs with a pleasing aesthetic look." -- Johan
Our port of JpGraph depends on gdmodule, and of gd itself. Both are
included in the tar file. The port also expects Freetype and
appropriate TTF fonts, which are not included. Gantt charts and image
maps still need work, but the package in general pretty well. Sample
output is available from the download
Thanks to Johan Persson, Chris Gonnerman, and Thomas Bouttel.
Download from http://metagram.webreply.com
eGenix.com mxCGIPython Version 0.5.0
An easy-to-install one-file Python Interpreter
WHAT IS IT ?:
mxCGIPython is a project to provide a complete ready-to-run
Python interpreter in one single executable file. The main
intent for supplying such a single file executable is to
ease deployment of Python for CGI scripting even when the ISP
is not willing or able to install Python for you.
The mxCGIPython archive contains everything needed to build
the one file interpreter. The web page provides a set of links
to contributed binaries for direct use in addition to setup
instructions to get the binaries up and running at your ISP.
See the documentation page for a list of available binary
packages. Binaries for new platforms are always welcome :-)
WHAT'S NEW ?
Version 0.5.0 now supports importing shared modules using
the pre-compiled cgipython binary.
Since all the already existing binaries don't support this
yet, I'm looking for volunteers to send in compiled versions
for all the popular platforms (e.g. different Linux distros,
FreeBSD, NetBSD, AIX, Sun Cobalt, etc.).
WHERE CAN I GET IT ?
The download archives and instructions for installing the packages can
be found at:
WHAT DOES IT COST ?
The packages comes with a Python 2.0 style license, which means
that you can use them in both commercial and non-commercial settings
without fee or charge.
The binaries are covered by the usual Python licenses.
WHERE CAN I GET SUPPORT ?
Free support is available through the eGenix.com User Mailing List
which provides a forum for eGenix.com Software Users:
Commercial quality support for these packages is available from
eGenix.com Software GmbH. Please see
for details about the eGenix support offerings.
CEO eGenix.com Software GmbH
Company & Consulting: http://www.egenix.com/
Python Software: http://www.egenix.com/files/python/
El Segundo, CA 2002 March 04 Py, an independent technical zine for
Python software developers, announced today the launch of its first
"I don't have a lot to say as I'm still exhausted from the
last-minute, whirlwind editing session and now only have the tedious
task of shipping ahead of me. The shakes from the caffeine are making
it a bit difficult to focus right now, but I'm very happy with how the
first issue turned out," said Bryan Richard, Editor and Publisher.
Preorders for the first issue, which started 2002 February 01, topped
out at just over 300 copies.
Cover price for this landmark publication is $3.00 US and $5.00
Foreign and can be ordered at the website www.PyZine.com.
For more information visit the website www.PyZine.com or email
About Py (the zine)
It's a zine. About Python. It's not nearly as ambivalent as this
release probably makes it sound.
About Py (the publishing empire)
Py is largely the work of its contributors and Bryan Richard -- who is
utterly disenchanted with the whole press release process and its
oft-repeated verbiage. Bryan is just some guy from Southern California
that wants to spread the good word about Python, drinks way too much
coffee, and listens to a lot of indie rock. With the launch of Py he
is one step closer to owning Hearst Castle. He can be reached at
I've just released version 2.0.9 of Mailman, the GNU Mailing List
Manager. Mailman is released under the GNU General Public License
(GPL). Version 2.0.9 fixes a race condition that can cause mail to
occasionally be lost, among other useful fixes. I recommend anybody
running any version of Mailman 2.0.x to upgrade to 2.0.9, the latest
stable release. Details of what's changed are included below.
GNU Mailman is software to help manage electronic mail discussion
lists. Mailman gives each mailing list a unique web page and allows
users to subscribe, unsubscribe, and change their account options over
the web. Even the list manager can administer his or her list
entirely via the web. Mailman has most of the features that people
want in a mailing list management system, including built-in
archiving, mail-to-news gateways, spam filters, bounce detection,
digest delivery, and so on.
Mailman is compatible with most web servers, web browsers, and mail
servers. It runs on any Unix-like operating system. Mailman 2.0.9
requires Python 1.5.2 or newer. To install Mailman from source, you
will need a C compiler.
For more information on Mailman, including links to file downloads,
please see the Mailman web page: http://www.gnu.org/software/mailman
And its mirrors at:
Patches and source tarballs are available at
There are email lists (managed by Mailman, of course!) for both
Mailman users and developers. See the web sites above for details.
- Closed a race condition which could, under rare circumstances,
cause the occasional message to get lost.
- HTML escape message excerpts and headers on the admindb page so
- Some additional Python 2.2 compatibility fixes.
- Unlink the footer logos so as not to bug the python.org and
gnu.org maintainers as much. :(
- Fix a crash in the DSN bounce detection module, which could
cause some bounce messages to remain in the queue.
- Add the RFC-2822 mandated Date: header on internally generated
outgoing messages. Not all MTAs add this field if missing
Folks here may be interested in my latest
project: A new language specially designed for
writing Python extension modules.
Pyrex is more or less Python with C data types
added. You can write functions which freely
intermix operations on Python and C data, with
all Python reference counting and error checking
An example Pyrex module is shown below. For more
where you can also download version 0.1 and try it
out. I'm very keen to get feedback on this, both to
find out whether people think it's useful, and to
help me debug it!
Oh, yeah, here's the example. It finds prime
numbers at C speed.
def primes(int kmax):
cdef int n, k, i
cdef int p
result = 
if kmax > 1000:
kmax = 1000
k = 0
n = 2
while k < kmax:
i = 0
while i < k and n % p[i] <> 0:
i = i + 1
if i == k:
p[k] = n
k = k + 1
n = n + 1
Greg Ewing, Computer Science Dept, University of Canterbury,
Christchurch, New Zealand
To get my email address, please visit my web page:
SLiP 0.1: a "Sorta Like Python" shorthand syntax for XML
SLIDE 0.1: a "Sorta Like an IDE" lightweight windows exe for SLiP editing
SLiPpy 0.1: a SLiP package for Python, including a SLiP->XML library
(sliplib.py) and source for SLIDE (slide.py)
SLiP is a quick, alternative shorthand syntax for creating and editing XML
data by hand and if you know Python, it should also be familiar. Great for
* Less typing - provides a quicker and easier means for creating or editing
* Easier to read - creates a pleasant layout for the data with indentation
* Benefits of XML - allow for hierarchical data, unlike tabbed or other
character delimited data files
* Cheap - provides a free XML editing alternative
* Editor-agnostic and Keyboard-oriented - provide a quicker, more
hacker-friendly way to create XML over point-and-click alternatives
* Works in existing editors - most Python editors (IDLE, Scintilla, etc)
should accept and make working with this syntax easy
This portion of SLiP:
#some random comment
street(): "123 Sesame Street"
Please leave packages with Grouch
in garbage can next door.
.. would convert to this XML:
<!-- random comment -->
<street>123 Sesame Street</street>
Please leave packages with Grouch
in garbage can next door.
I've created some free (MIT license) tools including a Python library for
translating between XML and SLiP (SLiPpy), a lightweight editor wrapper
(SLIDE), and some brief documentation - all available at the website,
This is my first release of these tools so they are a little rough and they
need more input, so let me know what you think.
<P><A HREF="http://www.scottsweeney.com/projects/slip">SLiP</a> - a
"Sorta Like Python" shorthand for XML (3-Apr-2002).
A new version of the proposed Python standard logging module (as per
PEP 282) has been released. You can get all the information from
There are "download" and "recent changes" links at the top of that
page, and there is quite a lot of new stuff including support for XML,
HTTP and SOAP, user-defined logger classes, a ConfigParser-based
configuration file format, a Tkinter GUI-based configurator and more!
As always, your feedback is most welcome (especially bug reports,
patches and suggestions for improvement).
Red Dove Consultants Ltd.
Changes since the last version:
Bug fix SMTPHandler - extra \r\n needed (Oleg Orlov)
Added BufferingHandler, BufferingFormatter
Renamed getChainedPriority to getEffectiveLevel
Removed Logger.getRoot as it is redundant
Added log_test9.py to test Buffering classes and to show an
Added log_test10.py to test setLoggerClass, using an example
Logger-derived class which outputs exception info even for DEBUG level
Added log_test11.py to test a buffering implementation of SMTPHandler
Changed logging call implementation to allow keyword arguments (Kevin
Butler and others)
Changed default SysLogHandler implementation.
Renamed "additive" to "propagate" as it better describes the
Modified logrecv.py to remove "both" option and to add "HTTP" and
"SOAP" options (SOAP option needs you to have PyXML-0.6.6 and ZSI
installed - for logrecv.py only, and not for the core logging module
Added log_test12.py to test HTTPHandler.
Added log_test13.py to test SOAPHandler.
Formatted to Python source guidelines (spaces, indent of 4, within 80
More method renamings (result of feedback) - _handle() renamed to
emit(), _logRecord() renamed to handle(). Renamed FATAL to CRITICAL
(David Goodger), but left fatal() and FATAL in (until PEP is changed)
Changed configuration file format to ConfigParser format.
Factored filter application functionality out to a new Filterer class.
The isLoggable() method is renamed to filter() in both Filter and
Altered SMTPHandler __init__ to accept (host, port) for the mail
Added GUI configurator which uses Tkinter and the new configuration
file format. (See logconf.py and an example configuration file in
Altered log_test3.py to test with the new file format.