From David Abrahams" Is combining Python and C++ code essential to your work? Python and C++ complement one another wonderfully, but interfacing them using Python's 'C' API can be tedious and error-prone. Boost.Python (http://www.boost.org/libs/python/doc/index.html) is a popular tool for interfacing Python to C++, allowing you to easily expose C++ classes in Python as though they were regular Python classes. As it's author, I have recently begun offering commercial support for Boost.Python, ensuring that it will receive continued attention. I would be happy to discuss additional support contracts with interested parties. The Boost Python Library is distributed under the Boost License Requirements (http://www.boost.org/more/lib_guide.htm#License), which are as follows: a.. Must be simple to read and understand. b.. Must grant permission to copy, use and modify the software for any use (commercial and non-commercial) for no fee. c.. Must require that the license appear on all copies of the software source code. d.. Must not require that the license appear with executables or other binary uses of the library. e.. Must not require that the source code be available for execution or other binary uses of the library. f.. May restrict the use of the name and description of the library to the standard version found on the Boost web site. -- =================================================== David Abrahams, C++ library designer for hire resume: http://users.rcn.com/abrahams/resume.html C++ Booster (http://www.boost.org) email: david.abrahams@rcn.com =================================================== From David Abrahams" It was just pointed out to me that my purported description of the license terms for Boost.Python was actually a description of the Boost license requirements, of which the Boost.Python license is only an example. Boost.Python is free for any use, commercial or otherwise. The copyright notice reads: (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. Sorry for any confusion, =================================================== David Abrahams, C++ library designer for hire resume: http://users.rcn.com/abrahams/resume.html C++ Booster (http://www.boost.org) email: david.abrahams@rcn.com =================================================== From rdsteph@earthlink.net Sun Nov 4 02:56:24 2001 From: rdsteph@earthlink.net (Ron Stephens) Date: Sat, 3 Nov 2001 21:56:24 -0500 (EST) Subject: [Application] askMerlin Message-ID: askMerlin --------- Your Digital Oracle, Merlin will answer your every question. askMerlin is a web based AI program. Merlin prompts you for a question, which you then type in and hit return. Then Merlin will prompt you for options or choices as possible answers to your question. Merlin will then think it over by consulting the world wide web, which is full of knowledge. Merlin will answer every question, even those for which you offer no options; however, Merlin gives better answers when you ask a well phrased question and also offer good options. The WWW is a large knowledge base from which to draw, thus askMerlin is a sort of Expert System with a large but heterogeneous knowledge base. Hopefully, Merlin will gain in wisdom over time as the legions of Parnassus help to hewn his code to a sharper and sharper edge. For now, askMerlin is a fun program, easy to use, with hope for the future. This is a fun project, and it is hoped that anyone interested will contribute to further improvements of askMerlin. URL: http://www.awaretek.com/python.html Download: http://www.awaretek.com/askMerlin.py License: LGPL Platform: all platforms Requires: urllib, sys, re, string Gui: command line Categories: Miscellany, Applications Ron Stephens (rdsteph@earthlink.net) http://www.awaretek.com -- askMerlin -- Your Digital Oracle, Merlin will answer your every question. From jason-dated-1006190036.7f044c@mastaler.com Mon Nov 5 17:13:56 2001 From: jason-dated-1006190036.7f044c@mastaler.com (Jason R. Mastaler) Date: Mon, 05 Nov 2001 10:13:56 -0700 Subject: [ANNOUNCE] TMDA 0.40 - SPAM reduction system (now supports Exim) Message-ID: TMDA now supports the Exim MTA in addition to Postfix and qmail. TMDA is an OSI certified Python application designed to significantly reduce the amount of SPAM/UCE you receive. TMDA combines a "whitelist" (for known/trusted senders), a "blacklist" (for undesired senders), and a cryptographically enhanced confirmation system (for unknown, but legitimate senders). TMDA strives to be more effectual, yet less time-consuming than traditional filters. For more information including a demonstration, download locations and installation instructions, visit the TMDA homepage: Enjoy, Jason R. Mastaler

TMDA 0.40 - SPAM reduction system (05-Nov-2001) From carmstro@twistedmatrix.com Mon Nov 5 17:56:49 2001 From: carmstro@twistedmatrix.com (Chris Armstrong) Date: 5 Nov 2001 09:56:49 -0800 Subject: ANN: Twisted 0.12.0 released Message-ID: Twisted, version 0.12.0, was released yesterday (November 4, 2001). This was a major feature/bugfix release, which went rather smoothly. It is available at http://twistedmatrix.com/. The new things going on since 0.11.0: Unified the twisted.internet main loop approach to thread dispatching. This involved merging internet.threadtask into internet.task, and making a new threadtask - a threadpool subclass that integrates with twisted's event loop. Many minor refactorings. This included cleanup to move generic 'thread ownership' code to 'log ownership' where it really belongs. Many major bugfixes, most notably to twisted.spread and Instance Messenger, twisted's IM client. Added XML-RPC web resource, and fixed a few issues in twisted.web. Major speed improvement to twisted on jython, and some speed improvements to threaded twisted. Updates to twisted.python.usage. Beginning to revitalize twisted.enterprise: in this release, twisted.enterprise.adbapi, an asynchronous wrapper for python's DB-API 2.0. What is Twisted? Twisted is an event-based framework for internet applications. It includes a web server, a telnet server, a multiplayer RPG engine, a generic client and server for remote object access, and APIs for creating new protocols and services. Twisted supports integration of the Tk or GTK event loop with it's main event loop. It also has basic support for running servers on top of jython. Twisted currently supports the following protocols, all implemented in pure python, most of them as both servers and clients: - FTP - HTTP - SMTP - irc - telnet - POP3 - AOL's instant messaging TOC - DNS (client only) - LDAP (client only) - finger - Echo, discard, chargen and friends - Perspective Broker For more information, visit http://www.twistedmatrix.com. From djc@object-craft.com.au Tue Nov 6 05:39:14 2001 From: djc@object-craft.com.au (Dave Cole) Date: 06 Nov 2001 16:39:14 +1100 Subject: csv-0.5 released Message-ID: The CSV module provides a fast CSV parser which can split and join CSV records which have been produced by Microsoft products such as Access and Excel. On Python 2.x the module outperforms string.split(). Of course the CSV parser can handle much more complex records than string.split()... This is a bugfix release. The changes in this release are: 1- Fixed bug in memory allocation of internal parser buffer - thanks to John Machin for pointing this out. 2- Fixed compile warning on Solaris - thanks to Adam Goucher for reporting this. The module homepage: http://www.object-craft.com.au/projects/csv/ For people who do not have a C compiler on Windows I have put a Python 2.1 binary up here: http://www.object-craft.com.au/projects/csv/csv.pyd - Dave From Marc.Poinot@onera.fr Tue Nov 6 10:40:03 2001 From: Marc.Poinot@onera.fr (Marc Poinot) Date: Tue, 06 Nov 2001 11:40:03 +0100 Subject: [ANNOUNCE] pyCGNS v0.3 Message-ID: This new version has many changes and extensions, the demos and tests are running ok, but a user of previous version should have to change some "imports" and name spaces. There is now a SIDS grammar parse tool (Sift), which could be used to check the SIDS instance grammar. It is built using the SPARK parser generator using a BNF grammar. So far, Sift only checks the syntax. Please, have a look and let me know about good or bad news :) The package has been put on the elsA web site, the URL is http://elsa.onera.fr/CGNS/releases -MP- ----------------------------------------------------------------------- Marc POINOT Alias: marcvs Email: poinot@onera.fr ONERA -MFE/DSNA/ELSA Tel: 01.46.73.42.84 Info: elsa-info@onera.fr 29, Div. Leclerc Fax: 01.46.73.41.66 Site: 92322 Chatillon FRANCE Project: elsA Web: http://www.onera.fr From johnp@reportlab.com Tue Nov 6 15:48:22 2001 From: johnp@reportlab.com (John Precedo) Date: Tue, 6 Nov 2001 15:48:22 -0000 Subject: Version 1.10 of the ReportLab toolkit released Message-ID: Version 1.10 of the ReportLab toolkit has been released. Reportlab is a cross-platform library for generating PDF files from Python, without relying on any third-party tools from Adobe or other vendors. The main feature of this release is the addition of support for Asian fonts, embedding your own Type-1 fonts and using custom encodings. These have been available in our developer CVS snapshots in the past, but are now robust enough to be considered non-experimental. While stable, they will continue to be improved and expanded in the future. Other features include improvements to the graphics/charts subpackage (our growing library of business charting diagrams) including improvements to the shading options for barcharts, and improvements to flags and symbols under graphics/widgets (our reusable widget libraries). The Reportlab library is Open Source (under a FreeBSD-like license), and comes with full documentation (which now covers font embedding in detail and using the new Asian fonts capabilities). Reportlab now allows you to create professional, portable and _international_ documents. Download it from: http://www.reportlab.com/download.html or using anonymous FTP from: ftp://ftp.reportlab.com/ The discussion group for the project is http://www.egroups.com/group/reportlab-users ; subscribe on the web, or send an email to reportlab-users-subscribe@egroups.com with 'Subscribe' in the subject line. -- John Precedo (johnp@reportlab.com) Developer Reportlab Europe Ltd (http://www.reportlab.com) From jiba@tux.family.org Wed Nov 7 18:39:56 2001 From: jiba@tux.family.org (Jiba) Date: Wed, 7 Nov 2001 13:39:56 -0500 Subject: [website] OOMadness site open ! OO stuff and genetic algo. Message-ID: I've just opened by website OOMadness at : http://oomadness.tuxfamily.org/ There's currently 2 interesting Python packages : ----------- PyObjTool 0.1 ----------- XHAT IT IS : Different interesting modules for extreme OO programming ! EventObj : add change-event to any Python object, so you will be notified for all object modification. TreeWidget : (yet another) tree widget for Tkinter; this one is optimized for big number of nodes (10000+). EditObj : edit any Python object in a property list. Support also edition of lists and dicts. (yes, it is what java calls a "bean editor", but for Python !) ----------- Genetic 0.1 ----------- WHAT IT IS: Genetic algorythms in Python. I do not pretend to follow exately nature laws, but rather to try and experiment new Python programming ways ! There's also a module for genetic programming, but result are disappointing... The package includes several Tkinter demos (TSP, ...), enjoy ! --------------------------------- Jiba From gandalf@python.eu.org Wed Nov 7 00:51:41 2001 From: gandalf@python.eu.org (Vladimir Ulogov) Date: Tue, 6 Nov 2001 19:51:41 -0500 (EST) Subject: [Module] Python/CLIPS interface Message-ID: Python/CLIPS interface ---------------------- SWIG Interface for CLIPS production system If you do want to build expert system using Python interface. This tool is for you. URL: http://www.python.eu.org/software/clips Download: http://www.python.eu.org/software/download/mp_entries/getEntryFieldbyPath/988445102.895/f988444427/clips-python.tar.gz License: Public Domain Requires: CLIPS, Swig Categories: Utility Apps, Python/AI Vladimir Ulogov (gandalf@python.eu.org) -- Python/CLIPS interface -- SWIG Interface for CLIPS production system From barry@zope.com Fri Nov 9 22:48:58 2001 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 9 Nov 2001 17:48:58 -0500 Subject: RELEASE Mailman 2.0.7 Message-ID: I've just released version 2.0.7 of Mailman, the GNU Mailing List Manager. Mailman is released under the GNU General Public License (GPL). Version 2.0.7 closes two potential security / denial-of-service problems in the Mailman 2.0.x series, and includes a few other minor bug fixes. - If you are running Python 1.5.2, it is possible for someone to carefully craft some cookie data, and then trick Mailman into accepting that data, that will crash your Python interpreter. If you are not running Python 1.5.2, you should be invulnerable to the crash, however it is still possible for someone to even more carefully craft some cookie data that could cause arbitrary class constructors to be executed on the server. Mailman 2.0.7 closes this hole by disabling the Cookie.py module's default unpickling of cookie data. - It is possible that Mailman's bounce handler could receive a bounce message that looked like a DSN report, but was incorrectly formatted. Under Mailman 2.0.6's bounce detector, you would get a traceback for a message that would never be removed from the queue, thus potentially wedging your qrunner until the offending message was manually deleted. Mailman 2.0.7 fixes the DSN.py bounce detector. There are a few other useful bug fixes in this release, described in the NEWS excerpt below. I recommend anybody running a version of Mailman up to, and including 2.0.6 to upgrade to 2.0.7. 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 GNU/Linux and should run on any other Unix-like operating system. Mailman 2.0.7 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 WWW page: http://www.gnu.org/software/mailman And its mirrors at: http://mailman.sourceforge.net http://www.list.org (Note: not all of the mirrors are updated yet.) Downloads are available at http://sourceforge.net/project/showfiles.php?group_id=103&release_id=60758 There are email lists (managed by Mailman, of course!) for both Mailman users and developers. See the web sites above for details. Cheers, -Barry -------------------- snip snip -------------------- 2.0.7 (09-Nov-2001) Security fixes: - Closed a hole in cookie management whereby some carefully crafted untrusted cookie data could crash Mailman if used with Python 1.5.2, or cause some unintended class constructors to be run on the server. - In the DSN.py bounce handler, a message that was DSN-like, but which was missing a "report-type" parameter could cause a non-deletable bounce message to crash Mailman forever, requiring manual intervention. Bug fixes: - Stray % signs in headers and footers could cause crashes. Now they'll just cause an [INVALID HEADER] or [INVALID FOOTER] string to be added. - The mail->news gateway has been made more robust in the face of duplicate headers, and reserved headers that some news servers reject. If the message is still rejected, it is saved in $prefix/nntp instead of discarded. - Hand-crafted invalid chunk number in membership management display could cause a traceback. From gward@python.net Mon Nov 12 14:33:08 2001 From: gward@python.net (Greg Ward) Date: Mon, 12 Nov 2001 09:33:08 -0500 Subject: ANNOUNCE: Optik 1.0 (new command-line parsing library) Message-ID: Optik 1.0 ========= Optik is a powerful, flexible, extensible, easy-to-use command-line parsing library for Python. Using Optik, you can add intelligent, sophisticated handling of command-line options to your scripts with very little overhead. Here's an example of using Optik to add some command-line options to a simple script: from optik import OptionParser [...] parser = OptionParser() parser.add_option("-f", "--file", action="store", type="string", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=1, help="don't print status messages to stdout") (options, args) = parser.parse_args() With these few lines of code, users of your script can now do the "usual thing" on the command-line: -f outfile --quiet -qfoutfile --file=outfile -q --quiet --file outfile (All of these result in options.filename == "outfile" options.verbose == 0 ...just as you might expect.) Even niftier, users can run one of -h --help and Optik will print out a brief summary of your script's optons: usage: [options] options: -h, --help show this help message and exit -fFILE, --file=FILE write report to FILE -q, --quiet don't print status messages to stdout That's just a taste of the flexibility Optik gives you in parsing your command-line. See the documentation included in the package for details. AUTHOR, COPYRIGHT, AVAILABILITY ------------------------------- Optik was written by Greg Ward The latest version of Optik can be found at http://optik.sourceforge.net/ Copyright (c) 2001 Gregory P. Ward. All rights reserved. -- Greg Ward - just another Python hacker gward@python.net http://starship.python.net/~gward/ "What do you mean -- a European or an African swallow?" From Nicolas" Hi We are looking for a Zope developer that can develop an online database in Zope with the following contents: - a calendar (with a listing per month) - news items (with a title, content, date, picture) - liks (listed by category) This little database need to be integrated in the existing (simple) html layout. We would really appreciate a price estimate in developing this database, email me if you're interested. Greetings, Nicolas Ps: feel free to pass this message along to others who might be interested in this little project. From jicondon@us.ibm.com Tue Nov 13 19:38:45 2001 From: jicondon@us.ibm.com (dW) Date: 13 Nov 2001 11:38:45 -0800 Subject: Web Services and Python articles Message-ID: Below are some developerWorks article on Web Services developement with Python. The Python Web services developer: Part 1: The world of Python Web services This article presents an overview and survey of tools and facilities available for Web services development in Python. This includes built-in Python features and third-party open-source tools. http://www-106.ibm.com/developerworks/library/ws-pyth1?open&l=968,t=grws,p=pws1 The Python Web services developer, Part 2: Web services software repository, Part 1 Creating a software repository system built on Web services and developed in the Python programming language. Mike Olson shows you the details of using the 4Suite open-source XML server with Python to create Web service-based applications. http://www-106.ibm.com/developerworks/library/ws-pyth2?open&l=968,t=grws,p=pws2 The Python Web services developer, Part 3: Web services software repository, Part 2 Example of a Web service for storing and managing software. http://www-106.ibm.com/developerworks/library/ws-pyth3?open&l=968,t=grws,p=pws3 The Python Web services developer, Part 4: Web services software repository, Part 3 Building a software repository implemented as a Web service. http://www-106.ibm.com/developerworks/library/ws-pyth4?open&l=968,t=grws,p=pws4 The Python Web services developer, Part 5: Python SOAP libraries Discussion the various SOAP implementations available for Python, giving detailed code examples. http://www-106.ibm.com/developerworks/library/ws-pyth5?open&l=968,t=grws,p=pws5 From amyk@foretec.com Tue Nov 13 20:16:30 2001 From: amyk@foretec.com (Amy Katherine) Date: Tue, 13 Nov 2001 15:16:30 -0500 Subject: Python 10 Registration Opens Online Message-ID: Foretec Seminars invites you to be a part of the action at the Tenth International Python Conference! When: February 4th through 7th, 2002 Where: The Hilton Alexandria Mark Center in Alexandria, Virginia Save $$$ with Special Early Bird Registration Rates starting November 12, 2001 and good when you register online before January 7, 2002 To Register Today, Visit: http://www.python10.org/p10-regInfo.html For Further Details, Visit: http://www.python10.org From gward@mems-exchange.org Tue Nov 13 20:44:21 2001 From: gward@mems-exchange.org (Greg Ward) Date: Tue, 13 Nov 2001 15:44:21 -0500 Subject: ANNOUNCE: Quixote 0.4.2 released Message-ID: Quixote 0.4.2 is now available for download from: http://www.mems-exchange.org/software/quixote/ Quixote is yet another framework for developing Web applications in Python. The design goals were: 1) To allow easy development of Web applications where the accent is more on complicated programming logic than complicated templating. 2) To make the templating language as similar to Python as possible, in both syntax and semantics. The aim is to make as many of the skills and structural techniques used in writing regular Python code applicable to Web applications built using Quixote. 3) No magic. When it's not obvious what to do in a certain case, Quixote refuses to guess. If you view a web site as a program, and web pages as subroutines, Quixote just might be the tool for you. If you view a web site as a graphic design showcase, and each web page as an individual work of art, Quixote is probably not what you're looking for. Quixote was primarily written by Andrew Kuchling, Neil Schemenauer, and Greg Ward ({akuchlin,nascheme,gward}@mems-exchange.org). CHANGES in Quixote 0.4.2 ------------------------ * Made the quixote.sendmail module a bit more flexible and robust. * Fix so it doesn't blow up under Windows if debug logging is disabled (ie. write to NUL, not /dev/null). * Clarified some documenation inconsistencies, and added description of logging to doc/programming.txt. * Fixed some places that we forgot to update when the PTL- related modules were renamed. * Fixed ptl_compile.py so PTL tracebacks include the full path of source file(s). * Fixed bug where a missing _q_index() triggered a confusing ImportError; now it triggers a TraversalError, as expected. * Various fixes and improvements to the Config class. * Miscellaneous fixes to session.py. * Miscellaneous fixes to widget classes. -- Greg Ward - software developer gward@mems-exchange.org MEMS Exchange http://www.mems-exchange.org From stephen_purcell@yahoo.com Thu Nov 15 11:40:22 2001 From: stephen_purcell@yahoo.com (Steve Purcell) Date: Thu, 15 Nov 2001 12:40:22 +0100 Subject: [ANN] DBDoc 0.6: Oracle/Postgres DB schema documentation generator Message-ID: NEW RELEASE The new release of DBDoc features Oracle support in addition to the existing PostgreSQL support. DESCRIPTION If you have ever wanted javadoc-style HTML documentation for your database schemas, or a consistent way of programatically inspecting a database schema, then DBDoc may be of interest to you. This small project defines a simple Python API for inspecting database schemas, and uses it to generate documentation (optionally incorporating descriptive text placed in an auxiliary file). (Implementations of the schema introspection API for other databases would be most welcome.) FURTHER INFORMATION Homepage: http://dbdoc.sourceforge.net/ Download: http://sourceforge.net/project/showfiles.php?group_id=34872 Licence: BSD Best wishes to all, -Steve -- Steve Purcell, Pythangelist Get testing at http://pyunit.sourceforge.net/ From gward@python.net Sat Nov 17 18:49:45 2001 From: gward@python.net (Greg Ward) Date: Sat, 17 Nov 2001 13:49:45 -0500 Subject: ANNOUNCE: Optik 1.1 released Message-ID: Optik 1.1 ========= Optik is a powerful, flexible, extensible, easy-to-use command-line parsing library for Python. Using Optik, you can add intelligent, sophisticated handling of command-line options to your scripts with very little overhead. Here's an example of using Optik to add some command-line options to a simple script: from optik import OptionParser [...] parser = OptionParser() parser.add_option("-f", "--file", action="store", type="string", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=1, help="don't print status messages to stdout") (options, args) = parser.parse_args() With these few lines of code, users of your script can now do the "usual thing" on the command-line: -f outfile --quiet -qfoutfile --file=outfile -q --quiet --file outfile (All of these result in options.filename == "outfile" options.verbose == 0 ...just as you might expect.) Even niftier, users can run one of -h --help and Optik will print out a brief summary of your script's optons: usage: [options] options: -h, --help show this help message and exit -fFILE, --file=FILE write report to FILE -q, --quiet don't print status messages to stdout That's just a taste of the flexibility Optik gives you in parsing your command-line. See the documentation included in the package for details. AUTHOR, COPYRIGHT, AVAILABILITY ------------------------------- Optik was written by Greg Ward The latest version of Optik can be found at http://optik.sourceforge.net/ Copyright (c) 2001 Gregory P. Ward. All rights reserved. CHANGES IN OPTIK 1.1 -------------------- * Changed OptionParser.parse_args() method to allow interspersed options and positional arguments by default; can be disabled with disable_interspersed_args() method. Reorganized the guts of the OptionParser class fairly heavily. * Split test_optik.py up into three scripts (test_optik, test_callback, and test_extend), and moved them all into the test/ directory. * Added the 'nargs' attribute to Option, which allows options to require more than one argument on the command line. This enables eg. parser.add_option("-p", "--point", action="append", nargs=3, type="float", dest="points") to turn a command-line like this: --point 3.4 -5 95 -p 4 -4 6 into this: options.points == [(3.4, -5.0, 95.0), (4.0, -4.0, 6.0)] * Fixed so the last default value explicitly specified for a particular option destination takes precedence, even if it's None. -- Greg Ward - Unix bigot gward@python.net http://starship.python.net/~gward/ Vote Cthulhu -- why settle for a lesser evil? From barry@zope.com Fri Nov 16 20:52:57 2001 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 16 Nov 2001 15:52:57 -0500 Subject: RELEASED: Python 2.2b2 is out! Message-ID: Today we release Python 2.2b2, the second -- and probably last -- beta release of Python 2.2, for your enervation, elocution, and effervescence. http://www.python.org/2.2/ Our thanks to everyone who is testing out these beta releases! Please continue to report any bug you find to the bug tracker: http://sourceforge.net/bugs/?group_id=5470 Highlights of what's new for this release are outlined below. For a more complete list, please see: http://sf.net/project/shownotes.php?release_id=61669 Andrew Kuchling is writing a gentle introduction to the most important changes, titled "What's New in Python 2.2": http://www.amk.ca/python/2.2/ Guido's written his own introduction to the type/class unification at: http://www.python.org/2.2/descrintro.html python-is-so-proud-of-little-brother-orlijn-ly y'rs, -Barry -------------------- snip snip -------------------- - Lots of bug fixes! - Multiple inheritance mixing new-style and classic classes in the list of base classes is now allowed. - The new builtin dictionary() constructor, and dictionary type, have been renamed to dict. This reflects a decade of common usage. - dict() now accepts an iterable object producing 2-sequences. For example, dict(d.items()) == d for any dictionary d. The argument, and the elements of the argument, can be any iterable objects. - New-style classes can now have a __del__ method, which is called when the instance is deleted (just like for classic classes). - Assignment to object.__dict__ is now possible, for objects that are instances of new-style classes that have a __dict__ (unless the base class forbids it). - The socket function has been converted to a type; see below. - Assignment to __debug__ raises SyntaxError at compile-time. This was promised when 2.1c1 was released as "What's New in Python 2.1c1". - mmap has a new keyword argument, "access", allowing a uniform way for both Windows and Unix users to create read-only, write-through and copy-on-write memory mappings. - By default, the gc.garbage list now contains only those instances in unreachable cycles that have __del__ methods. - The socket module defines a new method for socket objects, sendall(). - Symbolic group names in regular expressions must be unique. - We've finally confirmed that this release builds on HP-UX 11.00, *with* threads, and passes the test suite. - Thanks to a series of patches from Michael Muller, Python may build again under OS/2 Visual Age C++. - Updated RISCOS port by Dietmar Schwertberger. From thomas@gatsoft.no Mon Nov 19 12:00:10 2001 From: thomas@gatsoft.no (Thomas Weholt) Date: Mon, 19 Nov 2001 12:00:10 GMT Subject: ANN : DivXInfo v0.1.0 Message-ID: DivXInfo extracts information from AVI- and DivX-files. Get it from : http://projects.weholt.org/ Enhancements, improvements etc. are very welcome. PS ! If anybody know of ways to extract similar information from MPEGs, RealPlayer files or QuickTime movies using pure Python, I'd be glad to know. Best regards, Thomas Weholt From Prabhu Ramachandran Tue Nov 20 00:01:05 2001 From: Prabhu Ramachandran (Prabhu Ramachandran) Date: Tue, 20 Nov 2001 05:31:05 +0530 Subject: MayaVi-1.1 released. Message-ID: Hi, This is to announce the availability of the MayaVi Data Visualizer version 1.1. MayaVi is a free, easy to use, scientific data visualizer. It is written in Python and uses the Visualization Toolkit (VTK) for the graphics. It provides a GUI written using Tkinter. MayaVi is free and distributed under the GNU GPL. It is also cross platform and should run on any platform where both Python and VTK are available. For more information, downloadable sources and *binaries*, screenshots, installation instructions, documentation etc. visit the MayaVi home page at: http://mayavi.sourceforge.net Also bundled with MayaVi is a VTK pipeline browser written in Python and a new utility module that makes using VTK easier from the interpreter. What's new in this release: (*) Binaries for Linux and Win32 made using Gordon McMillan's Installer. (*) MayaVi can now be used from other Python programs, can be scripted and can also be used interactively from the Python interpreter. For a specific example see: http://mayavi.sourceforge.net/docs/guide/c760.html (*) Installs as a Python package using distutils. (*) Command line arguments are now supported. (*) Added 3D Studio file import, RenderMan RIB/JPEG/PNG export. (*) Improved streamline module and better 2D streamlines. (*) More options to place the vector glyphs for vector plots. (*) Added filters: PolyDataNormals, WarpVector, WarpScalar, ExtractUnstructuredGrid. Added module: WarpVectorCutPlane. (*) New VtkData class that handles user constructed vtk data. (*) Added basic tensor support, a tensor related filter and module. Contributed by Jose Paulo -- many thanks! (*) Huge speed up (by a factor of 50 or more) in the "expand all" feature of the pipeline browser, many thanks to Dan Blezek for this! (*) New utility module, ivtk.py, that makes interactive VTK a pleasure. More information on this module is available at: http://mayavi.sourceforge.net/docs/guide/x799.html (*) Intelligently disable annoying VTK warning messages. Various bugs have been fixed and other small enhancements have been made. Have fun! prabhu From bmc@bmc.pt Wed Nov 21 06:20:23 2001 From: bmc@bmc.pt (bmc) Date: Wed, 21 Nov 2001 06:20:23 -0000 Subject: Python Zope Job Portugal Message-ID: BMC Lda. (www.bmc.pt ) is looking for a motivated individual to join our our R & D group. Responsibilities include developing and deploying a CRM, virtual office, groupware and document management Web-based software. Ideal candidates have the following qualifications: Strong Python and Zope development skills BS or MS in Computer Science or Engineering 2-5 years experience in the software industry Experience deploying solutions at client sites Candidates should be skilled in the following areas: Python and C/C++ Programming Web and database development (HTML, ZOPE, PostgreSQL) Linux Administration (Mail, DNS, Firewall, VPN, CVS,) Must have strong software development skills in Linux environment Must demonstrate proficiency with scripting languages such as Python Must have DBMS experience including database schemas, SQL, and database programming. XML experience is a plus. Interested parties should submit their resume to bmc@bmc.pt Relocation assistance is available for this position. From richard@bizarsoftware.com.au Thu Nov 22 00:43:18 2001 From: richard@bizarsoftware.com.au (Richard Jones) Date: Thu, 22 Nov 2001 11:43:18 +1100 Subject: Roundup 0.3.0 - an issue tracking system Message-ID: This release contains several new features which will require migration, so please read MIGRATION.txt! Big stuff in this release: - lots of bug fixes, thanks to all users for their great feedback! - much more flexible administration tool - much better handling of errors - more configuration options - CGI login uses cookies instead of basic auth - passwords are encoded in the database - much, much more: see the CHANGES file for details. Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/project/showfiles.php?group_id=31577 Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition. Note: Ping is not responsible for this project. The contact for this project is richard@users.sourceforge.net. Roundup manages a number of issues (with flexible properties such as "description", "priority", and so on) and provides the ability to (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable "out of the box" with any python 2.0+ installation. It doesn't even need to be "installed" to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates and three database back-ends. From mal@lemburg.com Mon Nov 26 12:33:43 2001 From: mal@lemburg.com (M.-A. Lemburg) Date: Mon, 26 Nov 2001 13:33:43 +0100 Subject: ANN: eGenix.com mx COMMERCIAL Extension Package 2.0.4 Message-ID: ________________________________________________________________________ ANNOUNCING: eGenix.com mx COMMERCIAL Extension Package for Python Version 2.0.4 Full Source Python extensions providing important and useful services for Python programmers. ________________________________________________________________________ WHAT IS IT ?: The eGenix.com mx COMMERCIAL Package for Python is part of the eGenix.com mx Extension Series for Python, a collection of professional quality software tools which enhance Python's usability in many important areas such as ODBC database connectivity, fast text processing, date/time processing and web site programming. This commercial package includes the popular mxODBC extension which allows users to connect from Python to just about any database on the market today, on Windows, Unix and Linux. By providing a consistent interface on all supported platforms, mxODBC serves as perfect base for writing cross-platform database programs and utilities. ________________________________________________________________________ WHAT'S NEW ? Compatibility to Unicode-aware ODBC drivers such as the latest MS Access and MS SQL Server ODBC drivers was enhanced in mxODBC. It is now possible to exchange native Unicode data with these Unicode-capable databases using mxODBC. As always we are providing precompiled versions of the package for Windows and Linux as well as sources which allow you to install the package on all other supported platforms. ________________________________________________________________________ SPECIAL OFFER theKompany.com has licensed the eGenix.com mx Commercial Package (which includes mxODBC) for inclusion in their brand new Qt-based Python IDE BlackAdder. It allows developing portable GUI-based database applications which run on Windows and Linux platforms without any change to the source code. BlackAdder includes a 1 CPU license for this package at no extra cost, so you may want to check out their great new product. See http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#BlackAdder for details. ________________________________________________________________________ EGENIX.COM MX COMMERCIAL PACKAGE OVERVIEW: mxODBC - Generic ODBC 2.0-3.5 interface for Python mxODBC is an extension package that provides a Python Database API compliant interface to ODBC capable database drivers and managers. In addition to the capabilities provided through the standard DB API it also gives access to a rich set of catalog methods which allow you to scan the database for tables, procedures, etc. Furthermore, it uses the mxDateTime package for date/time value interfacing eliminating most of the problems these types normally introduce (other in/output formats are available too). mxODBC allows you to interface to more than one database from one process, making inter-database interfacing very flexible and reliable. The source version includes a varity of preconfigured setups for many commonly used databases such as MySQL, Oracle, Informix, Solid, SAP DB, Sybase ASA and ASE, DBMaker and many more. The precompiled versions for Windows and Linux include the interfaces to the standard ODBC manager on these platforms to allow for a more easily configurable setup. More details are available at: http://www.lemburg.com/files/python/mxODBC.html ________________________________________________________________________ WHERE CAN I GET IT ? The download archives and instructions for installing the packages can be found at: http://www.lemburg.com/files/python/ Note that in order to use the eGenix.com mx COMMERCIAL package you will also need to install the eGenix.com mx BASE package which can be downloaded from the same location. ________________________________________________________________________ WHAT DOES IT COST ? mxODBC comes with a licenses which allows non-commercial use at no charge, but places a moderate fee on commercial users. Special licensing setups are available for commercial product developers. Please see http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#mxCOMMERCIAL for details. The package comes with full source code. ________________________________________________________________________ WHERE CAN I GET SUPPORT ? Commercial quality support for these packages is available from eGenix.com Software GmbH. Please see http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#Support for details about the eGenix support offerings. ________________________________________________________________________ REFERENCE:

eGenix.com mx COMMERCIAL Package 2.0.4 - eGenix.com mx COMMERCIAL Interface 2.0.4 with distutils support and precompiled binaries for Windows and Linux. (26-Nov-2001) ________________________________________________________________________ Enjoy, -- Marc-Andre Lemburg CEO eGenix.com Software GmbH ______________________________________________________________________ Consulting & Company: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/ From mal@lemburg.com Mon Nov 26 14:13:24 2001 From: mal@lemburg.com (M.-A. Lemburg) Date: Mon, 26 Nov 2001 15:13:24 +0100 Subject: ANN: Python Benchmark Suite -- pybench 1.0 Message-ID: ________________________________________________________________________ ANNOUNCING: pybench -- The Python Benchmark Suite Version 1.0.0 Extendable suite of of low-level benchmarks for measuring the performance of the Python implementation (interpreter, compiler or VM). ________________________________________________________________________ WHAT IS IT ?: pybench is a collection of tests that provides a standardized way to measure the performance of Python implementations. It takes a very close look at different aspects of Python programs and let's you decide which factors are more important to you than others, rather than wrapping everything up in one number, like the other performance tests do (e.g. pystone which is included in the Python Standard Library). pybench has been used in the past by several Python developers to track down performance bottlenecks or to demonstrate the impact of optimizations and new features in Python. There's currently no documentation and no distutils support in pybench; that'll go into one of the next releases. For now, please read the source code. The command line interface for pybench is the file pybench.py. Run this script with option '--help' to get a listing of the possible options. Without options, pybench will simply execute the benchmark and then print out a report to stdout. Here's some sample output: """ Tests: per run per oper. overhead ---------------------------------------------------------------------- BuiltinFunctionCalls: 131.50 ms 1.03 us 0.50 ms BuiltinMethodLookup: 195.85 ms 0.37 us 1.00 ms CompareFloats: 126.00 ms 0.28 us 1.00 ms CompareFloatsIntegers: 201.05 ms 0.45 us 0.50 ms CompareIntegers: 192.05 ms 0.21 us 2.00 ms CompareInternedStrings: 117.65 ms 0.24 us 3.50 ms ... TryExcept: 289.75 ms 0.19 us 3.00 ms TryRaiseExcept: 179.05 ms 11.94 us 1.00 ms TupleSlicing: 159.75 ms 1.52 us 0.50 ms UnicodeMappings: 171.85 ms 9.55 us 1.00 ms UnicodePredicates: 152.05 ms 0.68 us 4.00 ms UnicodeProperties: 203.00 ms 1.01 us 4.00 ms UnicodeSlicing: 190.10 ms 1.09 us 2.00 ms ---------------------------------------------------------------------- Average round time: 10965.00 ms """ ________________________________________________________________________ WHAT'S NEW ? This release includes a few more tests and extends the range of supported Python versions to 1.5.x - 2.2. It is also the first publically announced new version of pybench in years. ________________________________________________________________________ WHERE CAN I GET IT ? The download archive of the package can be found at: http://www.lemburg.com/files/python/ ________________________________________________________________________ WHAT DOES IT COST ? pybench comes with a Python style license, which means that you can use them in both commercial and non-commercial settings without fee or charge. It comes with full source code. ________________________________________________________________________ WHERE CAN I GET SUPPORT ? Commercial quality support for this package is available from eGenix.com Software GmbH in form of support tickets. Please see http://www.lemburg.com/files/python/eGenix-mx-Extensions.html#Support for details about the eGenix support offerings. ________________________________________________________________________ REFERENCE:

pybench 1.0 - Python Benchmark Suite. (26-Nov-2001) ________________________________________________________________________ Enjoy, -- Marc-Andre Lemburg CEO eGenix.com Software GmbH ______________________________________________________________________ Company & Consulting: http://www.egenix.com/ Python Software: http://www.lemburg.com/python/ From mwh@python.net Tue Nov 27 13:05:50 2001 From: mwh@python.net (Michael Hudson) Date: Tue, 27 Nov 2001 13:05:50 GMT Subject: pyrepl-0.6 Message-ID: I'm pleased to announce a new version of my pyrepl package. Here's an excerpt from the README: This is pyrepl 0.6, a readline-a-like for Python, which seems to be being released on 2001-11-27. http://starship.python.net/crew/mwh/hacks/pyrepl.html It requires python 2.1 (or newer) with the curses and termios modules built, and features (in less than 3000 lines of code): * sane multi-line editing * history, with incremental search * completion, including displaying of available options * a fairly large subset of the readline emacs-mode keybindings (adding more is mostly just a matter of typing) * a liberal, Python-style, license * a new python top-level * no global variables, so you can run two or more independent readers without having their histories interfering. * generally speaking, a much more interactive experience than readline (it's a bit like a cross between readline and emacs's mini-buffer) [...] Please direct comments to mwh@python.net. (If you've released open source software you'll know how frustrating it is to see a couple of hundred downloads and only get a handful of emails, so don't think I'll be irritated by the banality of your comments!) New since 0.5.1: + Rewrote the low level code to be (hopefully) more portable and (certainly) clearer. Most of the code from 0.5.1 is still present, but it's been moved around and refactored (and the names have gotten more sensible). + The above process fixed a fair few bugs. + Implemented a few more emacs-mode bindings. + Nailed another couple of differences between my top-level and the the default one, including playing nice with Tk. + Implemented a saner way of handling window resizes (a sane way of handling signals! Call the Unix police!) + minimal testing on cygwin. [...] Cheers, M. -- 3. Syntactic sugar causes cancer of the semicolon. -- Alan Perlis, http://www.cs.yale.edu/homes/perlis-alan/quotes.html From gmcm@hypernet.com Tue Nov 27 19:15:53 2001 From: gmcm@hypernet.com (gmcm@hypernet.com) Date: Tue, 27 Nov 2001 14:15:53 -0500 Subject: ANN Installer Release 5 Message-ID: Release 5 of the McMillan Installer is here: http://www.mcmillan-inc.com/install5_ann.html Release 5 is a rewrite of the analysis and building code from earlier releasess. The result is much smaller, faster and more capable. Major changes include: - Instead of using an ini-file configuration (with a host of confusing options), Release 5 uses Python syntax specification files. - An extensible hooks mechanism for modules / packages that use import hacks. - Ability to run on non-ELF platforms (should run on most Unix systems, although I have not been able to test much of this). - Linux users get full binary dependency analysis (so you can include a private installation of TCL/TK or wxWindows, for example). - Windows users can now create "frozen" in-process COM servers. - Refactored C code (many thanks to Alan Green) so embedders can make use of Installer's capabilities. There is also an Installer mailling list. Subscribe at: http://trixie.triqs.com/mailman/listinfo/installer Supported systems include: - Windows - Linux - Unix (alpha quality) Supported Python versions: - Python 1.5 to 2.1 (2.2b2 appears to work too). What is it: The Installer package is any easy way to deploy Python apps to systems without Python installed (or with incompatible Pythons installed). License: MIT style. Contact: gmcm@hypernet.com

Installer Release 5Easy Python app deployment. (27-Nov-2001). From bkelley@wi.mit.edu Tue Nov 27 22:39:53 2001 From: bkelley@wi.mit.edu (Brian Kelley) Date: Tue, 27 Nov 2001 16:39:53 -0600 Subject: PySomorph 0.91 Graph Isomorphism Library Message-ID: PySomorph is a python package for investingating subgraph isomorphism. Subgraph Isomorphism is useful for a number of pratical applications spanning from relational theory to investigating chemical structures. PySomorph is a binding to the University of Napoli's graph isomorphism library. The main benefit is that edges and nodes of graph structures can be arbitrary python objects. This allows for an amazing amount of flexibility in the creation and searching of various graphs. * Now uses disutils for unix/linux installations. * Fixed a reference counting bug that caused odd failures when certain objects were deleted. * added an example application, subgraph isomorphism for network topology Download and homepage at http://staffa.wi.mit.edu/people/kelley/ Brian Kelley Whitehead Institute for Biomedical Research From barry@zope.com Wed Nov 28 04:38:27 2001 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 27 Nov 2001 23:38:27 -0500 Subject: RELEASE Mailman 2.0.8 Message-ID: I've just released version 2.0.8 of Mailman, the GNU Mailing List Manager. Mailman is released under the GNU General Public License (GPL). Version 2.0.8 closes several cross-site scripting vulnerabilities and includes a few other minor bug fixes. More information on cross-site scripting exploits in general can be found at http://www.cert.org/advisories/CA-2000-02.html I recommend anybody running a version of Mailman up to, and including 2.0.7 to upgrade to version 2.0.8. 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 GNU/Linux and should run on any other Unix-like operating system. Mailman 2.0.8 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: http://mailman.sourceforge.net http://www.list.org (Note: the gnu.org mirror is not yet updated.) Patches and tarbals are available at http://sourceforge.net/project/showfiles.php?group_id=103 There are email lists (managed by Mailman, of course!) for both Mailman users and developers. See the web sites above for details. Cheers, -Barry -------------------- snip snip -------------------- 2.0.8 (27-Nov-2001) Security fix release to prevent cross-site scripting exploits. See http://www.cert.org/advisories/CA-2000-02.html for a description of the general problem (not Mailman specific). From gward@python.net Wed Nov 28 22:12:26 2001 From: gward@python.net (Greg Ward) Date: Wed, 28 Nov 2001 17:12:26 -0500 Subject: ANNOUNCE: Optik 1.1.1 Message-ID: Optik 1.1.1 =========== Optik is a powerful, flexible, extensible, easy-to-use command-line parsing library for Python. Using Optik, you can add intelligent, sophisticated handling of command-line options to your scripts with very little overhead. Here's an example of using Optik to add some command-line options to a simple script: from optik import OptionParser [...] parser = OptionParser() parser.add_option("-f", "--file", action="store", type="string", dest="filename", help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=1, help="don't print status messages to stdout") (options, args) = parser.parse_args() With these few lines of code, users of your script can now do the "usual thing" on the command-line: -f outfile --quiet -qfoutfile --file=outfile -q --quiet --file outfile (All of these result in options.filename == "outfile" options.verbose == 0 ...just as you might expect.) Even niftier, users can run one of -h --help and Optik will print out a brief summary of your script's optons: usage: [options] options: -h, --help show this help message and exit -fFILE, --file=FILE write report to FILE -q, --quiet don't print status messages to stdout That's just a taste of the flexibility Optik gives you in parsing your command-line. See the documentation included in the package for details. AUTHOR, COPYRIGHT, AVAILABILITY ------------------------------- Optik was written by Greg Ward The latest version of Optik can be found at http://optik.sourceforge.net/ Copyright (c) 2001 Gregory P. Ward. All rights reserved. CHANGES IN OPTIK 1.1.1 ---------------------- * Various documentation tweaks (thanks to Alan Eldridge for prodding me into those, and for doing most of one). * Fixed a bug that prevented users from doing things like -f"" or --file="" on the command-line. Involved rewriting some hairy code in OptionParser, which has the pleasant side-effect that the first argument to an option with multiple arguments can now be jammed up against the option, eg. "-p3 5 1". -- Greg Ward - geek-at-large gward@python.net http://starship.python.net/~gward/ Very few profundities can be expressed in less than 80 characters. From Oleg Broytmann Thu Nov 29 11:43:20 2001 From: Oleg Broytmann (Oleg Broytmann) Date: Thu, 29 Nov 2001 14:43:20 +0300 Subject: mimedecode.py version 1.1.1 Message-ID: Hello! mimedecode.py WHAT IS IT Mail users, especially in non-English countries, often find that mail messages arrived in different formats, with different content types, in different encodings and charsets. Usually this is very good because it allows us to use apropriate formats/encodings/whatever. Sometimes, though, some unification is desireable. For example, one may want to put mail messages into an archive, make HTML indicies, run search indexer, etc. In such situations converting messages to text in one character set and skipping some binary atachmetnts will be much desireable. Here is the solution - mimedecode.py. This is a program to decode MIME messages. The program expects one input file (either on command line or on stdin) which treated as an RFC822 mesage, and decoded to stdout. If the file is not an RFC822 message the file just piped to stdout one-to-one. If it is a simple RFC822 message it is just decoded as one part. If it is a MIME message with multiple parts ("attachments") all parts decoded. Decoding can be controlled by command-line options. WHAT'S NEW in version 1.1.1 Documentation in DocBook v4.1 format. HTML, plain text and manual page. WHERE TO GET Master site: http://phd.pp.ru/Software/Python/#mimedecode Faster mirrors: http://phd.by.ru/Software/Python/#mimedecode http://phd2.chat.ru/Software/Python/#mimedecode Requires: Python 2.0+ (actually tested with 2.1.1), configured mailcap database. Documentation (also included in the package): http://phd.pp.ru/Software/Python/mimedecode.txt http://phd.by.ru/Software/Python/mimedecode.txt http://phd2.chat.ru/Software/Python/mimedecode.txt AUTHOR Oleg Broytmann COPYRIGHT Copyright (C) 2001 PhiloSoft Design LICENSE GPL Oleg. -- Oleg Broytmann http://phd.pp.ru/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN. From usenet@NOSPAM-irmen.cjb.net Fri Nov 30 15:46:28 2001 From: usenet@NOSPAM-irmen.cjb.net (Irmen de Jong) Date: Fri, 30 Nov 2001 16:46:28 +0100 Subject: ANN: Pyro 2.2 is available Message-ID: You can get the latest Pyro version (2.2) at http://pyro.sourceforge.net What is Pyro? Pyro is an acronym for PYthon Remote Objects. It is a basic Distributed Object Technology system written entirely in Python. It is extremely easy to implement a distributed system with Pyro, because all network communication code is abstracted and hidden from your application. You just get a remote Python object and invoke methods on the object on the other machine. Pyro offers you a Name Server, an Event Service, mobile objects, remote exceptions, dynamic proxies, remote attribute access, automatic reconnection, a detailed manual, and many examples to get you started right away. Irmen de Jong