From jeffreymsimpson@cox.net Mon Sep 1 01:35:58 2003 From: jeffreymsimpson@cox.net (Jeff Simpson) Date: 31 Aug 2003 17:35:58 -0700 Subject: ANN: Coil 0.4.....again Message-ID: Oops, I was so excited I left the link to the project out in the last annoucement. Doh! Summary ------- Coil (http://coil.sourceforge.net) is an MVC framework for Python based on the Struts project. The goal of the project is to provide enough features to be useful and no more. Requirements ------------ - Apache 2.x - mod_python 3.x - Python 2.2 or greater - Linux (devel platform) or Windows (not thoroughly tested) Features -------- - Easy configuration - Automatic form handling (via XML config) - Multiple rendering layers or views (Cheetah, Spyce, and PSP) - It's Python instead of Java :) From shlomme@gmx.net Mon Sep 1 13:14:35 2003 From: shlomme@gmx.net (Torsten Marek) Date: Mon, 01 Sep 2003 14:14:35 +0200 Subject: ANN: libtagedit and libtagedit-python 1.0 beta 2 released Message-ID: Hello, I am very glad to announce the release of libtagedit 1.0 beta2 and its python bindings. Libtagedit is a C++ library with Python bindings using sip (www.riverbankcomputing.co.uk) to make editing tags, information or comments in music files easy. It has a plugin infrastructure for easy extension and supports MP3 (ID3v2 reading/writing and ID3v1 reading), Ogg Vorbis and (new in this release!) FLAC files. .: Description: Due to the different structure and information stored in the several music formats, this library only supports the storage of the seven fields Title, Artist, Album, Year, Genre, Tracknumber and Comment (all of arbitrary length in every file format). Also, length and bitrate will be read from the file (more technical information like channels and sample rate may be added in future 1.x releases). Editing the tags can take place without any knowlegde of the file format on the disk, so having complete albums consisting of different formats is not a problem any more. Furthermore, using the Python bindings, file information can be easily read out or changed in scripts or interactive sessions. Creating, for example, m3u files becomes a cakewalk: --== sample code ==-- import tageditor import os m3ufile = file("files.m3u", "w") m3ufile.write("#EXTM3U\n") for f in os.listdir("."): if os.path.splitext(f)[1] not in tageditor.tagEditorExts(): continue tag = tageditor.createTagEditor(f) m3ufile.write( "#EXTINF:%i,%s - %s\n" % (tag.getLength(), tag["Artist"], tag["Title"])) m3ufile.write(tag.filename() + "\n") --== end of sample code ==-- .: Changes since 1.0b1: 2003-08-31 Torsten Marek * added FLAC support * changes/additions to the build system, now Ogg Vorbis and FLAC are disabled when not detected on the system * released as 1.0b2 2003-06-01 Torsten Marek * in id3Tag::getSongInfo(): replaced head |= tmp[0] by head |= (unsigned char)tmp[0] to avoid wrong length computation There aren't any changes in the Python bindings, they're just for completeness. .: Requirements: libtagedit: Ogg Vorbis libraries (optional) FLAC C and C++ libraries (optional) libtagedit-python: Python 2.2 or 2.3 with distutils sip 3.8 .: Where to get it: http://www.sourceforge.net/projects/libtagedit .: Where to send questions: Torsten Marek From pygtk@daa.com.au Tue Sep 2 14:55:07 2003 From: pygtk@daa.com.au (James Henstridge) Date: Tue, 02 Sep 2003 21:55:07 +0800 Subject: ANNOUNCE: PyGTK 2.0.0 Message-ID: I am pleased to announce version 2.0.0 of the Python bindings for GTK. The new release is available from ftp.gtk.org or ftp.gnome.org and its mirrors: ftp://ftp.gtk.org/pub/gtk/python/v2.0/pygtk-2.0.0.tar.gz http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.0/ GTK is a toolkit for developing graphical applications that run on POSIX systems such as Linux, Windows and MacOS X (provided that the X server for MacOS X has been installed). It provides a comprehensive set of GUI widgets, can display Unicode bidi text. It links into the Gnome Accessibility Framework through the ATK library. PyGTK provides a convenient wrapper for the GTK library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications. Like the GTK library itself PyGTK is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full features applications. PyGTK requires GTK >= 2.0 and Python >= 2.2 to build. Questions about PyGTK can be directed at the list: http://www.daa.com.au/mailman/listinfo/pygtk Bug reports should be filed at the Gnome bug tracker: http://bugzilla.gnome.org/enter_bug.cgi?product=pygtk James Henstridge. -- Email: james@daa.com.au WWW: http://www.daa.com.au/~james/ From pygtk@daa.com.au Tue Sep 2 14:55:18 2003 From: pygtk@daa.com.au (James Henstridge) Date: Tue, 02 Sep 2003 21:55:18 +0800 Subject: ANNOUNCE: PyORBit 2.0.0 Message-ID: PyORBit 2.0.0, the Python binding for the ORBit2 CORBA ORB, is now available at: http://ftp.gnome.org/pub/GNOME/sources/pyorbit/2.0/ PyORBit provides both client and server side CORBA bindings, and aims to follow the standard Python language mapping for CORBA (http://www.omg.org/cgi-bin/doc?formal/02-09-07). PyORBit is capable of calling in process servers implemented using ORBit2, and being called by in process C code. This makes it ideal for use in the Gnome environment, and is used by the gnome-python Gnome bindings. PyORBit requires ORBit2 >= 2.4.4 and Python >= 2.2. Questions about PyORBit can be directed to the PyGTK list: http://www.daa.com.au/mailman/listinfo/pygtk Bug reports should be filed at the Gnome bug tracker: http://bugzilla.gnome.org/enter_bug.cgi?product=pyorbit James Henstridge. -- Email: james@daa.com.au WWW: http://www.daa.com.au/~james/ From pygtk@daa.com.au Tue Sep 2 14:55:32 2003 From: pygtk@daa.com.au (James Henstridge) Date: Tue, 02 Sep 2003 21:55:32 +0800 Subject: ANNOUNCE: Gnome-Python 2.0.0 Message-ID: Gnome-Python 2.0.0 is now available at: http://ftp.gnome.org/pub/GNOME/sources/gnome-python/2.0/ Gnome-Python provides bindings for the Gnome 2.x development platform libraries. It builds on top of PyGTK, and includes bindings for the following: * the GConf configuration database * the Bonobo component system * the Gnome-VFS file access library * support for writing panel applets and Nautilus views * the GtkHTML2 widget. * the Gnome-Print print libraries. Gnome-Python requires PyGTK, PyORBit, Python >= 2.2 and the Gnome 2.x development platform to build. Questions about Gnome-Python can be directed to the PyGTK list: http://www.daa.com.au/mailman/listinfo/pygtk Bug reports should be filed at the Gnome bug tracker: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-python James Henstridge. -- Email: james@daa.com.au WWW: http://www.daa.com.au/~james/ From jason@tishler.net Tue Sep 2 19:22:05 2003 From: jason@tishler.net (Jason Tishler) Date: Tue, 2 Sep 2003 14:22:05 -0400 Subject: Updated Cygwin Package: python-2.3-2 Message-ID: New News: === ==== I have updated the version of Python to 2.3-2. The tarballs should be available on a Cygwin mirror near you shortly. Note this package was built against Cygwin 1.5.2-1. Hence, it *is* an official 64-bit, Cygwin 1.5.x package. Old News: === ==== Python is an interpreted, interactive, object-oriented programming language. If interested, see the Python web site for more details: http://www.python.org/ Please read the README file: /usr/doc/Cygwin/python-2.3.README since it covers requirements, installation, known issues, etc. To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Then, run setup and answer all of the questions. Note that we have recently stopped downloads from sources.redhat.com (aka cygwin.com) due to bandwidth limitations. This means that you will need to find a mirror which has this update. In the US, ftp://mirrors.rcn.net/mirrors/sources.redhat.com/cygwin/ is a reliable high bandwidth connection. In Germany, ftp://ftp.uni-erlangen.de/pub/pc/gnuwin32/cygwin/mirrors/cygnus/ is usually pretty good. In the UK, http://programming.ccp14.ac.uk/ftp-mirror/programming/cygwin/pub/cygwin/ is usually up-to-date within 48 hours. If one of the above doesn't have the latest version of this package then you can either wait for the site to be updated or find another mirror. The setup.exe program will figure out what needs to be updated on your system and will install newer packages automatically. If you have questions or comments, please send them to the Cygwin mailing list at: cygwin@cygwin.com . I would appreciate if you would use this mailing list rather than emailing me directly. This includes ideas and comments about the setup utility or Cygwin in general. If you want to make a point or ask a question, the Cygwin mailing list is the appropriate place. *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO *** If you want to unsubscribe from the cygwin-announce mailing list, look at the "List-Unsubscribe: " tag in the email header of this message. Send email to the address specified there. It will be in the format: cygwin-announce-unsubscribe-you=yourdomain.com@cygwin.com Jason -- PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6 From pythonguy@Hotpop.com Thu Sep 4 19:12:51 2003 From: pythonguy@Hotpop.com (Anand Pillai) Date: 4 Sep 2003 11:12:51 -0700 Subject: ANN - HarvestMan 1.2 alpha Message-ID: HarvestMan is a full-featured, multithreaded, multiprotocol, and customizable web crawler written in python. It is currently in version 1.1 and supports as much as 35 different end user options for customization. The version 1.2 (alpha) is available for download at the HarvestMan project page below. URL=> http://sithara.freezope.org/harvestman/source This release adds Cookie support based on RFC 2109 and also Caching of files/pages. A new fetchlevel is added and many bugs have been fixed. This is the first release on the road to 1.2 final release. Send your comments/bug reports to authors. Thanks. -Anand Pillai From barry@python.org Thu Sep 4 19:58:42 2003 From: barry@python.org (Barry Warsaw) Date: 04 Sep 2003 14:58:42 -0400 Subject: mail is working again Message-ID: I believe that the mail system for python.org and zope.org is now working again. We had several problems related to our Exim installation, running out of disk space, and our spam/virus defenses. Please note that it is possible that some legitimate messages got lost. It may take a while for all the Exim and Mailman queues to get cleared out, so please do not resend your message right away. But if your post does not reach the intended mailing list or python.org recipient within a few days, you may need to resend it. Huge thanks to Jeremy Hylton, Andrew Kuchling, and Skip Montanaro for helping me get the system up and running again. -Barry From jcribbs@twmi.rr.com Thu Sep 4 13:19:28 2003 From: jcribbs@twmi.rr.com (Jamey Cribbs) Date: Thu, 04 Sep 2003 12:19:28 GMT Subject: ANNOUNCE: MojoView 1.0 Message-ID: MojoView 1.0 is now available at: http://www.netpromi.com/files/MojoView-1.0.zip What is MojoView? MojoView is a Python package that assists you in building simple gui database applications using PyGTK2. It consists of a set of classes that you can subclass in your application. Each class is either a dialog or a widget that should be placed inside a dialog, along with supporting code that handles a lot of the mundane details inherant in most gui database apps. I think that this package will mostly help those new to or unfamiliar with developing PyGTK2 applications. Experienced PyGTK programmers will have probably already developed their own libraries providing similar or better functionality. To find out more about MojoView, go to: http://www.netpromi.com/mojoview.html From jcribbs@twmi.rr.com Wed Sep 3 23:34:47 2003 From: jcribbs@twmi.rr.com (Jamey Cribbs) Date: Wed, 03 Sep 2003 22:34:47 GMT Subject: ANNOUNCE: KirbyBase 1.5 Message-ID: KirbyBase 1.5 is now available at: http://www.netpromi.com/files/KirbyBase-1.5.zip What is KirbyBase? KirbyBase is a simple, pure-Python, plain-text, flat-file database management system that can be used either embedded in your application or in a client/server, multi-user mode. To find out more about KirbyBase, go to: http://www.netpromi.com/kirbybase.html Changes: Well after reading some posts on comp.lang.python about how slow eval can be, I set about eliminating eval from KirbyBase. It resulted in uglier code, but increased performance, enough of a performance increase that I figured I would go ahead and release a new version. Specifically, the changes are: Changed the way queries are handled internally. Instead of doing an eval to do numeric and datetime comparisons, I changed it to do the actual comparison itself. This resulted in a 40% speed increase on large queries that do comparison expressions. Changed how data is passed between the server and the client in client/server mode. I now use cPickle instead of repr and eval. This resulted in an approximately 40% speed increase in client/server operations. An anecdotal example, doing a date range select query against a 78,000 record table returning 23,800 records in the result set. Version 1.4: 13 seconds Version 1.5: 8 seconds Who says Python isn't fast? :) From jcribbs@twmi.rr.com Thu Sep 4 13:18:02 2003 From: jcribbs@twmi.rr.com (Jamey Cribbs) Date: Thu, 04 Sep 2003 12:18:02 GMT Subject: ANNOUNCE: KirbyBase 1.5 Message-ID: KirbyBase 1.5 is now available at: http://www.netpromi.com/files/KirbyBase-1.5.zip What is KirbyBase? KirbyBase is a simple, pure-Python, plain-text, flat-file database management system that can be used either embedded in your application or in a client/server, multi-user mode. To find out more about KirbyBase, go to: http://www.netpromi.com/kirbybase.html Changes: Well after reading some posts on comp.lang.python about how slow eval can be, I set about eliminating eval from KirbyBase. It resulted in uglier code, but increased performance, enough of a performance increase that I figured I would go ahead and release a new version. Specifically, the changes are: Changed the way queries are handled internally. Instead of doing an eval to do numeric and datetime comparisons, I changed it to do the actual comparison itself. This resulted in a 40% speed increase on large queries that do comparison expressions. Changed how data is passed between the server and the client in client/server mode. I now use cPickle instead of repr and eval. This resulted in an approximately 40% speed increase in client/server operations. An anecdotal example, doing a date range select query against a 78,000 record table returning 23,800 records in the result set. Version 1.4: 13 seconds Version 1.5: 8 seconds Who says Python isn't fast? :) From alexander.dejanovski@laposte.net Fri Sep 5 10:58:08 2003 From: alexander.dejanovski@laposte.net (=?iso-8859-1?Q?alexander.dejanovski?=) Date: Fri, 5 Sep 2003 11:58:08 +0200 Subject: =?iso-8859-1?Q?Retic_EAI_Server_0.5_Released_-_3_new_components?= Message-ID: I've released a new version of Retic with new components : =0D=0A=0D=0A- = SOAPSource=0D=0A- xmlBlasterSink=0D=0A- XindiceSink (apache foundation XM= L Database)=0D=0A=0D=0AOther changes are : =0D=0A- Bug fixes in SQLTreeSo= urce (Major one preventing from=0D=0Aclosing some tags correctly)=0D=0A- = Bug fix in SQLSource : fetchall() method was called without=0D=0Aall the = required arguments (used when msgSize =3D 0)=0D=0A- Modified fileSink : N= ow choice is given between appending=0D=0Aand overwriting output file=0D=0A= - Many improvements on exception handling (now written to=0D=0Aloggers wi= th ERROR level)=0D=0A- The designer is now bundled with retic and not any= more alone=0D=0A(works on win32 only).=0D=0A=0D=0AIt is available on sour= ceforge :=0D=0Ahttp://sourceforge.net/projects/retic=0D=0A=0D=0AFeedback = would be widely appreciated :=0D=0Aalexander.dejanovski@laposte.net=0D=0A= =0D=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D=0AWHAT IS RETIC ?=0D=0A=0D=0AR= etic is an EAI Server. =0D=0AThe aim is to permit applications to communi= cate, even if they=0D=0Adon't speak the same language (which means transp= ort protocols=0D=0Aas well as data structures).=0D=0AThis is done by buil= ding adaptors. An adaptor is composed of :=0D=0A - One source=0D=0A= - Several pipes (process data transformations)=0D=0A - Sev= eral sinks (destination of data)=0D=0A - Several loggers (using th= e logging module of python 2.3)=0D=0A=0D=0A=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=0D=0A=0D=0AHave fun !!!=0A=0AAcc=E9dez au courrier =E9lectronique de = La Poste : www.laposte.net ; =0A3615 LAPOSTENET (0,34=80/mn) ; t=E9l : 08= 92 68 13 50 (0,34=80/mn)=0A=0A From Alexandre.Fayolle@logilab.fr Fri Sep 5 16:22:42 2003 From: Alexandre.Fayolle@logilab.fr (Alexandre Fayolle) Date: Fri, 5 Sep 2003 17:22:42 +0200 Subject: [ANN] pygantt-0.9.2 Message-ID: Hello, Logilab has released pygantt-0.9.2. Pygantt is a tool which takes an XML description for a project tasks and resources and generates Gantt diagrams. It is released under the Gnu GPL.=20 This new release features some heavy refactoring, as well as some nice new features (such as skill handling for resources) and bugfix (especially in the scheduling part of the code). Project homepage: http://www.logilab.org/projects/pygantt Direct download: ftp://ftp.logilab.org/pub/pygantt/pygantt-0.9.2.tar.gz --=20 Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D=E9veloppement logiciel avanc=E9 - Intelligence Artificielle - Formation= s From beta@thinksql.co.uk Sat Sep 6 00:22:30 2003 From: beta@thinksql.co.uk (Greg Gaughan) Date: Sat, 6 Sep 2003 00:22:30 +0100 Subject: ANN: Pure Python DB-API module for ThinkSQL Message-ID: We have just released an initial version of a pure Python DB-API 2.0 compliant module for the ThinkSQL RDBMS. It can be downloaded from the News section of our site at http://www.thinksql.co.uk. ThinkSQL is a powerful, cross-platform, multi-threaded relational database management system. It supports Core ISO SQL, transactions, sub-selects, views, stored procedures, functions, comprehensive constraints, large objects, multi-version concurrency control, on-line backups, and a statistical optimiser that uses constraints and relationships to improve plans. The SQL server is simple to install and bloat-free. It runs under Windows and Linux and includes native ODBC, dbExpress (Delphi/Kylix), JDBC and Python drivers. Regards, Greg Gaughan ThinkSQL Ltd From halley@dnspython.org Sat Sep 6 10:02:08 2003 From: halley@dnspython.org (Bob Halley) Date: 06 Sep 2003 02:02:08 -0700 Subject: ANN: dnspython 1.2.0b1 Message-ID: dnspython 1.2.0b1 has been released. Here's the README: dnspython INTRODUCTION dnspython is a DNS toolkit for Python. It supports almost all record types. It can be used for queries, zone transfers, and dynamic updates. It supports TSIG authenticated messages and EDNS0. dnspython provides both high and low level access to DNS. The high level classes perform queries for data of a given name, type, and class, and return an answer set. The low level classes allow direct manipulation of DNS zones, messages, names, and records. To see a few of the ways dnspython can be used, look in the examples/ directory. dnspython originated at Nominum where it was developed to facilitate the testing of DNS software. Nominum has generously allowed it to be open sourced under a BSD-style license, and helps support its future development by continuing to employ the author :). ABOUT THIS RELEASE This is dnspython 1.2.0b1. New since 1.1.0: Timeout support has been overhauled. It now works on Python 2.2 as well as 2.3, and the total time spent processing a query is now much more controllable before since the timeout is now on the whole query instead of just on individual network calls. The master file reader now gives the filename and line number of the offending input when a syntax error occurs. $INCLUDE is now supported in DNS master files. Processing of $INCLUDE can also be disabled if desired. BIND 8 style TTLs, e.g. "1w2d3h4m5s", are accepted when reading a master file, but will never be emitted. Basic zone sanity checks are made after a zone is loaded. Specifically, the zone must have SOA and NS rdatasets at its origin. This release fixes all known bugs. See the ChangeLog file for more detailed information on changes since the prior release. REQUIREMENTS Python 2.2 or later. INSTALLATION To build and install dnspython, type python setup.py install HOME PAGE For the latest in releases, documentation, and information, visit the dnspython home page at http://www.dnspython.org/ DOCUMENTATION Documentation is sparse at the moment. Use pydoc, or read the HTML documentation at the dnspython home page, or download the HTML documentation. BUG REPORTS Bug reports may be sent to bugs@dnspython.org MAILING LISTS A number of mailing lists are available. Visit the dnspython home page to subscribe or unsubscribe. From poire.williams@nomore.org Sat Sep 6 14:33:11 2003 From: poire.williams@nomore.org (Poire Williams) Date: Sat, 06 Sep 2003 15:33:11 +0200 Subject: [ANN] BTManager 1.0.7 Message-ID: BTManager is a BitTorrent download manager and client, written in pure Python and based on the current BitTorrent official implementation. Some features: * Several simultaneous downloads in the background * Web interface * GUI interface, independent from the core (you can close the GUI without affecting the background process). Currently based on wxPython; a FLTK2 GUI is being developped. * Remote adding of new torrents * Runs under Linux and Windows, probably MacOS too. The SourceForge project page: http://www.sourceforge.net/projects/btmanager/ From zanesdad@bellsouth.net Sat Sep 6 21:24:14 2003 From: zanesdad@bellsouth.net (Jeremy Jones) Date: Sat, 6 Sep 2003 16:24:14 -0400 Subject: ANN: Munkware 0.2 Message-ID: Munkware, a transactional and persistent queueing mechanism, is proud to announce version 0.2 for public consumption. Bug fixes/enhancements include: - Bug-fix - re-instantiation of a full queue was throwing an exception. This is fixed now. - Re-added support for the un_*() syntax in addition to *_rollback() - Added support for passing in a callback class. Usefulness of such a feature includes easy queue prioritization, queue filtering, etc. There are a couple of example scripts in the example directory of the download. The Sourceforge Project page is located at http://sourceforge.net/projects/munkware/ and the project home page is located at http://munkware.sourceforge.net/ Future plans for Munkware include: - Better documentation with diagrams of state traversal - currently in progress. - Auto-commit functionality - planned for version 0.3 - Transactional and persistent queueing server with a Web Services interface If you have any suggestions, please feel free to email them to me. Jeremy Jones From webmaster@keyphrene.com Sun Sep 7 07:29:41 2003 From: webmaster@keyphrene.com (webmaster@keyphrene.com) Date: Sun, 7 Sep 2003 6:29:41 GMT Subject: ANN: Naja 0.8.5 is now available Message-ID: Naja is a freeware tool written in Python/wxPython. Naja is a download manager and a website grabber. It can be used for extract articles from news server. Naja supports proxy (HTTP, HTTPS, FTP, SOCKS v4a, SOCKS v5). The downloading maybe achieved by splitting the file being downloaded into several parts and downloading these parts at the same time (HTTP, HTTPS, FTP). Donwload speeds are increased by downloading the file from the mirror sites, when the sites propose it. Others features: filter Csv, Cheksums (CRC32, MD5, SHA1), Web Interface (take control since your office) Naja is available for download from the Keyphrene web site: http://www.keyphrene.com/products/naja From adalke@mindspring.com Sun Sep 7 10:19:22 2003 From: adalke@mindspring.com (Andrew Dalke) Date: Sun, 07 Sep 2003 09:19:22 GMT Subject: PyRSS2Gen-0.0 - an RSS 2.0 generator for Python Message-ID: PyRSS2Gen - an RSS 2.0 generator for Python http://www.dalkescientific.com/Python/PyRSS2Gen.html I've finally decided to catch up with 1999 and play around a bit with RSS. I looked around, and while there are many ways to read RSS there are remarkably few which write them. I could use a DOM or other construct, but I want the code to feel like Python. There are more Pythonic APIs I might use, like the effbot's ElementTree, but I also wanted integers, dates, and lists to be real integers, dates, and lists. The RSS generators I found were built around print statements. Workable, but they almost invariably left out proper HTML escaping the sort which leads to Mark Pilgrim's to write feed_parser, to make sense of documents which are neither XML nor HTML. Annoying, but sadly all too common. Those which were more correct (like RSS.py) didn't support all the options in an RSS feed. This version uses native Python classes, with (untested) support for developing your own RSS extensions. It generates the output using the standard SAX2 content handlers, so everything must be appropriately escaped. And it like Python data types, including datetime. Here's what it looks like: import datetime import PyRSS2Gen rss = PyRSS2Gen.RSS2( title = "Andrew's PyRSS2Gen feed", link = "http://www.dalkescientific.com/Python/PyRSS2Gen.html", description = "The latest news about PyRSS2Gen, a " "Python library for generating RSS2 feeds", lastBuildDate = datetime.datetime.now(), items = [ PyRSS2Gen.RSSItem( title = "PyRSS2Gen-0.0 released", link = "http://www.dalkescientific.com/news/030906-PyRSS2Gen.html", description = "Dalke Scientific today announced PyRSS2Gen-0.0, " "a library for generating RSS feeds for Python. ", guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/news/" "030906-PyRSS2Gen.html"), pubDate = datetime.datetime(2003, 9, 6, 21, 31)), PyRSS2Gen.RSSItem( title = "Thoughts on RSS feeds for bioinformatics", link = "http://www.dalkescientific.com/writings/diary/" "archive/2003/09/06/RSS.html", description = "One of the reasons I wrote PyRSS2Gen was to " "experiment with RSS for data collection in " "bioinformatics. Last year I came across...", guid = PyRSS2Gen.Guid("http://www.dalkescientific.com/writings/" "diary/archive/2003/09/06/RSS.html"), pubDate = datetime.datetime(2003, 9, 6, 21, 49)), ]) rss.write_xml(open("pyrss2gen.xml", "w")) And amazingly enough, it actually validated on the first try! PyRSS2Gen is released under the BSD license. Andrew dalke@dalkescientific.com From raims@dot.com Sun Sep 7 15:24:56 2003 From: raims@dot.com (Lawrence Oluyede) Date: Sun, 07 Sep 2003 16:24:56 +0200 Subject: ANN: pyM3U 0.2 Message-ID: Summary ------- pyM3U is a simple script (it can be used also as a module) to generate M3U playlists Changes ------- In version 0.2 I added subdirs walking capability, sorting and I fixed some bugs. I also released a separate version (0.2v) with Ogg Vorbis tracks support. Requirements ------------ - Python 2.2 or greater - pymad 0.4.1 - id3-py - pyogg and pyvorbis (not required for non vorbis version) - Linux (devel platform) or Win (not tested) -- Lawrence "Rhymes" Oluyede http://loluyede.blogspot.com rhymes@NOSPAMmyself.com From hpk@trillke.net Sun Sep 7 23:50:00 2003 From: hpk@trillke.net (holger krekel) Date: Mon, 8 Sep 2003 00:50:00 +0200 Subject: PyPy "Berlin" sprint (29th Sep - 4th Oct 2003) Message-ID: hello python developers, the fourth PyPy coding sprint will take place in Berlin (Germany) from (morning of) 29th of September to (evening of) 4th of October 2003. All Python developers are welcome to join the sprint. See below for participation details. What is PyPy? ------------- PyPy is a remimplementation of Python in the Python language itself. Simplicity and flexibilty are the foremost goals. With PyPy we want it to be easy to extend the language or generate a more minimal language implementation. One key technique to making this feasible is to specialize our abstract/general PyPy-Python implementation into native code (e.g. C-code). Eventually the concepts of PSYCO and Stackless are to be integrated into PyPy. There is, of course, much more to it so feel free to consult some documents especially our Oscon-2003 paper on this page: http://codespeak.net/pypy/index.cgi?doc We know that many areas and issues are still somewhat vague although PyPy can already run many python programs [*]. Fortunately, Python is pretty tolerant about expressing ideas in vague ways. After all, hacking at PyPy aims (and already proved!) to preserve the fun of hacking in Python. History, status and Berlin goals -------------------------------- The project started in Jan/Feb 2003 with an initiative from Christian Tismer, Holger Krekel and Armin Rigo. During the course many more developers joined our sprints and there are now between 5 and 15 people involved in developing PyPy. The three sprints resulted in a fully working interpreter, some development infrastructure and the "standard object space" which is an abstraction for operations on standard (CPython) objects. There is no public release yet, you more or less have to install a subversion-client and checkout the trunk. Here is our 'howtosvn' which contains up-to-date clients for multiple platforms along with some instructions how to get started: http://codespeak.net/pypy/index.cgi?doc/devel/howtosvn.html Main goals for the Berlin sprint are - integration/enhancement of a Python parser and the compiler package - generating native code from our Python interpreter/types implementations - enhancing/correcting/completing what we have (various tasks) How to participate in Berlin (29th of Sept. to 4th of October) -------------------------------------------------------------- If you are interested to participate please subscribe at our sprint organization list http://codespeak.net/mailman/pypy-sprint and please list yourself at http://codespeak.net/moin/pypy/moin.cgi/SprintAttendants so that we can organize accomodation and arrange details. Costs should be pretty low (except from travelling costs, of course). Currently nine people are scheduled to come. Btw, the sprint starts early on the 29th of september so it's best to arrive on sunday, 28th. Also we probably want to have one day off during the sprint week to do some sight (or cafe+pub) seeing. Actually it's much better to participate the whole week to better get into it. cheers, holger [*] and currently only 20-40 thousand times slower than CPython! which clearly shows that we are successfully follow the "premature optimization is the root of all evil" maxime. From max@alcyone.com Tue Sep 9 03:18:49 2003 From: max@alcyone.com (Erik Max Francis) Date: Mon, 08 Sep 2003 19:18:49 -0700 Subject: ANN: EmPy 3.1 -- A powerful templating system for Python Message-ID: Summary A powerful and robust templating system for Python. Overview EmPy is a system for embedding Python expressions and statements in template text; it takes an EmPy source file, processes it, and produces output. This is accomplished via expansions, which are special signals to the EmPy system and are set off by a special prefix (by default the at sign, '@'). EmPy can expand arbitrary Python expressions and statements in this way, as well as a variety of special forms. Textual data not explicitly delimited in this way is sent unaffected to the output, allowing Python to be used in effect as a markup language. Also supported are callbacks via hooks, recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands. Expressions are embedded in text with the '@(...)' notation; variations include conditional expressions with '@(...?...!...)' and the ability to handle thrown exceptions with '@(...$...)'. As a shortcut, simple variables and expressions can be abbreviated as '@variable', '@object.attribute', '@function(arguments)', '@sequence[index]', and combinations. Full-fledged statements are embedded with '@{...}'. Control flow in terms of conditional or repeated expansion is available with '@[...]'. A '@' followed by a whitespace character (including a newline) expands to nothing, allowing string concatenations and line continuations. Comments are indicated with '@#' and consume the rest of the line, up to and including the trailing newline. '@%' indicate "significators," which are special forms of variable assignment intended to specify per-file identification information in a format which is easy to parse externally. Context name and line number changes can be done with '@?' and '@!' respectively. Escape sequences analogous to those in C can be specified with '@\...', and finally a '@@' sequence expands to a single literal at sign. Getting the software The current version of empy is 3.1. The latest version of the software is available in a tarball here: http://www.alcyone.com/software/empy/empy-latest.tar.gz. The official URL for this Web site is http://www.alcyone.com/software/empy/. Requirements EmPy should work with any version of Python from 1.5.2 onward. It has been tested with all major versions of CPython from 1.5 up, and Jython from 2.0 up (using Java runtimes 1.3 and 1.4). The included test script is intended to run on Unix-like systems with a Bourne shell. License This code is released under the GPL. .... Release history [since 3.0.4] - 3.1; 2003 Aug 8. Unicode support (Python 2.0 and above); added Document and Processor helper classes for processing significators; added --no-prefix option for suppressing all markups. -- Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/ __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE / \ War is a continuation of policy by other means. \__/ Karl von Clausewitz From gherman@darwin.in-berlin.de Tue Sep 9 15:50:21 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Tue, 9 Sep 2003 16:50:21 +0200 Subject: ANN: Pycotine 0.4 - an OS X GUI to the PyUnit test framework Message-ID: Hi, after becoming a happy bundlebuilder user I'm about to repackage a few tools and proto-tools of mine to increase their usability for a wider audience. Number one is "Pycotine" a native Mac OS X Cocoa GUI using PyObjC to the PyUnit test framework. Please see the attached Readme below. I'm glad about any comments you might have! Regards, Dinu -- Dinu C. Gherman ...................................................................... "Fascism should more appropriately be called corporatism because it is a merger of state and corporate power." (Benito Mussolini) Pycotine ======== Summary ------- Pycotine is a Mac OS X Cocoa GUI to the PyUnit test framework. Overview -------- Pycotine (Python Cocoa Test Interface Environment) is a Cocoa GUI for Mac OS X to Steve Purcell's PyUnit test framework [1]_. It allows you to execute a Python testsuite, possibly spread over many modules, comfortably from an application which shows statistical information about the ongoing tests with various counters and a progress bar. Errors and failures, usually reported on the commandline, are listed in a seperate part of the window. The user interface is very much designed after an existing Tkinter version [2]_. Basics ------ Using Pycotine you can open Python files (with extension ".py") and execute testsuites created in these files with the "unittest" module of the Python 2.x standard library. Right now, Pycotine first trys to import a function named "suite()" or "makeSuite()" from an opened Python module which it assumes to build and return a testsuite. If no such functions are found, it will search for all subclasses of unittest.TestCase in the top-level of the selected Python module. The test files in samples/ were shamelessly copied from Steve Purcell's own original test cases for PyUnit 1.4.1 (just skipping the Tkinter ones for obvious reasons). I added only one new file, "listtestsfail.py" which shows a test failing on purpose, too. There is one known bug which can crash Pycotine when it tries to load files having a full path with blanks and/or non-ASCII characters. History ------- :0.2: first release, written in Objective-C, relying on an external Python interpreter :0.3: fully reimplemented in Python, using PyObjC :0.4: repackaged with Python 2.2.3 and PyObjC 1.0b included Requirements ------------ There are no special requirements for running Pycotine. From version 0.4 it ships as a standalone application which should be running on any Mac OS X 10.x, althouth it was developped on 10.2. As it comes with full source code you can build Pycotine yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b. Licence ------- Pycotine is released under the GPL - see the included file, "GPL.txt". Download -------- The Pycotine distribution, screenshots and a sample movie of Pycotine in action are all available from: http://python.net/~gherman/Pycotine.html Notes ------ Pycotine was developped from its author's personal frustration with running (or rather not running) Tkinter on Mac OS X as the only existing GUI for PyUnit. While at the time it might have well been possible to get Tkinter running, it was probably easier to write this little tool... Originally, Pycotine was written as a vanilla Cocoa application (sic!) in Objective-C, calling a dedicated TestRunner class in Python. Today, Pycotine is written entirely in Python using the excellent PyObjC [3]_ bridging technology. Future ------ The future is uncertain, but I might spend a bit more time on this tool to add localisation to a few more languages and or make the errors and failures output more useful. Your help and suggestions are very welcome! Links ----- .. [1] http://pyunit.sourceforge.net/ .. [2] http://pyunit.sourceforge.net/screenshot.gif .. [3] http://pyobjc.sourceforge.net/ Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-09 From gherman@darwin.in-berlin.de Tue Sep 9 15:51:00 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Tue, 9 Sep 2003 16:51:00 +0200 Subject: ANN: RegexPlor 0.6 - an OS X GUI for interactively exploring regular expressions Message-ID: Hi, Next in line is "RegexPlor", a native Mac OS X Cocoa GUI tool using PyObjC to provide an intuitive way of exploring regular expressions. Please see the attached Readme below. I'd be grateful for any comments you might have! Regards, Dinu -- Dinu C. Gherman ...................................................................... "I am a gentlemen: I live by robbing the poor." (George Bernard Shaw) RegexPlor ========= Summary ------- RegexPlor is a Mac OS X tool for interactively exploring regular expressions. Overview -------- RegexPlor is a tool for interactively exploring regular expressions. It provides a graphic frontend for experimenting with such regular expressions in a intuitive way. You can edit an input text as well as a regular expression as well as colors for matched text, etc. and study various effects at every keystroke. This is a much more convenient way of hunting down the one expression you're after, without typing any code at all in the usual trial-and-error method. Basics ------ RegexPlor is pretty intuitive to use. There are three differen panes or views you can switch between at the top of the window. The input pane shows the input text and the regular expression to be applied to it. Change any of them and various ways of matching (selectable using the bottom buttons) will be applied instantly, resulting in coloring the respective portions of the input text. Colors and specific matching options can be changed in the drawer popping out horizontally of the main window. The output pane is divided into several columns where the respective text portions can be easily copied from if you need them somewhere else. Here you can also replace text using the drawer popping out vertically of the main window when the Replace button is pressed. The Syntax pane provides a summary about the regular expression syntax which you can look-up to use special features. The files in samples/ only provide a starting point for your own exploration of regular expressions. History ------- :0.5: first release, relying on an external Python interpreter :0.6: repackaged with Python 2.2.3 and PyObjC 1.0b included, minor fixes Requirements ------------ There are no special requirements for running RegexPlor. From version 0.6 it ships as a standalone application which should be running on any Mac OS X 10.x, althouth it was developped on 10.2. As it comes with full source code you can build RegexPlor yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b [1]_. Licence ------- RegexPlor is released under the GPL - see the included file, "GPL.txt". Download -------- The RegexPlor distribution, screenshots and a sample movie of RegexPlor in action are all available from: http://python.net/~gherman/RegexPlor.html Notes ------ Among the undoubtly many other GUI tools similar to RegexPlor are Kodos [2]_ and Regex-Coach [3]_. If you know more of them, please send me a short note. You might experience some strange effects with RegexPlor when moving the window accross the screen. I suspect this is somehow related to the metal texture being used, but I'm not sure yet. It usually disappears quickly after clicking in some places of the windows. If you happen to know the reason for that please tell me. At the moment, RegexPlor does nothing meaningful when attempting to save or open a file. This will probably be disabled, soon. Future ------ I think RegexPlor 0.6 is quite complete in terms of functionality but I'd like to mark text also using background colours like it is done in Hydra, but I have no idea how that can be done. Again, if you know... And then the usual localization etc. Your help and suggestions are very welcome! Links ----- .. [1] http://pyobjc.sourceforge.net .. [2] http://kodos.sourceforge.net .. [3] http://www.weitz.de/regex-coach Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-09 From gherman@darwin.in-berlin.de Tue Sep 9 15:51:20 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Tue, 9 Sep 2003 16:51:20 +0200 Subject: ANN: ReSTedit 0.2 - an OS X GUI for interactively exploring ReStructuredText Message-ID: Hi, the last one for today is "ReSTedit", a native Mac OS X Cocoa GUI tool using PyObjC and Docutils to provide an intuitive way of exploring, editing and rendering text in the ReStructuredText format. Please see the attached Readme below. As usual I'm grate- ful for any comments or insights you might have to share! Regards, Dinu -- Dinu C. Gherman ...................................................................... "There comes a point when we the people must demand more of our elected officials than just showing up." (Arnold Schwarzenegger) ReSTedit ========= Summary ------- ReSTedit is a Mac OS X demo for interactively exploring ReStructuredText. Overview -------- ReSTedit is a GUI tool for editing and interactivly exploring texts in the ReStructuredText [1]_ format (or ReST) as introduced by the Docutils [2]_ project. Despite being very simple ReSTedit is very useful for quickly checking if Docutils renders some text as you would expect it. You only paste it into a ReSTedit window to see if it's ok or not, without writing any test code around it. Basics ------ ReSTedit is extremely simple to use. You paste an input text into the lower half of a window or type it in there and ReSTedit renders your text into the default HTML format which it displays in the upper half of the window. The rendering takes place silently in the background and the upper output half will tell you which errors were detected if there were any. And that's it. When you're done you can copy your text out, again... Hyperlinks are displayed the usual way and are clickable, too (launching your default webbrowser). And images are also correctly displayed (don't forget the file:// prefix for local files!). History ------- :0.1: first release, relying on an external Python interpreter :0.2: repackaged with Python 2.2.3 and PyObjC 1.0b and Docutils 0.3 included Requirements ------------ There are no special requirements for running ReSTedit. From version 0.2 it ships as a standalone application which should be running on any Mac OS X 10.x, althouth it was developped on 10.2. As it comes with full source code you can build ReSTedit yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b [3]_. Licence ------- ReSTedit is released under the GPL - see the included file, "GPL.txt". Download -------- The ReSTedit distribution, screenshots and a sample movie of ReSTedit in action are all available from: http://python.net/~gherman/ReSTedit.html Notes ------ Among other GUI tools similar to ReSTedit is DocFactory [4]_. If you know more of them, please send me a short note. Future ------ ReSTedit is really just a proof of concept. I'm certainly not planning to make it a full-fledged editor. Right now, ReSTedit does nothing meaningful when attempting to save or open a file, but this will be enabled, soon. As usual: your help and suggestions are very welcome! Links ----- .. [1] http://docutils.sourceforge.net/spec/rst/reStructuredText.html .. [2] http://docutils.sourceforge.net .. [3] http://pyobjc.sourceforge.net .. [4] http://docutils.sourceforge.net/sandbox/gschwant/docfactory/doc/ Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-09 From gherman@darwin.in-berlin.de Tue Sep 9 19:11:44 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Tue, 9 Sep 2003 20:11:44 +0200 Subject: ANN: HeyHeyWickie 0.1 - an experimental WikiWiki platform (plus online article) Message-ID: Hi, I'm glad the folks at Linux-Magazine.com have put an article of mine (appearing in the october 2003 issue) on their site for people to download. It's about an experimental WikiWiki system of mine called HeyHeyWickie which uses EmPy and Docutils. The article describes neither of these two in great detail, but shows what you can do with them. It's available on my publications page or directly at the ma- gazine's: http://python.net/~gherman/Presentations.html http://www.linux-magazine.com/issue/35/EmPy_Wiki.pdf The pretty minimal version of HeyHeyWickie itself (only 4 KB) is available here: http://python.net/~gherman/HeyHeyWickie.html I'm working on a more advanced version which will also be available, soon, and which I'm using to create my pages on the Starship Python: http://python.net/~gherman Gruss, Dinu -- Dinu C. Gherman ...................................................................... "If the Nuremberg laws were applied, then every post-war American president would have been hanged." (Noam Chomsky) From stani_@hotmail.com Wed Sep 10 03:37:52 2003 From: stani_@hotmail.com (SM) Date: 9 Sep 2003 19:37:52 -0700 Subject: Spe 0.1.6.b Python IDE Message-ID: Spe 0.1.6 --------- Spe is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, syntax highlighting, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser, recent file browser, drag&drop, context help, ... Special is its blender support with a blender 3d object browser and its ability to run interactively inside blender. Spe is extensible with boa. This release normally should have been on the blender_ website. Unfortunately this is not possible. Therefore the latest release will be available from the link *Download latest release* under the calendar of http://spe.pycs.net The focus in the spe development for the recent time has been to make it as stable as possible for Linux. This release should run without (major) problems outside blender_ in Linux (see also *External bugs*). Following information is relative to 0.1.5.c: :Links: - Homepage: http://spe.pycs.net - Website: http://projects.blender.org/projects/spe/ - Screenshots: http://spe.pycs.net/pictures/index.html - Forum: http://projects.blender.org/forum/?group_id=30 - RSS feed: http://spe.pycs.net/weblog/rss.xml :New features: - linux wrapper script to launch spe from the console - spe updated for python_ 2.3 - spe help manual (Help menu>Manual) - help window resizable - blender_ python_ API documentation added to help menu - homepage: http://spe.pycs.net (thanks to pyds_ and pycs_) - webbrowser used for displaying bigger help files in blenpy and spe - keyboard shortcuts in separate configurable python file :Requirements: - full python_ 2.2 or 2.3 - wxpython_ 2.4.1.2 - optional blender_ 2.28a (updated!) :Known Issues: - Keyboard copy&paste operations in shell are stolen by editor. :External bugs: - the Linux blender_ binaries of blender_.org are unfortunately not compatible with spe. blender_ still uses an old version of the libpng (1.0.x), while spe requires a newer version. Therefore compile blender_ from the sources with libpng 1.2.x to make spe running in blender_. This problem doesn't apply to Windows users, as the windows blender_ binary ships strangely enough already with the new version of libpng. - View end of line marker fails (probably wxpython_ bug) :Fixes: - class browser fixed - usermenu problem - spe can now close without open documents - sidebar updates automatically when it gets focus - enter now doesn't generate extra spaces with auto-complete - blender_ 2.28a no longer crashes by exploring the Text window - no pycrust_ warnings anymore - todo tab: line scrolling - about.htm is included (was missing) - add your own menu help dialog typo - shortcuts dialog typo - busy cursor fix - recent files does not display longer not existing files - separators added between toolbar buttons - ...and some more 3 minor fixes - explore tab: text height (Linux) - font size text dialogs (Linux) - 11 fixes for visibility problems (mainly Linux) - README.txt with better instructions for Linux users. :Contributors: - Tina Hirsch (Linux bug fixing) - Andrei (feedback) http://project5.tk :Wanted: - MacOs X tester for MacOs X screenshot - wxpython_ programmers From baas@ira.uka.de Wed Sep 10 21:43:17 2003 From: baas@ira.uka.de (Matthias Baas) Date: Wed, 10 Sep 2003 22:43:17 +0200 Subject: ANN: Python Computer Graphics Kit v1.0.1 Message-ID: The first non-beta release of the Python Computer Graphics Kit is available at http://cgkit.sourceforge.net What is it? ----------- The kit is 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.2 and Python 2.3. What's new? ----------- Finished the previously incomplete modules and added the corresponding documentation. For a list of other minor bug fixes and enhancements see the change log. There has been release 1.0 available for a couple of days but the binary for Python 2.2 was broken and the source zip contained a modified version of the pre-generated file cgtypes.c which didn't work on Linux. Release 1.0.1 is fixing these issues. If you were among those who downloaded release 1.0 and you got it to work then you don't have to download 1.0.1 again as there's no difference in functionality. For more information, visit: http://cgkit.sourceforge.net - Matthias - From jdhunter@nitace.bsd.uchicago.edu Wed Sep 10 21:36:31 2003 From: jdhunter@nitace.bsd.uchicago.edu (John Hunter) Date: Wed, 10 Sep 2003 15:36:31 -0500 Subject: ANN hashtar 0.1: archival encryption to corruptible media Message-ID: hashtar is a utility designed for encrypted archiving to media vulnerable to corruption (eg, CDR, DVDR). http://nitace.bsd.uchicago.edu:8080/hashtar Comments, bug reports, suggestions for improvement all welcome. John Hunter OVERVIEW hashtar: an encrypted archive utility designed for secure archiving to media vulnerable to corruption. Recursively encrypt the files and directories passed as arguments. Rather than preserving the directory structure, or archiving to a single file as in tar, the files are encrypted to a single dir and named with the hash of their relative path. The file information (filename, hash, permission mode, uid, gid) is encrypted and stored in the header of the file itself, and can be used to restore the original file with dir structure from the archive file. For example, the command > hashtar.py -cvf tmp.htar finance/ prompts for a password and generates an encrypted recursive archive of the finance dir in the tmp.htar dir, with filenames mapped like finance/irs/98/f1040.pdf -> tmp.htar/e5/e5ed546c0bc0191d80d791bc2f73c890 finance/sale_house/notes -> tmp.htar/58/580e89bad7563ae76c295f75aecea030 finance/online/accounts.gz.mcr -> tmp.htar/bb/bbf12f06dc3fcee04067d40b9781f4a8 finance/phone/prepaid1242.doc -> tmp.htar/c1/c1fe52a9d8cbef55eff8840d379d972a The encrypted files are placed in subdirs based on the first two characters in their hash name because if too many files are placed in one dir, it may not be possible to pass all of them as command line arguments to the restore command. The entire finance dir structure can later be restored with > hashtar.py -xvf tmp.htar The advantage of this method of encrypted archiving, as opposed to archiving to a single tar file and encrypting it, is that this method is not sensitive to single byte corruption, which becomes important especially on externally stored archives, such as on CDR, or DVDR. Any individual file contains all the information needed to restore itself, with directory structure, permission bits, etc. So only the specific files that are corrupted on the media will be lost. The alternative strategy, encrypting all the files in place and then archiving to external media, doesn't suffer from single byte corruption but affords less privacy since the filenames, dir structure, and permission bits are available, and less security since a filename may indicate contents and thus expose the archive to a known plaintext attack. A match string allows you to only extract files matching a given pattern. Eg, to only extract pdf and xls files, do > hashtar.py -m pdf,xls -xvf tmp.htar Because the filenames are stored in the header, only a small portion of the file needs to be decrypted to determine the match, so this is quite fast. Data can be encrypted and decrypted across platforms (tested between linux and win32 and vice-versa) but of course some information may be lost, such as uid, gid for platforms that don't support it. USAGE: > hashtar.py [OPTIONS] files OPTIONS -h, --help Show help message and exit -fDIR, --arcdir=DIR Write hashed filenames to archive dir -pFILE, --passwdfile=FILE Get passwd from FILE, otherwise prompt -mPATTERN, --match=PATTERN Only extract files that match PATTERN. PATTERN is a comma separated list of strings, one of which must match the filename -u, --unlink Delete files after archiving them -c, --create Create archive dir -x, --extract Extract files recursively from archive dir -v, --verbose Decrypt files recursively WARNING: I think this software is suitable to protect your data from your sister, your boss, and even the nosy computer hacker next door, but not the NSA. REQUIREMENTS: python2.3 - python.org yawPyCrypto and Flatten - http://yawpycrypto.sourceforge.net/ pycrypto - http://www.amk.ca/python/code/crypto.html The python dependencies are very easy to install; just do the usual > python setup.py install PLATFORMS: Tested on linux and win32 AUTHOR: John D. Hunter LICENSE: same as python2.3 KNOWN BUGS: Ignores symbolic links DEDICATION: For Erik Curiel, who's life's work I lost when I volunteered to backup the only copy of his home dir on a CD containing a single encrypted gzipped tar file, which was subsequently corrupted. From gherman@darwin.in-berlin.de Thu Sep 11 10:20:49 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Thu, 11 Sep 2003 11:20:49 +0200 Subject: ANN: TimeCyclerLab 0.1 - a prototyping workbench for a similar OS X screensaver Message-ID: Hi, and on we go.... "TimeCyclerLab" is a light prototyping workbench for my TimeCycler screensaver on Mac OS X. The PyObjC code is *so* much simpler compared to the ObjC one for the real screensaver! Please see the attached Readme below. Glad to hear your comments! Regards, Dinu -- Dinu C. Gherman ...................................................................... "I am a gentlemen: I live by robbing the poor." (George Bernard Shaw) TimeCyclerLab ============= Summary ------- TimeCyclerLab is a prototyping workbench for a similar screensaver. Overview -------- TimeCyclerLab is a Mac OS X Cocoa GUI tool which has been used for prototyping the TimeCycler screensaver [1]_. It provides two modes, interactive and clock mode and serves as graphic testing workbench. Basics ------ TimeCyclerLab provides a nested set of stacked circular progress bars - in other words: an analog clock! This application allows to set the individual hands interactively by just clicking and/or dragging them in interactive mode. In clock mode the analog clock shows the current time. History ------- :0.1: first release, packaged with Python 2.2.3 and PyObjC 1.0b [2]_. Requirements ------------ There are no special requirements for running TimeCyclerLab. It ships as a standalone application which should be running on any Mac OS X 10.x, althouth it was developped on 10.2. As it comes with full source code you can build TimeCyclerLab yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b. Licence ------- TimeCyclerLab is released under the GPL - see the included file, "GPL.txt". Download -------- The TimeCyclerLab distribution, screenshots and a sample movie of TimeCyclerLab in action are all available from: http://python.net/~gherman/TimeCyclerLab.html Notes ------ I tried using the ubiquitous metal look for TimeCyclerLab, but when doing so, it behaves really strange: when dragging single clock hands the entire window moves across the screen. I'd be interested to know how to fix this... Future ------ TimeCycler, the real screensaver which was prototyped using this application contains many more knobs to play with. I'll probably bring all of them back to to this prototype, again, one day. Links ----- .. [1] http://python.net/~gherman/TimeCycler.html .. [2] http://pyunit.sourceforge.net/ Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-11 From gherman@darwin.in-berlin.de Thu Sep 11 10:21:34 2003 From: gherman@darwin.in-berlin.de (Dinu Gherman) Date: Thu, 11 Sep 2003 11:21:34 +0200 Subject: ANN: Tesselatica 0.1 - an OS X demo for interactively exploring rect. tessalations Message-ID: Hi, need a break, soon... With PyObjC the most difficult thing increa- singly becomes writing the README... "Tesselatica" is a very simple "tesselation explorer", although restricted to only very specific ones. As such it maybe makes a nice demo, but I won't tell yet, what the background for this is... ;-) Please see the attached Readme below. Comments are appreciated! Regards, Dinu -- Dinu C. Gherman ...................................................................... "Of course America had often been discovered before Columbus, but it had always been hushed up." (Oscar Wilde) Tesselatica =========== Summary ------- Tesselatica is a demo for interactively exploring rect. tessalations. Overview -------- Tesselatica is a Mac OS X demo tool for interactively exploring some kind of regular rectangular tesselations with certain mathematical constraints. Basics ------ Tesselatica is very intuitive to use. It displays a rectangular view, devided into N equally sized rectangular tiles. The only constraint for these tiles is that their shape must be as close to a square as possible. As you change N and the size of the entire window, the optimal tesselation is being calculated and displayed (I hope). History ------- :0.1: first release, packaged with Python 2.2.3 and PyObjC 1.0b. Requirements ------------ There are no special requirements for running Tesselatica. It ships as a standalone application which should be running on any Mac OS X 10.x, althouth it was developped on 10.2. As it comes with full source code you can build Tesselatica yourself, if you have Apple's developer tools installed, plus some Python interpreter version 2.2 or higher, plus PyObjC 1.0b [1]_. Licence ------- Tesselatica is released under the GPL - see the included file, "GPL.txt". Download -------- The Tesselatica distribution, screenshots and a sample movie of Tesselatica in action are all available from: http://python.net/~gherman/Tesselatica.html Notes ------ Tesselatica is a very simple demo and does what I wanted it to do. Future ------ Of course, one might want to explor all sorts of regular tesselations, not only the specific rectangular ones shown here. I don't have any plans to do that, but feel free to take this as a starting point! Links ----- .. [1] http://pyobjc.sourceforge.net Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-11 From alan_salmoni@yahoo.com Thu Sep 11 12:38:59 2003 From: alan_salmoni@yahoo.com (Alan James Salmoni) Date: 11 Sep 2003 04:38:59 -0700 Subject: Latest release of SalStat - version 20030911 Message-ID: Hi folks & Pythonistas! I have just made a new source-code only release of SalStat - version 20030911 (codenamed "Texas!") which is available at the website http://salstat.sunsite.dk. The download is http://salstat.sunsite.dk/salstat.20030911.tar.gz (447k or thereabouts). Sorry, but binaries are not available as I'm up to my ears in Ph.D. work right now. SalStat is a Python/wxPython application for statistical analysis, a bit like a low-powered SPSS, but is growing all the time (should grow faster when my Ph.D. is finished..!), and is available under the GPL. I have also merged in wxPyPlot to produce some basic charts which can be saved in bitmapped graphics format (bmp, png and jpeg if I'm not mistaken). This version also features data transformations with buttons for common transforms (square, square root, reciprocal and log), but users can also enter whatever Python function they want. The transforms are non-destructive - any transformed data are automatically put into a new data column, leaving the existing data untouched. Future plans: Finished the xml data format which will enable users to audit their entire analysis session; add the multi-factorial anova (plus post-hoc tests and simple effects); improve the charting / graphing; move the code base up to Python 2.3 and wxPython 2.4.x; release executables for Windows & Linux; Add post-hoc analysis procecures for the nonparametric tests like Kruskal Wallis and Friedmans; Save the world from certain destruction... And dominate it... Joking about the last two. ;) All bug reports and suggestions for interface improvements are, as usual, more than welcome. Have fun! Alan James Salmoni SalStat Statistics http://salstat.sunsite.dk From mail@heikokoehler.de Fri Sep 12 03:25:55 2003 From: mail@heikokoehler.de (Heiko =?ISO-8859-15?Q?K=F6hler?=) Date: Fri, 12 Sep 2003 04:25:55 +0200 Subject: ANN: CUTE 0.2 released Message-ID: This version is beta software. CUTE is a QT and Scintilla based code edit= or, scriptable with python. CUTE is completely configured with python scripts. The python API allows to define new commands, which can be mapped to a shortcut or added to a menu. There is a handbook for CUTE, but this is still work in progress. The CUTE/python API is also documented. CUTE`s page is http://cute.sourceforge.net Regards, Heiko K=F6hler From peter@engcorp.com Fri Sep 12 14:26:47 2003 From: peter@engcorp.com (Peter Hansen) Date: Fri, 12 Sep 2003 09:26:47 -0400 Subject: Toronto-area Python user group September meeting Message-ID: The next meeting of PyGTA will be held at the usual location and time, on Tuesday September 23. Site: 519 Church St. Community Centre Room no: 31 (signs will be posted) Address: 519 Church St., near Wellesley Date: Tuesday, September 23 Time: 8-10 PM A later announcement will provide details of any presentation which might be occurring that evening... I missed the last couple but understand they went very well, with interesting presentations and discussion. (Hmm.... maybe I should be staying away from more of them? ;-) Don't miss out! -Peter Hansen, for the PyGTA gang... From walter.spiegel@web.de Fri Sep 12 20:11:49 2003 From: walter.spiegel@web.de (Walter Spiegel) Date: 12 Sep 2003 12:11:49 -0700 Subject: ANN: gfsqlite: a simple SQL-Shell for SQLite-Databases Message-ID: Hi, gfsqlite is a simple SQL-Shell for SQLite-Databases based on pysqlite (http://pysqlite.sourceforge.net/) and gfplus (by J. Berliner) with a Tk-style interface. Gfsqlite should run under Python (version 2.2 or later) and is tested under Linux and Win32. There is an english/german-interface, but the Documentation for gfsqlite is in german! Gfsqlite is located at http://www.wspiegel.de/gfsqlite/index.html Download: http://www.wspiegel.de/gfsqlite/gfsqlite.zip Have Fun Walter Spiegel From brett@python.org Sat Sep 13 04:03:47 2003 From: brett@python.org (Brett C.) Date: Fri, 12 Sep 2003 20:03:47 -0700 Subject: python-dev Summary for 2003-08-16 through 2003-08-31 Message-ID: python-dev Summary for 2003-08-16 through 2003-08-31 ++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ from=20 August 16, 2003 through August 31, 2003. It is intended to inform the=20 wider Python community of on-going developments on the list. To comment=20 on anything mentioned here, just post to python-list@python.org or=20 `comp.lang.python`_ with a subject line mentioning what you are=20 discussing. All python-dev members are interested in seeing ideas=20 discussed by the community, so don't hesitate to take a stance on=20 something. And if all of this really interests you then get involved=20 and join `python-dev`_! This is the twenty-fourth summary written by Brett Cannon (a year's=20 worth of summaries by yours truly now under his belt; does this mean I=20 am certifiably insane?). All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which=20 can be found at http://docutils.sf.net/rst.html . Any unfamiliar=20 punctuation is probably markup for reST_ (otherwise it is probably=20 regular expression syntax or a typo =3D); you can safely ignore it,=20 although I suggest learning reST; its simple and is accepted for `PEP=20 markup`_ and gives some perks for the HTML output. Also, because of the=20 wonders of programs that like to reformat text, I cannot guarantee you=20 will be able to run the text version of this summary through Docutils_=20 as-is unless it is from the original text file. .. _PEP Markup: http://www.python.org/peps/pep-0012.html The in-development version of the documentation for Python can be found=20 at http://www.python.org/dev/doc/devel/ and should be used when looking=20 up any documentation on something mentioned here. Python PEPs (Python=20 Enhancement Proposals) are located at http://www.python.org/peps/ . To=20 view files in the Python CVS online, go to=20 http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/ . Reported bugs=20 and suggested patches can be found at the SourceForge_ project page. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=3D5470 .. _python-dev mailing list:=20 http://mail.python.org/mailman/listinfo/python-dev .. _comp.lang.python: http://groups.google.com/groups?q=3Dcomp.lang.pytho= n .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. contents:: .. _last summary:=20 http://www.python.org/dev/summary/2003-08-01_2003-08-15.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Summary Announcements =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This is the twenty-fourth summary written by me. This is significant=20 because this means I have written enough summaries to cover a year's=20 worth of email traffic on python-dev (had I not taken a summary off back=20 in October this milestone would have been hit for the first half of=20 August which represented a physical year since I started doing the=20 summaries). It has truly been worth the experience. But how much of an experience has it been? Well, for a long time now I=20 have been planning on writing some code to calculate how much email I=20 have read, who wrote most of that email, and what threads made up the=20 most. With my move to San Luis Obispo finished I finally had a chance=20 to write said code in an imperfect manner (imperfect because of things=20 like names which are a pain because some people have their name set=20 differently at different computers; "Barry Warsaw" compared to "Barry A.=20 Warsaw"; threads are worse thanks to the changing of subject titles in=20 the middle of a thread) so as to give me some approximate numbers. I have read 9469 emails that have passed through the python-dev mailing=20 list. The top six emailers (out of approx. 433 unique emailers) have bee= n: * Brett Cannon (277 emails when you deal with me just using my last=20 initial; 2.9% of all emails) * Barry Warsaw (305 emails when you also count his middle initial; 3.2%) * Skip Montanaro (481 emails; 5.1%) * Martin v. L=F6wis (627 emails, when calculated looking for all names=20 that had "Martin" and "wis" in them; 6.6%) * Tim Peters (694 emails; 7.3%) * Guido van Rossum (a whopping 1407 emails; 14.8%) The average person posted 21.9 emails over the emails I covered. But=20 only about 24 people had more than a single percentage (more than 94=20 emails) worth of emails accredited to them. That means that about 5.5%=20 of the unique posters on python-dev accounted for 66.8% of all email=20 (and I have gotten to know a good amount of those 24). As for threads (of which there were approx. 1252 unique threads, and I=20 mean approximately), the top five are: * "type categories" (115 emails; 1.2% of all emails) * "PEP239 (Rational Numbers) Reference Implementation and new issues"=20 (123 emails; 1.3%) * "PEP-317" (125 emails: 1.3%) * "python/dist/src/Python import.c,2.210,2.211" (146 emails; 1.5%) * "Extended Function syntax" (263 emails; 2.8%) What does this tell you and me? First, I have an addiction to Python.=20 Second, PEPs really do get discussed. And third, Python development is=20 alive and well. OK, enough statistics. As for this summary, it turned out rather light=20 thanks to a couple of things. One is the shutdown of mail delivery by=20 mail.python.org during the SoBig virus' peak. This not only cut back on=20 the number of emails, but also led to me deleting *a lot* of bogus email=20 on my other emails accounts. My blanket deleting may have caught=20 legitimate emails so it is possible I accidently deleted some python-dev=20 stuff, although if I did it was minimal. Another contributing factor to=20 the light summary is that a lot of regulars on python-dev were on=20 vacation. This looks like it will happen again for the first half of=20 September so expect the next summary to be light as well. =3D=3D=3D=3D=3D=3D=3D=3D=3D Summaries =3D=3D=3D=3D=3D=3D=3D=3D=3D -------------------------------------------------------------------------= ----- Python using Parrot; new code interpreter or strange evolutionary=20 parternship? -------------------------------------------------------------------------= ----- Pirate_ has now reached version 0.01 alpha. It lacks classes and=20 imports but can run a decent amount of Python code. At least there is=20 now a proof-of-concept that Python running on top of the Parrot_ VM is=20 possible. .. _Pirate: http://pirate.tangentcode.com/ .. _Parrot: http://www.parrotcode.org/ Contributing threads: - `pirate 0.01 alpha!=20 `__ ------------------------ Python 2.3.1 on its way? ------------------------ Raymond Hettinger suggesting pushing for a quick release of Python 2.3.1=20 so that the 2.3 branch could be established as a stable version.=20 Several bugs and performance enhancements have been committed to the 2.3=20 maintenance branch. Anthony Baxter stepped forward as release czar with=20 Raymond Hettinger saying he would help and Barry Warsaw volunteering his=20 wisdom as a battle-hardened release czar. This discussion also brought up the question of whether a .chm help file=20 for the Windows distribution would be worth using instead of including=20 the HTML distribution of the documentation as it stands now. It was=20 agreed that it was a good thing to have since it allowed for better=20 searching. Tim Peters also discovered the install went faster since it=20 would not have to copy a ton of individual HTML files. Python 2.3.1 has a "verbal" release date of the third week of September;=20 there has not been a PEP to set the release schedule officially. Help would be appreciated in dealing with bug and patch reports on=20 SourceForge. Even if all you do is add a comment saying "this patch=20 looks fine" or "I can reproduce this bug" it can be a great help. Contributing threads: - `Py2.3.1=20 `__ - `HTMLHelp for Py2.3.1=20 `__ - `Fixing Patches and Bugs for Py2.3.1=20 `__ ---------------------------------------- Making looping generators more efficient ---------------------------------------- Would you like to see deeply nested generators be more efficient in=20 returning their values? Clark Evans would and made such a request. He=20 essentially wanted to have nested generator calls propogate their values=20 to the first non-generator call directly and thus bypass all of the=20 generator maintenance code. There was no direct reaction to this. Shane Holloway followed with the idea of having special syntax for when=20 you yield each value of an iterator. The idea, once again, would be to=20 speed this common case in the interpreter by skipping some bookkeeping=20 overhead. A few syntax versions were offered, but the idea was all the=20 same: special-case ``for item in iterable: yield item`` to something=20 like ``yield *iterable``. Contributing threads: - `cooperative generators=20 `__ - `Graph exploration with generators=20 `__ -------------------------------------------------- Use of the logging package in the standard library -------------------------------------------------- Want to help out the development of Python? Know how to use the logging=20 package? Then python-dev wants you! There are several modules in the=20 stdlib that have home-grown logging code that could (and probably=20 should) be using the logging package instead to simplify life. Read the=20 email that started the contributing thread and see if you can't help out=20 by converting the module over to using the logging package today! Contributing threads: - `Unification of logging in Python's Standard Library=20 `__ ----------------------- Some waxings on PEP 310 ----------------------- PEP 310 proposes the 'with' syntax that came up a while back that=20 sparked an immense discussion on python-dev. The idea was to have a=20 more fool-proof way of having an enter and exit method be called before=20 executing some specified code. The common example was acquiring a lock,=20 executing some code, and then releasing the lock all without having to=20 deal with an explicit try/finally statement. Samuele Pedroni tried to=20 clarify how it should work exactly by requiring __exit__ instead of=20 making it optional (read the PEP to understand what this means). Contributing threads: - `PEP 310(with-syntax): close synonym of __exit__=20 `__ ------------------------------------------------ Proposed PEP for a 'close' method for generators ------------------------------------------------ Samuele Pedroni has written a pre-PEP on defining a way to have=20 generators grow a way to have a 'close' method that is called when their=20 execution is finished so as to handle resources correctly. This is in=20 response to not being able to contain yield statements within=20 try/finally blocks. Contributing threads: - `pre-PEP: Resource-Release Support for Generators=20 `__ ----------------- email-sig created ----------------- Barry Warsaw has created the `email-sig`_ to steer development of=20 version 3 of the email package in hopes of having it done for Python 2.4 . .. _email-sig: http://www.python.org/sigs/email-sig/ Contributing threads: - `New SIG: email-sig `__ From sfandino@yahoo.com Mon Sep 15 19:06:44 2003 From: sfandino@yahoo.com (Salvador Fandino) Date: 15 Sep 2003 11:06:44 -0700 Subject: [ANN] pwig: extending SWIG on Python Message-ID: Hi, I have released pwig, an SWIG extension that allows new language modules to be developed using Python instead of C++. To stop any confusion I'll explain it another way: It's a Python SWIG wrapping for SWIG itself! It also includes a module (obviously written on Python :-) to generate wrappers for SWI-Prolog. pwig home site is at http://pwig.sourceforge.net Comments, questions, bugs, patches, new language modules, etc. are welcome! Bye, - Salva From brett@python.org Mon Sep 15 19:11:44 2003 From: brett@python.org (Brett C.) Date: Mon, 15 Sep 2003 11:11:44 -0700 Subject: strptime() backported to Jython 2.1 Message-ID: I have received a few requests since the 'Python Cookbook' was published to edit my code for a strptime() function in pure Python to run on Jython 2.1 . I have finally come about and made the necessary changes and put them online (thanks to Jon Franz for giving the final push). The code can be found at the Python Cookbook web site at http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/56036 . It is not the fastest or best version of the code (that will always be in the Python CVS MAIN tree), but it seems to work (I have not done extensive testingm but all the changes were minor). I now consider this backport finished. All future enhancements to strptime will continue to go into the Python CVS but will not be backported. If you want the latest and greatest features then consider helping to move Jython forward to its next version or upgrading your version of CPython. -Brett From hihzuz@ynonn.org Mon Sep 15 23:15:23 2003 From: hihzuz@ynonn.org (Ramez Hala El Hajeb) Date: Mon, 15 Sep 2003 22:15:23 GMT Subject: historic precedent Message-ID: <8a448539.0df55ffc@susxyheh.org> Rethink the Cool + the Shoe phil knight had a dream. he'd sell shoes. he'd sell dreams. he'd get rich. he'd use sweatshops if he had to. then along came a new shoe. plain. simple. cheap. fair. designed for only one thing: kicking phil's ass. the unswoosher $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ For years, Nike was the undisputed champion of logo culture, its swoosh an instant symbol of global cool. Today, Phil Knight's Nike is a fading empire, badly hurt by years of "brand damage" as activists and culture jammers fought back against mindfuck marketing and dirty sweatshop labor. Now a final challenge. We take on Phil at his own game - and win. We turn the shoes we wear into a counterbranding game. The swoosh versus the anti-swoosh. Which side are you on? Adbusters has been doing R&D for more than a year, and guess what? Making a shoe - a good shoe - isn't exactly rocket science. With a network of supporters, we're getting ready to launch the blackSpot sneaker, the world's first grassroots anti-brand. You can help launch the blackSpot revolution. THE BIG QUESTION: Is it possible to take Phil Knight's billion-dollar marketing momentum and, in a quick judo-like move, slap him onto the mat with the power of his own PR thrust? OUR KICK-ASS MARKETING STRATEGY >> http://blackspotsneaker.org/02/ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ buy it............................preorders@blackspotsneaker.org sell it...........................wholesale@blackspotsneaker.org invest in it......................investors@blackspotsneaker.org support it........................donations@blackspotsneaker.org join the jam........................jammers@blackspotsneaker.org Make a straight donation... it's a worthy cause with the potential to set an historic precedent that could be repeated in other industries and usher in more grass roots version of capitalism in which megacorps do not control every area of our children's lives. https://www.groundspring.org/donate/index.cfm?ID=2217-0%7C742-0 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Ramez Hala El Hajeb Other glad heavy shopkeepers will learn surprisingly in exits. From awshearer@shearersoftware.com Tue Sep 16 02:33:21 2003 From: awshearer@shearersoftware.com (Andrew Shearer) Date: 15 Sep 2003 18:33:21 -0700 Subject: ANN: XMLFilter 1.1 - read and write XML with or without expat Message-ID: I just released version 1.1 of XMLFilter, which marks the first public standalone release. XMLFilter is an open-source Python module you can include with your programs to provide XML parsing even if the target system lacks a working xml.sax package. For example, you can use it to quickly adapt existing xml.sax-compatible scripts to work out of the box on Jaguar (Mac OS X 10.2), which lacks expat. http://www.shearersoftware.com/software/developers/xmlfilter/ It works by using the older xmllib module as a fallback for xml.sax. A test suite verifies call-by-call compatibility no matter which module ends up being used. Other features include XML event-stream filtering, writing, and creation, with support for writing CDATA sections. (Using these classes also avoids bugs in some versions of xml.sax.) Generally, the newer your version of Python, the faster it goes. For example, if xml.sax and expat are working, they give a factor-of-3 speedup over the pure-Python xmllib, and on Python 2.3, Unicode encoding conversions will use xmlcharrefreplace for faster writing of XML numeric entities. Python-licensed. Tested all the way down to Python 1.5.2 and up to Python 2.3. xml.sax-compatible, Unicode-savvy (wherever Python is), and optionally namespace-aware.

XMLFilter 1.0 - Read, filter, and write XML with full compatibility for systems lacking expat. (15-Sep-03) -- Andrew Shearer http://www.shearersoftware.com/personal/weblog/ From amdescombes@qualicontrol.com Tue Sep 16 16:41:29 2003 From: amdescombes@qualicontrol.com (Andre Michel Descombes) Date: Tue, 16 Sep 2003 17:41:29 +0200 Subject: Free Data Quality Management with Python UK Seminar Message-ID: Hi, Test&Go is a Python based tool, which makes developing Python DQM solutions a cinch. I am pleased to inform you that QualiControl (UK) Ltd are holding the first of a number of FREE Seminars on the issues of Data Quality and Control on 1st October 2003 at the Royal Oriental Hotel in Luton, Bedfordshire (the second will be 15th October). The seminar will cover the problems encountered by companies with their data quality as well as the knock on effects that these issues have across an organisation and on to its partners or customers. The seminar will also include a demonstration of Test&Go - one of Europe's leading software solutions for controlling the quality and integrity of data in all information processes, particularly focussing on Data Quality Management and Python. Test&Go has provided a great ROI within the Government and Financial industries as well as for Software Testing, Data Cleansing and eCommerce environments within a number of commercial organisations. Case studies will also feature in the seminar on how companies have overcome their data quality issues and the benefits gained. If you would like more information on Test&Go or to register for this seminar, please go to http://www.qualicontrol.com/eng/seminar/seminar.php?logo=logo_info.jpg Regards, Andre M. Descombes R&D Director QualiControl (UK) Ltd Tel: +44 (0)1582 513317 www.qualicontrol.com/eng/default.php From itamar@itamarst.org Tue Sep 16 19:09:22 2003 From: itamar@itamarst.org (Itamar Shtull-Trauring) Date: Tue, 16 Sep 2003 14:09:22 -0400 Subject: ANN: Twisted networking framework 1.0.7 Message-ID: Twisted is an event-driven networking framework for server and client applications. For more information, visit http://www.twistedmatrix.com, join the list http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python or visit us on #twisted at irc.freenode.net. What's New in 1.0.7 =================== - Client Jabber support. - twisted.xish, an XML package supporting a DOM-like API and a XPATH-like API. - Woven web templating toolkit is now much faster, and no longer supports the interim APIs it had during development. - Security tightening in the web server, especially on Windows. - XML-RPC server is now easier to extend, and can publish the XML-RPC introspection API as an option. - Working minimum and maximum sizes for database connection pools. - New connection API for Perspective Broker, allowing easy SSL support, reconnection, etc.. - Better lenient HTML parsing in microdom. - Many improvements to mail protocols (SMTP, POP3, IMAP). - Continued switch to updated cred unified authentication backend in the various protocols supported by Twisted. - SOAP support now requires SOAPpy 0.10.1 or later. - mailmail, a replacement for the common usage of command-line /usr/sbin/sendmail. - Bug fixes, documentation improvements, more tests. What is Twisted? ================ Twisted is an event-driven framework for building networked clients and servers. It contains a powerful and simple networking core, a full-featured suite of interoperable protocols, among them a powerful web server and applications framework. Twisted supports many event loops for both server apps and GUI integration on the client side, including: - Win32 events, including GUI support - GTK+ - GTK+ 2 - Qt - wxPython - Tkinter Twisted can run protocols over TCP, SSL, UDP, multicast, Unix sockets and subprocesses. It also includes scheduling support, threading integration, RDBMS event loop integration and other basic requirements for networked applications. Also included are implementations of many protocols. In some cases this includes complete frameworks providing facilities on top of the base protocol: - SSH - IMAP - DNS - FTP (client only, server needs rewrite) - HTTP, including a complete web framework - Jabber client - XML-RPC server and client frameworks - SOAP server framework - NNTP and complete NNTP server framework - SOCKSv4 (server only) - SMTP - IRC - telnet - POP3 - AOL's instant messaging TOC - MSN messaging - OSCAR, used by AOL IM as well as ICQ (client only) - MouseMan serial mice, and GPS devices - Twisted Perspective Broker, a remote object protocol From altis@semi-retired.com Wed Sep 17 05:03:38 2003 From: altis@semi-retired.com (Kevin Altis) Date: Tue, 16 Sep 2003 21:03:38 -0700 Subject: ANN: PythonCard 0.7.2 Message-ID: PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. Release 0.7.2 includes over 40 sample applications and tools to help users build applications in Python, including codeEditor, findfiles, and resourceEditor (layout editor). A list of changes since release 0.7 is at the end of this message. All the information you need about PythonCard can be found on the project web page at: http://pythoncard.sourceforge.net/ The installation instructions and walkthroughs are available on the main documentation page: http://pythoncard.sourceforge.net/documentation.html You can download the latest release at: http://sourceforge.net/project/showfiles.php?group_id=19015 For a list of most of the samples that have been built with PythonCard and screenshots of them in action go to: http://pythoncard.sourceforge.net/samples/samples.html The kind people at SourceForge host the project: http://sourceforge.net/projects/pythoncard/ If you want to get involved the main contact point is the Mailing list: http://lists.sourceforge.net/lists/listinfo/pythoncard-users PythonCard requires Python 2.2.1 or later and wxPython 2.4.1.2 or later. wxPython can be downloaded at http://www.wxpython.org/ Additional Notes: Remember to backup or just delete your old PythonCardPrototype directory before installing a new version, so that the old files aren't still in the package directory. If you installed a previous version of PythonCard on Windows using the binary installer, then you should be able to remove the old package via the Add/Remove Programs Control Panel. The distutils installer will put the framework, components, docs, samples, and tools in Lib\site-packages or your Python directory (typically C:\Python22 or C:\Python23). Of course, on Linux and Mac OS X that path will be slightly different and have forward slashes. Windows users should get a PythonCard menu in the Start->Programs menu with links to the documentation, samples, codeEditor, findfiles, and resourceEditor. The tools and most of the samples will now keep their config and data file info in the "pythoncard_config" directory created by the framework. On Unix, the directory will be ~/pythoncard_config. On Windows, the directory varies as described in the following post: http://aspn.activestate.com/ASPN/Mail/Message/PythonCard/1496793 So, if you run a PythonCard app with any of the runtime tools and select "Save Configuration" from the "Debug" menu, the window positions and sizes of your runtime windows (Shell, Message Watcher, etc.) will be saved in "pythoncard_config/pythoncard_config.txt" not the PythonCardPrototype directory. Likewise, when you change the text style used by the codeEditor via the "Styles..." menu item under the "Format" menu, the modification will be saved in "pythoncard_config/stc-styles.rc.cfg" ka --- Kevin Altis altis@semi-retired.com http://altis.pycs.net/ --- changelog since release 0.7 Release 0.7.2 2003-09-08 ranamed MultiColumnList 'border' attribute to 'rules' enabled MultiColumnList and Tree in the resourceEditor added minimalList and minimalTree samples as tests of the MultiColumList and Tree components added multicolumnexample by William Volkman replaced older MultiColumnList component with version by William Volkman added workaround for wxMSW GetFont() bug in MultiColumnList switched to Raise() in fixComponentOrder to deal with wxPython 2.4.x change with Hide/Show added shell.autoCompleteWxMethods = False to pycrustrc.py to hide CamelCase wxPython methods of components and other wxPython classes by default added source.encode('iso-8859-1') to textToHtml to avoid print/print preview exceptions in codeEditor; this will probably require a more sophisticated solution added workaround for wxWindows AppendText bug in jabberChat sample. This might need to be added to TextArea appendText if wxWindows isn't fixed soon fixed popItems handling of RadioGroup and other components with an 'items' attribute in resourcEditor propertyEditor.py updated classes in menu.py to be direct wxPython subclasses added source file support to templates in resourceEditor updated File->New... process to save new files added moreapplications.html page to highlight other apps built with PythonCard added wx.wxDEFAULT_DIALOG_STYLE to singleChoiceDialog to workaround wxPython 2.4.1.2 bug fixed samples launcher selection and added double-click support added int(round()) conversions to fix Python 2.3 deprecation warnings added '' back to sys.path in pycrustrc.py for shell work changed default font size for findfiles tool on Mac and GTK added autoSetEOL to codeEditor to automatically use the line endings already in a document replaced \xa0 characters in source files with spaces added macbuild.py to the minimalStandalone sample to show how to build standalones on Mac OS X fixed double loading of pycrustrc.py files in loadShell fixed config directory creation fixed image rotation in slideshow sample for files in zips updated fixed getStyleConfigPath in colorizer fixed PILtoBitmap typo in graphic.py PythonCard now requires a minimum Python 2.2.1 or higher and wxPython 2.4.x or higher Release 0.7.1 2003-07-16 dbBrowser now supports PostgreSQL using the psycopg interface An alternative dbBrowser using a wxGrid to display query results has been added. Its called dbBrowser2 and it re-uses much of the code from the original changed wx.wxc.__version__ check to wx.__version__ added Save Configuration menu item to Scriptlet menu in the codeEditor fixed config.py for standalone usage added Thomas Heller's main_is_frozen function to util.py added GetPixel method to BitmapCanvas added userdata attribute to Widget so all components added support for userdata in the resourceEditor changed resourceEditor to use a drag rect so dragging works the same on all platforms and no longer requires the use of CaptureMouse on Linux added WMAvailable check for Mac OS X so the top frame appears in front when app starts fixed pycrustrc.py loading on Linux/GTK added Grid component and simpleGrid sample fixed script launching in samples.py, findfiles, codeEditor, and resourceEditor added spinUp and spinDown events to Spinner component added dirname() function to util module to use instead of os.path.dirname() updated model.py to use the new function changed true/false to True/False in STCStyleEditor.py to avoid wxPython 2.4.0.4 deprecation warning changed 'items' attribute in resourceEditor to use TextArea instead of TextField for editing fixed 'icon' handling in resourceOutput.py Phil Edwards' started making Linux RPMs for PythonCard added Phil Edwards Linux installation instructions added Mac OS X (Jaguar) installation instructions fixed font attribute in BitmapCanvas added David McNab's walkthrough Increasing Usefulness with Timers and Threads fixed order of wx imports so wx always comes first added jabberChat options for conferencing and Show/Raise slideshow sample changes added Goto Slide dialog changed F8 key to act as a Pause/Continue toggle added zip file support fixed relative directory reference in webserver sample From bryan@bryangudorf.com Wed Sep 17 05:19:58 2003 From: bryan@bryangudorf.com (Bryan J Gudorf) Date: Wed, 17 Sep 2003 00:19:58 -0400 Subject: Python Database Objects (PDO) Message-ID: We at NeuroKode Labs, LLC, are proud to announce the release of Python Database Objects (PDO). Python Database Objects (PDO) provides an easy to use Object Oriented API for database developers. PDO utilizes DB-API modules for database access, but allows for a Common Object Oriented API across RDBMS. Thus, PDO can be thought of as a 'wrapper' around the DB-API and database specific modules. Here is a quick example of the usage of Python Database Objects (PDO): import pdo DBConn =pdo.connect('Module=MySQLdb;User=SalesReader;Passwd=secretpassword;DB=Sales ') Results = DBConn.openRS("SELECT * FROM Customers") while Results.next() print "Name: " + Results['Name'].value Downloads for Python Database Objects are available on SourceForge.Net or for more information please visit pdo.neurokode.com. ~Bryan J Gudorf NeuroKode Labs, LLC From frank@pc-nett.no Thu Sep 18 15:33:46 2003 From: frank@pc-nett.no (frank) Date: Thu, 18 Sep 2003 16:33:46 +0200 Subject: ANN: Soprano 0.04 Released Message-ID: Soprano is a GUI app that scans a selected range of ip addresses and try to get info about the hosts such as users, localgroups, shares, operating system. This program only runs under windows. changes 0.002 > 0.003:. added settings window setting are saved in xml and are stored under data\setting.xml setting include: "logon as" with username and password or use null request resolv hostname shares users groups info portscanner improved right click menu\submenu new functions: add user add group add share send msg (NetMessageBufferSend) changes 0.003 > 0.04:. Looks a lot better!!!! Added splitterWindow treectrl and textctrl are now "children" of splitterwindow (makes the whole thing look a lot better and more dynamic) All the information gathered is now saved the xml file data\soprano.xml. The soprano.xml is used to display info about the selected host in textctrl after the initial scan. The pinger is now a separate file (pinger.py). Source code and windows binary at http://sourceforge.net/projects/soprano/ From feng_xia@instron.com Fri Sep 19 19:01:52 2003 From: feng_xia@instron.com (Feng Xia) Date: 19 Sep 2003 11:01:52 -0700 Subject: Literate programming in Python Message-ID: Hello, All, I have finally come up a literate programming tool for the Python lovers! :) Yes yes yes! After painful searching over the internet, I came across the Py2tex app which does a nice job of typesetting the Python code. But it's not literate programming yet. Well, to make this short, the one I have is very preliminary. I am not an advanced user in either the Python world or the Latex world. With my very limited knowledge of both, I tried. I don't know how to make the code available to the public. Anyway, please send me an email if you are interested in. And please don't laugh at some of my "crude" techniques programming the beatiful Python. I'm sure there could be a better solution to many of my headaches :) Best regards, feng From ta-meyer@ihug.co.nz Sat Sep 20 00:08:39 2003 From: ta-meyer@ihug.co.nz (Tony Meyer) Date: Sat, 20 Sep 2003 11:08:39 +1200 Subject: SpamBayes 1.0a6 Source Release Message-ID: Version 1.0a6 of the SpamBayes source is now available. Note: this is not a release of the binary installer for the Outlook = plug-in. A separate release for the plug-in installer will follow at a later = date. This release follows (reasonably) close on the heals of 1.0a5 and is primarily a reshuffling and tidy-up. All the scripts have been renamed, = and all the cruft supporting old option names has been removed. This will almost certainly mean that you have to edit the way you use SpamBayes = (to change the name, at least). There are a few other minor improvements and bug fixes. We recommend = that all source code users upgrade to the 1.0a6 release, but do so at a time = when they have a few minutes available to change over references to script = names, and to check their configuration files are using the correct names. Note that the plan is for this to be the final alpha release in the 1.0 series, and that 1.0 is effectively feature frozen from this point. We = will continue to fix any bugs that are reported, and should be able to = release a very stable 1.0b1 and then final 1.0 release in the near future. Work = will soon begin on the 1.1 series, which will (no doubt!) feature many improvements. For full details about what's new in this release, please see the = release notes and/or changelog: Downloads are available from . =3DTony Meyer, on behalf of the spambayes team. From max@alcyone.com Sat Sep 20 09:45:21 2003 From: max@alcyone.com (Erik Max Francis) Date: Sat, 20 Sep 2003 01:45:21 -0700 Subject: ANN: EmPy 3.1.1 -- A powerful and robust templating system for Python Message-ID: Summary A powerful and robust templating system for Python. Overview EmPy is a system for embedding Python expressions and statements in template text; it takes an EmPy source file, processes it, and produces output. This is accomplished via expansions, which are special signals to the EmPy system and are set off by a special prefix (by default the at sign, '@'). EmPy can expand arbitrary Python expressions and statements in this way, as well as a variety of special forms. Textual data not explicitly delimited in this way is sent unaffected to the output, allowing Python to be used in effect as a markup language. Also supported are callbacks via hooks, recording and playback via diversions, and dynamic, chainable filters. The system is highly configurable via command line options and embedded commands. Expressions are embedded in text with the '@(...)' notation; variations include conditional expressions with '@(...?...!...)' and the ability to handle thrown exceptions with '@(...$...)'. As a shortcut, simple variables and expressions can be abbreviated as '@variable', '@object.attribute', '@function(arguments)', '@sequence[index]', and combinations. Full-fledged statements are embedded with '@{...}'. Control flow in terms of conditional or repeated expansion is available with '@[...]'. A '@' followed by a whitespace character (including a newline) expands to nothing, allowing string concatenations and line continuations. Comments are indicated with '@#' and consume the rest of the line, up to and including the trailing newline. '@%' indicate "significators," which are special forms of variable assignment intended to specify per-file identification information in a format which is easy to parse externally. Context name and line number changes can be done with '@?' and '@!' respectively. Escape sequences analogous to those in C can be specified with '@\...', and finally a '@@' sequence expands to a single literal at sign. Getting the software The current version of empy is 3.1.1. The latest version of the software is available in a tarball here: http://www.alcyone.com/software/empy/empy-latest.tar.gz. The official URL for this Web site is http://www.alcyone.com/software/empy/. Requirements EmPy should work with any version of Python from 1.5.2 onward. It has been tested with all major versions of CPython from 1.5 up, and Jython from 2.0 up (using Java runtimes 1.3 and 1.4). The included test script is intended to run on Unix-like systems with a Bourne shell. License This code is released under the GPL. .... Release history (since 3.1) - 3.1.1; 2003 Sep 20. Added literal '@"..."' markup; added --pause-at-end command line option; fixed improper globals collision error via the 'sys.stdout' proxy. From andrew.straw@adelaide.edu.au Sat Sep 20 15:09:03 2003 From: andrew.straw@adelaide.edu.au (Andrew Straw) Date: 20 Sep 2003 07:09:03 -0700 Subject: ANN: Vision Egg 0.9.9 - Python/OpenGL visual stimulus generation Message-ID: The Vision Egg is a powerful, flexible, and free way to produce stimuli for vision research experiments available at: http://www.visionegg.org/ The Vision Egg is a high level interface between Python and OpenGL. In addition to methods for automatic generation of traditional visual stimuli such as sinusoidal gratings and random dot patterns, it has a number of functions for moving numeric data, images, movies, and text to and from your video card. Therefore, it is also useful for anyone wishing to make use of the features of today's graphics cards. Features ======== * Perform experiments using an inexpensive PC and standard consumer graphics card * Perform experiments using a graphics workstation if special features needed * Data acquisition and other realtime hardware control capabilities useful in electrophysiology and fMRI experiments, including gaze-contingent stimuli * Dynamically generated stimuli can be changed in realtime via software or external hardware * Produce traditional stimuli to replace legacy systems * Produce stimuli not possible using other hardware * Demo programs to get you started right away * Run stimuli on your laptop - great for talks * Free, open-source software It runs on anything from cheap PCs to expensive special hardware for special needs. For example, running on some platforms, such as SGI workstations, the Vision Egg has a 10-bit luminance dynamic range (both pixel depth and DAC) and precise frame-by-frame control. The Vision Egg is open source software (GNU LGPL). - Andrew Straw From nieder@mail.ru Sat Sep 20 16:33:43 2003 From: nieder@mail.ru (Ricardo Niederberger Cabral) Date: 20 Sep 2003 08:33:43 -0700 Subject: [ANN] imgSeek 0.8.2 Message-ID: mgSeek ------- imgSeek is a photo collection manager and viewer with content-based search and many other features. The query is expressed either as a rough sketch painted by the user or as another image you supply (or an image in your collection). You may also do slideshows, generate web photo albums, edit image metadata including EXIF and IPTC data, organize images into a keyword hierarchy, and more. Changes ------- A bug related to settings prevented users with python2.3 from viewing images on the preview window, so 0.8.2 sole purpose is to fix that. Not much development effort has been put lately on new imgSeek features, so expect only bugfixes to be released in the next few months. Meanwhile we've been working on the imgSeek-net sub-project (http://imgseek.sourceforge.net/net/ -- 'imgseek-net' cvs module) and on the 'SQL' cvs branch of imgSeek, whose long term objective would be the usage of popular RDBMS as a transparent replacement for the current implementation of a grouping and metadata database on top of python's 'marshal' module. Work on the imgSeek-lite (http://imgseek.sourceforge.net/lite/ -- 'imgseek-lite' cvs module) subproject will also slowdown, as most of the code there will evolve into the 2nd imgseek-net client prototype. Requires -------- - Python 2.2.x, QT 3.x and PyQT 3.5. (3.4 should work) - ImageMagick development files or QT development files. Recommended: - Python Imaging Library. Links ----- Download: http://sourceforge.net/project/showfiles.php?group_id=70373 Homepage: http://imgseek.sourceforge.net/ Screenshots: http://imgseek.sourceforge.net/sshot/ Complete ChangeLog: http://imgseek.sourceforge.net/changelog.html Best regards, --- rnc From hobu@iastate.edu Sat Sep 20 16:35:19 2003 From: hobu@iastate.edu (Howard Butler) Date: Sat, 20 Sep 2003 10:35:19 -0500 Subject: ANN: pyTerra: TerraServer module for Python Message-ID: pyTerra is a Python module that allows you to make requests to Microsoft's TerraServer. With it, you can download cartographic images for any almost any geographic extent in the conterminous US. It mimics the SOAP API provided by the TerraServer located at . A helper class is also provided that reduces the interaction required to defining a bounding box and writing the image out to the file system. A source distribution and Windows binary is provided. See for more information and download. Howard Butler From jjl@pobox.com Sun Sep 21 21:13:10 2003 From: jjl@pobox.com (John J. Lee) Date: 21 Sep 2003 21:13:10 +0100 Subject: ANN: ClientForm 0.1.8b released Message-ID: http://wwwsearch.sourceforge.net/ClientForm/ http://wwwsearch.sourceforge.net/ClientForm/src/README-0_1_8b.html Second (and last, I hope) beta release of 0.1.x. Changes from 0.1.7a to 0.1.8b: * Interface change (sorry): id is now directly supported. Controls have an id attribute, and appropriate HTMLForm methods have an id argument. This will only affect code that uses the positional arguments that come after the 'kind' argument of the various HTMLForm methods. * Interface change: BUTTON/BUTTON now has type "buttonbutton" (was "button") to prevent clash with type of INPUT/BUTTON (was and is "button"). Both types of control are ignored anyway (ie. represented by IgnoreControl), so it's unlikely any code is affected. * SubmitButton value now defaults to "", so it is successful even when no value is given in the HTML. * File upload bugs fixed. * Minor bug fixes. Requires Python >= 1.5.2. ClientForm is a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server. It has developed from a port of Gisle Aas' Perl module HTML::Form, from the libwww-perl library, but the interface is not the same. Simple example: from urllib2 import urlopen from ClientForm import ParseResponse forms = ParseResponse(urlopen("http://www.acme.com/form.html")) form = forms[0] print form form["author"] = "Gisle Aas" # form.click returns a urllib2.Request object # (see HTMLForm.click_request_data.__doc__ if you're not using urllib2) response = urlopen(form.click("Thanks")) John From brett@python.org Mon Sep 22 06:45:35 2003 From: brett@python.org (Brett C.) Date: Sun, 21 Sep 2003 22:45:35 -0700 Subject: python-dev Summary for 2003-09-01 through 2003-09-15 Message-ID: python-dev Summary for 2003-09-01 through 2003-09-15 ++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ from September 1, 2003 through September 15, 2003. It is intended to inform the wider Python community of on-going developments on the list. To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list@python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! This is the twenty-fifth summary written by Brett Cannon (with school looming on the horizon). All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo =); you can safely ignore it, although I suggest learning reST; it's simple and is accepted for `PEP markup`_ and gives some perks for the HTML output. Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the original text file. .. _PEP Markup: http://www.python.org/peps/pep-0012.html The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation on something mentioned here. PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. contents:: .. _last summary: http://www.python.org/dev/summary/2003-08-16_2003-08-31.html ===================== Summary Announcements ===================== Summary is nice and short this time. More people went on vacation (although Martin came back and so that helped to pick up the traffic a little). I skipped covering some threads that are due for PEPs since those will be more in-depth then anything I write. I should give fair warning that starting on the 22nd of September I will begin school. I am hoping that it will not be difficult and I will have a carefree time in school. But if my workload becomes a burden the Summaries might suffer. I hope they don't, though, and I am going to do my best to make sure that doesn't happen. ========= Summaries ========= --------------------------------------- If It Isn't Documented, Is It a Secret? --------------------------------------- Some undocumented methods in readline were discovered by Philip Eby. He asked if this was on purpose and whether he should submit a bug report on the lack of documentation. Guido told him to go ahead and submit the bug report. If you ever find something undocumented in the Python source code and there is nothing suggesting the code is meant to be hidden from the user (it's for internal use, a comment says it is experimental, etc.), then please file a bug report! Contributing threads: - `Undocumented functions in 'readline' module `__ ----------------------------------------------------------------------------------------- "You are more trouble than you are worth!", screamed the micro release to the new feature ----------------------------------------------------------------------------------------- The topic of what should be backported for micro releases (with Python 2.3.1 looming on the horizon) came up. Originally minor improvements were allowed in if they didn't break backwards compatibility. And of course bugfixes have been as well as long as they didn't break code that came to depend on the buggy behavior (really depends on how long the bugginess has been there and how well-known it is). But then the point of OS X 10.3 possibly becoming the largest install base of Python of any version (it will be 2.3) came up. With rough estimates being thrown around of 5 million installs in about a year's time, the point that making it difficult to run Python 2.3.x code on that size of an install base would be bad. For instance, if some small new feature was added to 2.3.1 then any code using that feature would not be able to run on a virgin install of OS X 10.3 (and considering that this is Mac it should not be expected that most users will want to, let alone know how, to add a secondary install of Python since the original is used by the OS and thus should not be overwritten). It looks like a more conservative patching scheme will be taken with micro releases. Bytecode will also continue to work between releases. Guido has always unofficially held that position but now it has been vocalized. Contributing threads: - `Documenting branch policy `__ ---------------------------------------------- PyPy "Berlin" sprint (29th Sep - 4th Oct 2003) ---------------------------------------------- Just what the title says: there is going to be a sprint_ for PyPy_ in Berlin from September 29 to October 4. Read the email for more specific details on goals and such. .. _sprint: http://www.python.org/cgi-bin/moinmoin/SprintPlan .. _PyPy: http://codespeak.net/pypy/index.cgi?home Contributing threads: - `PyPy "Berlin" sprint (29th Sep - 4th Oct 2003) `__ -------------------------------- Away with you ambiguous imports! -------------------------------- A discussion on how to create a hierarchy of loggers in the standard library led to the idea of having a way to cause an import to come directly from the standard library and thus remove any ambiguity from a relative import grabbing a similarly named module from the local package. Barry Warsaw said he was thinking of writing a PEP on this idea. Contributing threads: - `Consistent logging in the standard library `__ --------------------------------------------------- Quick: want to give a Python talk at Linuxworld NY? --------------------------------------------------- If you are interested in what the title asks, then read the email for some details. Contributing threads: - `Quick: want to give a Python talk at Linuxworld NY? `__ ------------------------------------------- Be careful about saying something is "easy" ------------------------------------------- A word of advice about saying something is "easy" on python-dev: if you say that you should make sure you can back up that claim because otherwise you will be told to write the "easy" patch and that will be the end of the discussion. Contributing threads: - `Making python C-API thread safe (try 2) `__ -------------------------- Parsing dates for datetime -------------------------- There was some talk about coming up with some code to parse dates for the datetime module. It was kind of hand-wavy since there are multiples chunks of code that can do that in the standard library. If you have an opinion on this (or anything for that matter), make sure to make a post to `comp.lang.python`_ about it. Contributing threads: - `datetime issues `__ From falted@openlc.org Mon Sep 22 18:41:49 2003 From: falted@openlc.org (Francesc Alted) Date: Mon, 22 Sep 2003 19:41:49 +0200 Subject: ANN: PyTables 0.7.2 - A hierarchical database Message-ID: Announcing PyTables 0.7.2 ------------------------- PyTables is a hierarchical database package designed to efficently manage very large amounts of data. PyTables is built on top of the HDF5 library and the numarray package. It features an object-oriented interface that, combined with natural naming and C-code generated from Pyrex sources, makes it a fast, yet extremely easy to use tool for interactively save and retrieve large amounts of data. Besides, it provides flexible indexed access on disk to anywhere in the data you want to go. On this release you will not find any exciting new features. It is mainly a maintenance release where the next issues has been addressed: - a memory leak was fixed - memory needs is being lowered - much faster opening of files - done some important optimizations in table reads More in detail: What's new ----------- - Fixed a nasty memory leak located on the C libraries (it was happening during HDF5 attribute writes). After that, the memory consumption when using large object trees has dropped quite a bit. However, there remains some small leaks that has been tracked down to the underlying numarray library. These leaks has been reported, and hopefully they should be fixed more sooner than later. - Table buffers are built dinamically now, so if Tables are not accessed for reading or writing this memory will not be booked. This will help to reduce the memory consumption. - The opening of files with lots of nodes has been accelerated between a factor 2 or 3. For example, a file with 10 groups and 3000 tables that takes 9.3 seconds to open in 0.7.1, now takes only 2.8 seconds. - The Table.read() method has been refactored and optimized and some parts of its code has been moved to Pyrex. In particular, in the special case of step=1, up to a factor 5 of speedup (reaching 160 MB/s on a Pentium4 @ 2 GHz) when reading table contents can be achieved now. - Done some cosmetic changes in the user manual, but, as no new features has been added, you won't need to read the manual again :-) What is a table? ---------------- A table is defined as a collection of records whose values are stored in fixed-length fields. All records have the same structure and all values in each field have the same data type. The terms "fixed-length" and "strict data types" seems to be quite a strange requirement for an language like Python, that supports dynamic data types, but they serve a useful function if the goal is to save very large quantities of data (such as is generated by many scientific applications, for example) in an efficient manner that reduces demand on CPU time and I/O resources. What is HDF5? ------------- For those people who know nothing about HDF5, it is is a general purpose library and file format for storing scientific data made at NCSA. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic constructs, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. Platforms --------- I'm using Linux as the main development platform, but PyTables should be easy to compile/install on other UNIX machines. This package has also passed all the tests on a UltraSparc platform with Solaris 7 and Solaris 8. It also compiles and passes all the tests on a SGI Origin2000 with MIPS R12000 processors and running IRIX 6.5. Regarding Windows platforms, PyTables has been tested with Windows 2000 and Windows XP, but it should also work with other flavors. An example? ----------- For online code examples, have a look at http://pytables.sourceforge.net/tut/tutorial1-1.html and http://pytables.sourceforge.net/tut/tutorial1-2.html Web site -------- Go to the PyTables web site for more details: http://pytables.sourceforge.net/ Share your experience --------------------- Let me know of any bugs, suggestions, gripes, kudos, etc. you may have. Have fun! -- Francesc Alted From lutz@rmi.net Mon Sep 22 22:56:59 2003 From: lutz@rmi.net (Mark Lutz) Date: 22 Sep 2003 14:56:59 -0700 Subject: Python training in Colorado, Oct 7-9 Message-ID: I am holding another 3-day Python class in Longmont, Colorado, on October 7-9. This is a public class, open to individual enrollments, and covers the same topics as the on-site classes I teach. For more details, please see this page: http://www.rmi.net/~lutz/oct03-longmont-class.html Thanks for your interest. --Mark Lutz (http://www.rmi.net/~lutz) From bryan@bryangudorf.com Tue Sep 23 16:57:33 2003 From: bryan@bryangudorf.com (Bryan J Gudorf) Date: Tue, 23 Sep 2003 11:57:33 -0400 Subject: Python Database Objects (PDO) 1.0.1 Released Message-ID: We at NeuroKode Labs, LLC, are proud to announce the release of Python Database Objects (PDO) 1.0.1. The current release adds support for PostgreSQL via the pgdb Module. As released previously: Python Database Objects (PDO) provides an easy to use Object Oriented API for database developers. PDO utilizes DB-API modules for database access, but allows for a Common Object Oriented API across RDBMS. Thus, PDO can be thought of as a 'wrapper' around the DB-API and database specific modules. PDO offers a unique interface which includes such features as column access by name, forward and backward movement through a result set and much, much more. Downloads for Python Database Objects are available on SourceForge.Net or for more information please visit pdo.neurokode.com. ~Bryan J Gudorf NeuroKode Labs, LLC From jeremy@zope.com Wed Sep 24 06:25:38 2003 From: jeremy@zope.com (Jeremy Hylton) Date: Wed, 24 Sep 2003 01:25:38 -0400 Subject: ZODB 3.2b3 released Message-ID: We released ZODB 3.2b2 on Tuesday evening. You can find it at the usual place: http://www.zope.org/Products/ZODB3.2 This release contains the last new work we plan to do before the ZODB 3.2 final release. We have fixed several bugs, including a deadlock problem that had been reported against 3.2b2. ZODB 3.2 has a number of new features and improvements over ZODB 3.1: - improve performance and stability of ZEO - new ZEO authentication protocol - new configuration language, ZConfig, for databases, storages, and ZEO servers - many bug fixes Please give this new release a try. We hope to have a final release soon, and bugs reported soon are more likely to get fixed before the final release. I've included the NEWS.txt summary of the most recent changes. Jeremy What's new in ZODB3 3.2 beta 3 ============================== Release date: 23-Sep-2003 Note: The changes listed for this release include changes also made in ZODB 3.1.x releases and ported to the 3.2 release. This version of ZODB 3.2 is not compatible with Python 2.1. Early versions were explicitly designed to be compatible with Zope 2.6. That plan has been dropped, because Zope 2.7 is already in beta release. Several of the classes in ZEO and ZODB now inherit from object, making them new-style classes. The primary motivation for the change was to make it easier to debug memory leaks. We don't expect any behavior to change as a result. A new feature to allow removal of connection pools for versions was ported from Zope 2.6. This feature is needed by Zope to avoid denial of service attacks that allow a client to create an arbitrary number of version pools. Fixed several critical ZEO bugs. - If several client transactions were blocked waiting for the storage and one of the blocked clients disconnected, the server would attempt to restart one of the other waiting clients. Since the disconnected client did not have the storage lock, this could lead to deadlock. It could also cause the assertion "self._client is None" to fail. - If a storage server fails or times out between the vote and the finish, the ZEO cache could get populated with objects that didn't make it to the storage server. - If a client loses its connection to the server near the end of a transaction, it is now guaranteed to get a ClientDisconnected error even if it reconnects before the transaction finishes. This is necessary because the server will always abort the transaction. In some cases, the client would never see an error for the aborted transaction. - In tpc_finish(), reordered the calls so that the server's tpc_finish() is called (and must succeed) before we update the ZEO client cache. - The storage name is now prepended to the sort key, to ensure a unique global sort order if storages are named uniquely. This can prevent deadlock in some unusual cases. Fixed several serious flaws in the implementation of the ZEO authentication protocol. - The smac layer would accept a message without a MAC even after the session key was established. - The client never initialized its session key, so it never checked incoming messages or created MACs for outgoing messags. - The smac layer used a single HMAC instance for sending and receiving messages. This approach could only work if client and server were guaranteed to process all messages in the same total order, which could only happen in simple scenarios like unit tests. Fixed a bug in ExtensionClass when comparing ExtensionClass instances. The code could raise RuntimeWarning under Python 2.3, and produce incorrect results on 64-bit platforms. Fixed bug in BDBStorage that cause lead to DBRunRecoveryErrors when a transaction was aborted after performing operations like commit version or undo that create new references to existing pickles. Fixed a bug in Connection.py that caused it to fail with an AttributeError if close() was called after the database was closed. The test suite leaves fewer log files behind, although it still leaves a lot of junk. The test.py script puts each tests temp files in a separate directory, so it is easier to see which tests are causing problems. Unfortunately, it is still to tedious to figure out why the identified tests are leaving files behind. This release contains the latest and greatest version of the BDBStorage. This storage has still not seen testing in a production environment, but it represents the current best design and most recent code culled from various branches where development has occurred. The Tools directory contains a number of small improvements, a few new tools, and README.txt that catalogs the tools. Many of the tools are installed by setup.py; those scripts will now have a #! line set automatically on Unix. Fixed bugs in Tools/repozo.py, including a timing-dependent one that could cause the following invocation of repozo to do a full backup when an incremental backup would have sufficed. A pair of new scripts from Jim Fulton can be used to synthesize workloads and measure ZEO performance: see zodbload.py and zeoserverlog.py in the Tools directory. Note that these require Zope. Tools/checkbtrees.py was strengthened in two ways: - In addition to running the _check() method on each BTree B found, BTrees.check.check(B) is also run. The check() function was written after checkbtrees.py, and identifies kinds of damage B._check() cannot find. - Cycles in the object graph no longer lead to unbounded output. Note that preventing this requires remembering the oid of each persistent object found, which increases the memory needed by the script. From dinu@mac.com Wed Sep 24 13:26:31 2003 From: dinu@mac.com (Dinu Gherman) Date: Wed, 24 Sep 2003 14:26:31 +0200 Subject: ANN: tiff2sth 0.2 - a tool for reading Cocoa TIFFs and converting with PIL Message-ID: This is to announce tiff2sth, a tool/module to convert TIFF files to something else, namly other bitmap formats by using PIL on Mac OS X. Doing so allows PIL to read such converted files which otherwise it would not be able to. Please see the Readme below. Regards, Dinu -- Dinu C. Gherman ...................................................................... "Of course America had often been discovered before Columbus, but it had always been hushed up." (Oscar Wilde) tiff2sth ======== Summary ------- A tool for converting Cocoa TIFFs on Mac OS X to other bitmap formats. Overview -------- This module/tool is a first attempt at converting TIFF files created on Mac OS X using the Cocoa classes NSImage and NSBitmapRep to other bitmap formats, like JPEG, GIF, PNG, etc. The conversion is delegated to PIL, the Python Imaging Library. Basics ------ Because PIL is used for generating the destination bitmap, all of its formats are available in principle. In practice, only JPEG, GIF and PNG have been tested with the current code. BMP would require small modifications only (removing the alpha channel). History ------- :0.2: first release Requirements ------------ You need PyObjC [1]_ and PIL [2]_ (both free) to run tiff2sth. Licence ------- tiff2sth is released under the GPL - see the included file, "GPL.txt". Download -------- The tiff2sth distribution, including two PDF input samples and TIFF output samples, as well as a few tests, is available from: http://python.net/~gherman/tiff2sth.html Notes ------ This is a crude hack and does not perform any checks whatsoever with respect to compression, multi-TIFF files, etc. etc. But it does work on the vanilla TIFFs I'm generating using Cocoa. More features might be added later as needed. The whole issue of writing this code is that PIL, up to version 1.1.4, cannot read TIFF files generated from the Cocoa AppKit. You can use tiff2sth, though, to generate files in a TIFF format which PIL does understand and is able to reload (you just have to provide '.tif' as extension for the destination file). Future ------ More features and sanity checks might be added later as needed. Links ----- .. [1] http://pyobjc.sourceforge.net .. [2] http://www.pythonware.com/products/pil Author ------ Dinu Gherman, dinu at mac dot com, 2003-09-24 From anthony@interlink.com.au Wed Sep 24 09:02:47 2003 From: anthony@interlink.com.au (Anthony Baxter) Date: Wed, 24 Sep 2003 18:02:47 +1000 Subject: RELEASED Python 2.3.1 Message-ID: On behalf of the Python development team and the Python community, I'm happy to announce the release of Python 2.3.1 (final). Python 2.3.1 is a pure bug fix release of Python 2.3, released in late July. A number of obscure crash-causing bugs have been fixed, various memory leaks have been squished, but no new features have been added to the language or to the library. For more information on Python 2.3.1, including download links for various platforms, release notes, and known issues, please see: http://www.python.org/2.3.1 Highlights of this new release include: - Bugfixes - The Windows installer now ships with documentation in searchable htmlhelp format, rather than individual HTML files. Highlights of the previous major Python release (2.3) are available from the Python 2.3 page, at http://www.python.org/2.3/highlights.html This release was the work of a number of dedicated python-dev folks who took the time to apply bugfixes back to the 2.3 code. The community owes them many thanks for this work. Enjoy the new release, Anthony Anthony Baxter anthony@python.org Python 2.3.1 Release Manager (on behalf of the entire python-dev team) From pythonguy@Hotpop.com Wed Sep 24 15:16:44 2003 From: pythonguy@Hotpop.com (Anand Pillai) Date: 24 Sep 2003 07:16:44 -0700 Subject: ANN - HarvestMan 1.2 rc1 Message-ID: HarvestMan, the desktop webcrawler program written in python is released 1.2 rc1 (Release Candidate 1). Changes in this release ======================= o Support for controlling number of network connections o Project timeouts/fixed bugs in early project exits o Many bug fixes. The project page is moved to http://harvestman.freezope.org and has a Changelog, source code and documentation. -ABP From DavidA@ActiveState.com Wed Sep 24 18:32:36 2003 From: DavidA@ActiveState.com (David Ascher) Date: Wed, 24 Sep 2003 10:32:36 -0700 Subject: Announcement: ActiveState acquired by Sophos Message-ID: To the Python community -- As some of you have heard by now, ActiveState was acquired yesterday by Sophos Plc, a UK-based global anti-virus company, as described in this press release: http://www.activestate.com/Corporate/Communications/Releases/Press1064364490.html and in this open letter to ActiveState customers: http://www.activestate.com/corporate/letter/. I figure that many of you who know about ActiveState's background in the open source community probably have questions regarding what this means for ActiveState's future, and the future of Python at ActiveState. In short, there is no downside, only great opportunities. What will not change: - Our line of tools, language distributions and enterprise support for open source programming languages will continue to be developed and evolve with customer needs. - Our involvement in the open source language communities will continue as before. - All of the ActiveState staff is retained in the acquisition. - The Vancouver, BC office is poised to expand, not shrink. - Email addresses, phone numbers, etc. will continue to function as before. What will change: - ActiveState will now have a broader global impact and access to the resources of a larger company with a great deal of experience helping businesses secure their networks. - Our PureMessage anti-spam product will be integrated with the Sophos MailMonitor product and be sold as Sophos PureMessage, while the rest of our product line will still be sold under the ActiveState banner. - ActiveState is now a wholly-owned subsidiary of Sophos, with a focused mission to providing tools and services for users of open source programming languages. I want to point out to this audience in particular that the acquisition of ActiveState is a success story for open source programming technologies. It is in part thanks to our use of programming languages like Perl, Python and Tcl _and_ to our involvement in the programming communities around these languages that we've been able to quickly build and sell enterprise-grade software such as PureMessage, as well as very successful programming tools like Komodo, the Perl Dev Kit, etc. I'm glad to say that Sophos appreciates this and is looking to expand the use of these technologies in the larger company, not shrink it. Score one for the good guys! While I have to get back to work (on the usual things, like adding Python features to Komodo, help plan the next release of ActivePython, help plan for PyCon 2004, iron out legal issues for the PSF and a few other things like that), I'll be monitoring these lists, and welcome email questions as well -- send them to me at DavidA@ActiveState.com. Cheers, and see you all at PyCon 2004! -- David Ascher ActiveState, a division of Sophos From jfine@pytex.org Wed Sep 24 18:40:15 2003 From: jfine@pytex.org (Jonathan Fine) Date: Wed, 24 Sep 2003 18:40:15 +0100 Subject: ANN: texd04 and the PyTeX project Message-ID: 1. Introduction Python is an elegant object oriented scripting language. TeX is a high quality typesetting program. Both texd and PyTeX are Python projects that use TeX (or TeX projects that use Python). 2. texd texd is TeX run as a daemon. By removing the startup cost, texd can process small files about 30 times quicker than TeX run as a batch program. This allows TeX to be used as the typesetting engine of interactive programs. We are pleased to announce that version 0.4 of texd is available at http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/texd/ The distribution consists of 5 files README dlatex.sty formats.py story.py texd04.py If not already present, the README will show up on the Sourceforge CVS server in a day or so. It provides a callable function interface to TeX, and a sample interactive demonstration of how TeX's paragraph parameters work (written using Tk). For ease of development, this version of texd has been written in Python. It should run on any recent Debian Linux, provided * Python 2.2 or better * Tk for Python * TeX are installed. For other Linux distributions, or Unix, more work may be required - see the README. If you are interested in texd, please visit: http://sourceforge.net/projects/texd There is a developers mailing list for texd: http://lists.sourceforge.net/lists/listinfo/texd-devel I'd like discussion relating to texd to be copied to this list, whenever appropriate. 3. PyTeX PyTeX is a project to use Python as the scripting front end to TeX typesetting. Think of Tcl/Tk. Tcl is a front end to the Tk toolkit. Now think of LaTeX as La/TeX. La is a TeX macro front end to the TeX typesetting program. Now think of PyTeX as Py/TeX. That's what PyTeX is. For more information about PyTeX visit: http://www.pytex.org http://sourceforge.net/projects/texd Right now, I've no objections at all if PyTeX discussion took place on the texd-devel list. In fact, I'd like it, because TeX as a callable function is a setting where we really need PyTeX. Jonathan Fine jfine@pytex.org From bryan@pyzine.com Wed Sep 24 23:19:28 2003 From: bryan@pyzine.com (Bryan Richard) Date: 24 Sep 2003 15:19:28 -0700 Subject: Py is Dead! Long live Py! Message-ID: Like the mythic Phoenix, Py, the independent technical zine for Python developers, is flaming out to re-emerge more spectacular than before. beehive KG (http://www.beehive-eu.com/) will be a taking over the publishing responsibilities for upcoming issues of Py. beehive is committed to Py and Python, they currently publish the popular ZopeMag (www.zopemag.com). Welcome them with open arms, they're going to do a great job. I know I certainly couldn't be more happy. Py was a labor of love -- more labor than love really -- and it's good to know that it is in such capable hands. I suspect the online format and larger issues will be a great improvement and will allow Py to reach a wider audience. A migration FAQ will be posted shortly at www.pyzine.com. Thanks to everyone for everything. And we fade out to the forced context of a Dylan song, Was it me that shot him down in the cantina Was it my hand that held the gun? Come, let us fly, my Magdalena The dogs are barking and what's done is done. [1] Be well, Bryan Richard Founder, Py [1] Romance in Durango From uche.ogbuji@fourthought.com Thu Sep 25 04:19:04 2003 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 24 Sep 2003 21:19:04 -0600 Subject: ANN: Anobind 0.6.0 Message-ID: This release adds namespace support and a whitespace stripping rule. There has ben some internal restructuring. ________________________________________________________________________ http://uche.ogbuji.net/tech/4Suite/anobind Anobind is a Python/XML data binding, which is just a fancy way of saying it's a very Pythonic XML API. You feed Anobind an XML document and it returns a data structure of corresponding Python objects. For example, the document What do you mean "bleh" But I was looking for argument Would become a set of objects so that you could write binding.monty.python.spam In order to get the value "eggs" or binding.monty.python[1].text_content() binding.monty.python[1].text_content() In order to get the value "But I was looking for argument". There are other such tools for Python, and what makes Anobind unique is that it's driven by a very declarative rules-based system for binding XML to the Python data. One can register rules that are triggered by XPatterns or plain Python code in order to register specialized binding behavior. It also offers XPath support and some support for round-tripping documents. Anobind is open source, provided under the 4Suite variant of the Apache license. It requires Python 2.2.2 and 4Suite 1.0a3. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Introducing Anobind - http://www.xml.com/pub/a/2003/08/13/py-xml.html XML Topic Maps by the book - http://www-106.ibm.com/developerworks/xml/library/x-think19.html Charming Jython - http://www-106.ibm.com/developerworks/java/library/j-jython.html Python, Web services, and XSLT - http://www-106.ibm.com/developerworks/xml/library/ws-pyth13/ Perspective on XML: What is this 'agility'? - http://www.adtmag.com/article.asp?id=8004 From mark@pyzine.com Thu Sep 25 19:17:53 2003 From: mark@pyzine.com (Mark Pratt) Date: 25 Sep 2003 11:17:53 -0700 Subject: PyZine is looking for article proposals Message-ID: Hello all, As you will have likely heard or read beehive has taken over the responsibility to publish PyZine. Read more about this here: http://www.pyzine.com/MigrationFAQ.html beehive is looking for article proposals for Issue 5 (January to March) edition of PyZine We pay for all articles that we publish. To read more about our writers guidelines please see: http://www.pyzine.com/writefor.html Hope to hear from many of you! Regards, Mark From pycon@python.org Fri Sep 26 01:23:55 2003 From: pycon@python.org (PyCon Chair) Date: Thu, 25 Sep 2003 20:23:55 -0400 Subject: PyCon Announcement: Mitch Kapor is opening keynote speaker Message-ID: [Apologies to people who see this twice; there was a glitch in the original sending.] Mitch Kapor to Keynote PyCon DC 2004 ------------------------------------ Washington, DC, September 24, 2003 The Python Software Foundation announced today that Mitch Kapor will be the opening keynote speaker for their second US Python community conference next March. Mr. Kapor is well known as a co-founder of Lotus Development Corporation and as a co-founder and the first chairman of the San Francisco-based Electronic Freedom Foundation, and has been an active entrepreneur in information technology for many years. More recently he founded the Open Software Applications Foundation (OSAF - see http://www.osafoundation.org/). The OSAF is using Python to build Chandler, an open source Personal Information Manager. PyCon is a community-oriented conference for developers of Python applications and for those with an interest in the development of the Python programming language. It offers the opportunity to learn about significant advances in Python's uses and development community, to participate in a programming sprint with some of the leading minds in the Open Source community, and to meet fellow developers from around the world. The organizers work to make the conference affordable and accessible to all. Pycon DC 2004 will be held March 24-26, 2004 in Washington, D.C. There will be a four-day development sprint before the conference. Volunteers interested in helping to run PyCon should subscribe to the organizers mailing list at http://mail.python.org/mailman/listinfo/pycon-organizers Don't miss any PyCon announcements! Subscribe at http://mail.python.org/mailman/listinfo/pycon-announce You can discuss PyCon with other interested people by subscribing at http://mail.python.org/mailman/listinfo/pycon-interest The central resource for PyCon DC 2004 is http://www.python.org/pycon/dc2004/ -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ "It is easier to optimize correct code than to correct optimized code." --Bill Harlan From support@keyphrene.com Fri Sep 26 10:38:11 2003 From: support@keyphrene.com (support@keyphrene.com) Date: Fri, 26 Sep 2003 9:38:11 GMT Subject: ANN: Naja 0.8.7 is now available Message-ID: Naja is a freeware tool written in Python/wxPython. Naja is a download manager and a website grabber. It can be used for extract articles from news server. Naja supports proxy (HTTP, HTTPS, FTP, SOCKS v4a, SOCKS v5). The downloading maybe achieved by splitting the file being downloaded into several parts and downloading these parts at the same time (HTTP, HTTPS, FTP). Donwload speeds are increased by downloading the file from the mirrors sites, when the sites propose it. Others features: Csv filter Cheksums (CRC32, MD5, SHA1) Web Interface (take control since your office) Mirroring (Multiples Choices) Naja is available for download from the Keyphrene web site: http://www.keyphrene.com/products/naja From jeremy@alum.mit.edu Fri Sep 26 15:14:18 2003 From: jeremy@alum.mit.edu (Jeremy Hylton) Date: Fri, 26 Sep 2003 10:14:18 -0400 Subject: Lightweight Languages 2003 (LL3) CFP Message-ID: Lightweight Languages Workshop 2003 (LL3) ---------------------------------- Saturday, November 8, 2003, MIT, Cambridge, MA http://ll3.ai.mit.edu/ mailto:ll3@ai.mit.edu CALL FOR PRESENTATIONS LL3 will be an intense, exciting, one-day forum bringing together the best programming language implementors and researchers, from both academia and industry, to exchange ideas and information, to challenge one another, and to learn from one another. The workshop series focuses on programming languages, tools, and processes that are usable and useful. Lightweight languages have been an effective vehicle for introducing new features to mainstream programmers. We encourage presentations on topics of interest to the community of lightweight language users and designers. We prefer topics that will interest a broad audience. We do not require the presentation of novel research ideas. Proposal Abstracts ------------------ Due Friday Oct. 17 We seek two to five page abstracts of talks to be given at the workshop. Talks will be 30 minutes long, including time for questions and answers. Presenters are not expected to submit papers, but slides will be published on the workshop web site. We will also consider proposals for talks of different lengths. Some suggested topics are: * Language design: New language features, type systems and other reasoning tools, critiques of existing languages. * Implementation techniques: Interpreters and virtual machines, optimizations, cross-language interactions. * From scripts to programs: Software engineering with lightweight and/or a mix of languages. How to (or not to!) scale from little scripts to large, complex applications. Application war stories. * From ivory tower to cubicle -- what language implementors need to know from academic programming languages research -- and back. * Lightweight pearls: Elegant and instructive examples of programs in lightweight languages. * Programming tools and development processes. Send submissions to: ll3-submit@ai.mit.edu We want presentations that will inspire, motivate, and educate. We want language implementors and researchers to leave the workshop fired up with ideas for future languages, features, and implementation tricks. We want language users to leave the workshop fired up with new ideas and new tools. In addition to submitted presentations, there will be two invited talks. After the workshop, there will be an evening social event and dinner. Dates: Tuesday, Oct. 17 -- submissions due by end of day. Tuesday, Oct. 24 -- notification of acceptance or rejection Saturday, Nov. 8 -- 9am-7pm, LL3! Program Committee: Ken Anderson, BBN (co-chair) Jeremy Hylton, Python Software Foundation (co-chair) Geoffrey Knauth, BAE Systems Shriram Krishnamurthi, Brown University Erik Meijer, Microsoft Research Dan Sugalski, Perl Foundation Greg Sullivan, MIT CSAIL From Alexandre.Fayolle@logilab.fr Fri Sep 26 17:34:49 2003 From: Alexandre.Fayolle@logilab.fr (Alexandre Fayolle) Date: Fri, 26 Sep 2003 18:34:49 +0200 Subject: [ANN] logilab-common-0.3.2 Message-ID: Logilab has released logilab-common-0.3.2 This release fixes several problems in the astng module, as well as in the modutils module, which was partly rewritten to use a different import mechanism. A couple a functions were added to fileutils.=20 logilab-common contains some modules used by different projects released by Logilab, including abstract syntax tree manipulation tools, database helper functions, HTML generation, command line argument parsing, logging, and process daemonization.=20 The home page of the project is=20 http://www.logilab.org/projects/common/ The source can be downloaded at ftp://ftp.logilab.org/pub/common/common-0.3.2.tar.gz --=20 Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D=E9veloppement logiciel avanc=E9 - Intelligence Artificielle - Formation= s From Alexandre.Fayolle@logilab.fr Fri Sep 26 17:38:34 2003 From: Alexandre.Fayolle@logilab.fr (Alexandre Fayolle) Date: Fri, 26 Sep 2003 18:38:34 +0200 Subject: [ANN] pylint-0.2 Message-ID: Logilab has released pylint-0.2 What's new? ----------- In addition to a large number of bug fixes, this release adds two new checkers, for missing encoding declaration, and for FIXME comments. Zope support was improved.=20 About Pylint ------------ Pylint is a lint-like tool for Python code. It performs almost all the verifications that pychecker does, and additionally can perform some stylistic verification and coding standard enforcements. The checked code is assigned a mark based on the number and the severity of the encountered problems. The previous mark of a given piece of code is cached so that you can see if the code quality has improved since the last check.=20 URLs ---- Homepage: http://www.logilab.org/projects/pylint Download: ftp://ftp.logilab.org/pub/pylint/pylint-0.2.tar.gz --=20 Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D=E9veloppement logiciel avanc=E9 - Intelligence Artificielle - Formation= s From Alexandre.Fayolle@logilab.fr Fri Sep 26 17:43:43 2003 From: Alexandre.Fayolle@logilab.fr (Alexandre Fayolle) Date: Fri, 26 Sep 2003 18:43:43 +0200 Subject: [ANN] pygantt-0.9.3 Message-ID: Logilab has released pygantt-0.9.3 What's new? ----------- This release fixes the way to find the PIL fonts. It also fixes a bug in the resource filter (many thanks to Mitry Samersoff for providing a patch) About Pygantt ------------- Pygantt is a project management tool, which can use XML files describing tasks and resources and generate Gantt diagrams for the project. It can use Logilab's constraint satisfaction solver to schedule the different tasks.=20 URLs ---- Homepage: http://www.logilab.org/projects/pygantt/ Download: ftp://ftp.logilab.org/pub/pygantt/pygantt-0.9.3.tar.gz --=20 Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D=E9veloppement logiciel avanc=E9 - Intelligence Artificielle - Formation= s From Alexandre.Fayolle@logilab.fr Fri Sep 26 17:51:36 2003 From: Alexandre.Fayolle@logilab.fr (Alexandre Fayolle) Date: Fri, 26 Sep 2003 18:51:36 +0200 Subject: [ANN] pygantt-0.9.3 In-Reply-To: <20030926164343.GQ28349@calvin> References: <20030926164343.GQ28349@calvin> Message-ID: On Fri, Sep 26, 2003 at 06:43:43PM +0200, Alexandre Fayolle wrote: =20 > This release fixes the way to find the PIL fonts. It also fixes a bug i= n > the resource filter (many thanks to Mitry Samersoff for providing a > patch) My sincerest apologies to Dmitry Samersoff for misspelling his name.=20 --=20 Alexandre Fayolle LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org D=E9veloppement logiciel avanc=E9 - Intelligence Artificielle - Formation= s From stani_@hotmail.com Fri Sep 26 21:26:36 2003 From: stani_@hotmail.com (SM) Date: 26 Sep 2003 13:26:36 -0700 Subject: spe-0.1.8.c Message-ID: Spe 0.1.8.c Spe is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, syntax highlighting, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser, recent file browser, drag&drop, context help, ... Special is its blender support with a blender 3d object browser and its ability to run interactively inside blender. Spe is extensible with boa. Hopefully this release can be a milestone. For the first time it contains a plugin from an user. I would be happy if this would happen more. Any wxDialog, wxFrame or wxPanel can be easily integrated in spe. So, many thanks to Andrei (http://project5.tk), who contributed Kiki, a regular expression console. :Links: - Homepage: http://spe.pycs.net - Website: http://projects.blender.org/projects/spe/ - Screenshots: http://spe.pycs.net/pictures/index.html - Forum: http://projects.blender.org/forum/?group_id=30 - RSS feed: http://spe.pycs.net/weblog/rss.xml :New features: [a] - Kiki: *"Kiki is a Regex tool which I think could be useful in Spe for the idiots who, like me, aren't capable of Thinking In Regex. It's inspired by - but has no code at all in common with - a Tkinter tool called Recon (regex console). I've attached the current snapshot, which is very much not the finished product, even though it does work. Planned features include: colored parentheses showing the start/end of groups in re matches (currently parens just wrap the match), overviews of all named and unnamed groups for every match, docs in the Help."* Andrei :Fixes: [c] - SetColumnWidth(-1,...) maybe fixed (Linux) - sys.system_info fix (Linux) - open files on command line was not working - sys.argv error when spe is started from Blender - blenpy send to fix - spe.INFO problem - improved user path retrieval [a] - @ was shortcut for contact, now it is Ctrl+@ :Requirements: - full python_ 2.2 or 2.3 - wxpython_ 2.4.1.2 - optional blender_ 2.28b (will be available soon) :Contributors: [c] - Tina Hirsch (feedback) - Andrei (improved user path retrieval) http://come.to/project5 [a] - Andrei (new feature: kiki) http://come.to/project5 From stani_@hotmail.com Sun Sep 28 03:32:44 2003 From: stani_@hotmail.com (SM) Date: 27 Sep 2003 19:32:44 -0700 Subject: Spe-0.2.0.a Python IDE with Blender and wxGlade (gui design) support Message-ID: Spe is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, syntax highlighting, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser, recent file browser, drag&drop, context help, ... Special is its blender support with a blender 3d object browser and its ability to run interactively inside blender. Spe is extensible with boa. :Links: - Homepage: http://spe.pycs.net - Website: http://projects.blender.org/projects/spe/ - Screenshots: http://spe.pycs.net/pictures/index.html - Forum: http://projects.blender.org/forum/?group_id=30 - RSS feed: http://spe.pycs.net/weblog/rss.xml Spe now ships with wxGlade, a GUI designer! Screenshots are at http://wxglade.sourceforge.net/img/group.png A tutorial is included in the help menu.Now it acts independantly from spe, but the purpose is to integrate it tighter. Any help here would be welcome. Spe runs now also fine inside Blender2.28c Andrei compares wxGlade to Boa: *"I like Boa and as Delphi programmer it was my first choice when I looked into GUIs. But as Python user, I find wxGlade suits my needs better, because it doesn't encourage integration of GUI and code and because of its excellent support for sizers, which are a must-have for cross-platform development. Those non-resizeable frames we are used to in Windows seem really weird to Linux users - and with good reason."* :Batteries included: - Kiki: Regular Expression (regex) console. Altough still a pre-alpha release, it might be already usefull. - wxGlade: wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWindows/wxPython user interfaces. As you can guess by the name, its model is Glade, the famous GTK+/GNOME GUI builder, with which wxGlade shares the philosophy and the look & feel (but not a line of code). For more info: http://wxglade.sourceforge.net :New features: - wxGlade: see above :Requirements: - full python_ 2.2 or 2.3 - wxpython_ 2.4.1.2 - optional blender_ 2.28c :Contributors: - the wxGlade team http://wxglade.sourceforge.net From andrew-lca@puzzling.org Sun Sep 28 03:41:44 2003 From: andrew-lca@puzzling.org (Andrew Bennetts) Date: Sun, 28 Sep 2003 12:41:44 +1000 Subject: LCA 2004 Python mini-conf -- Call For Speakers Message-ID: I'm organising a one-day Python mini-conf to be held at Linux.conf.au 2004[1]. I'm looking for people to speak at the mini-conf. I'm interested in any Python-related talks or tutorials you might want to give -- Linux-related is *not* a requirement. Also, unlike the main conference, I don't expect you to write a full paper and present that -- I'm aiming for a slightly more relaxed and informal atmosphere, given that we're smaller than the main conference. I'm also happy to accept talks shorter than an hour, so don't hold back just because you've only got a quick half-hour talk. So, if you have a pet Python project or library you develop or just enjoy using, and would like to talk about it, I'm interested. Mini-conf speakers and attendees will need to register for the main conference, and meet all costs of travel and accomodation themselves. See these sites for more details: - http://pig.slug.org.au/miniconf/ - http://lca2004.linux.org.au/ -Andrew. [1] Linux.Conf.Au is Australia's national Linux conference to be held at the University of Adelaide from Wednesday January 14 to Saturday January 17, 2004. IBM is proud to be Linux.Conf.Au 2004's Penguin Sponsor. http://lca2004.linux.org.au. From jjl@pobox.com Sun Sep 28 17:52:49 2003 From: jjl@pobox.com (John J. Lee) Date: 28 Sep 2003 17:52:49 +0100 Subject: ANN: ClientForm 0.1.9 and 0.0.12 released (first 0.1.x stable release) Message-ID: http://wwwsearch.sourceforge.net/ClientForm/ 0.1.9 is the first stable release of 0.1.x. Changes from 0.1.8b to 0.1.9: * HTMLForm.attrs now works (the dict contents were incorrect). Equivalent changes were made in 0.0.12. Requires Python >= 1.5.2. ClientForm is a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server. It has developed from a port of Gisle Aas' Perl module HTML::Form, from the libwww-perl library, but the interface is not the same. Simple example: from urllib2 import urlopen from ClientForm import ParseResponse forms = ParseResponse(urlopen("http://www.acme.com/form.html")) form = forms[0] print form form["author"] = "Gisle Aas" # form.click returns a urllib2.Request object # (see HTMLForm.click_request_data.__doc__ if you're not using urllib2) response = urlopen(form.click("Thanks")) John From nelson@crynwr.com Mon Sep 29 06:16:26 2003 From: nelson@crynwr.com (Russell Nelson) Date: 29 Sep 2003 01:16:26 -0400 Subject: ANN: LatLongUTMconversion 1.0 - convert lat/lon to UTM Message-ID: Finally got around to publishing one of the modules that makes up pygps. With it, you can convert latitude/longitude coordinates into UTM coordinates. There's actually a bunch of flavors of lat/lon, so you have to specify which datum you want. GPS receivers use datum #23, WGS-84, so if you're using LLtoUTM with a GPS receiver to make map coordinates, you'll hard-code 23 as the first parameter. This is mature code; haven't changed it in over a year. Note that this code doesn't convert the other way, even though I have the algorithm to do it. Why not? I just never needed it. If you do, bug me about it by showering $20 bills on my head. Or go create a project with the Public Software Fund at http://pubsoft.org/ . http://pygps.org/LatLongUTMconversion-1.0.tar.gz -- --My blog is at angry-economist.russnelson.com | Can I recommend python? Crynwr sells support for free software | PGPok | Just a thought. 521 Pleasant Valley Rd. | +1 315 268 1925 voice | -Dr. Jamey Hicks Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | From richardjones@optushome.com.au Mon Sep 29 09:26:21 2003 From: richardjones@optushome.com.au (Richard Jones) Date: Mon, 29 Sep 2003 18:26:21 +1000 Subject: SC-Track Roundup 0.6.2 - an issue tracking system Message-ID: ================================================= SC-Track Roundup 0.6.2 - an issue tracking system ================================================= I'm pleased to announce this maintenance release of Roundup which fixes some bugs: - cleaned up, clarified internal caching API in *dbm backends - stopped pyc writing to current directory! yay! (patch 800718 with changes) - fixed file leak in detector initialisation (patch 800715) - commented out example tracker homes (patch 800720) - added note about hidden :template var in user.item (bug 799842) - fixed change note generation when property was deleted from class and we are trying to edit an instance If you're upgrading from an older version of Roundup you *must* follow the "Software Upgrade" guidelines given in the maintenance documentation. Unfortunately, the Zope frontend for Roundup is currently broken. I hope to revive it in a future 0.6 maintenance release. No, really. Roundup requires python 2.1.3 or later for correct operation. Python 2.3.1 or later is strongly recommended. To give Roundup a try, just download (see below), unpack and run:: python demo.py Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup 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.1+ 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 (a classic bug/feature tracker and a minimal skeleton) and six database back-ends (anydbm, bsddb, bsddb3, sqlite, metakit and mysql). From barry@python.org Mon Sep 29 14:24:31 2003 From: barry@python.org (Barry A. Warsaw) Date: Mon, 29 Sep 2003 09:24:31 -0400 Subject: RELEASED Mailman 2.1.3 Message-ID: I've released version 2.1.3 of Mailman, the GNU Mailing List Manager. Mailman is released under the GNU General Public License (GPL). Version 2.1.3 is a bug fix release which also contains support for four new languages: Ukrainian, Serbian, Euskara (Basque), and Danish. This release also contains a fix for a cross-site scripting vulnerability, as well as improved queue runner performancey. See the links below for a detailed list of changes. I recommend all sites running versions of the 2.1.x line upgrade to the new version. Mailman is free software that enables users to manage email mailing lists and e-newsletters. Its integrated web interface provides easy-to-use access for list members and list administrators. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. Mailman is compatible with most web servers, web browsers, and mail servers. It runs on any Unix-like operating system. Mailman 2.1.3 requires Python 2.1.3 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 any of the Mailman mirror web pages: http://www.gnu.org/software/mailman http://mailman.sourceforge.net http://www.list.org (not yet updated) Patches and source tarballs 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 From thomas@jtah.de Mon Sep 29 18:35:03 2003 From: thomas@jtah.de (Thomas Arendsen Hein) Date: 29 Sep 2003 17:35:03 GMT Subject: ANN: SciParam 1.0.1 References: Message-ID: SciParam 1.0.1 is a Python package to easily add additional quality control for entering scientific parameters in wxPython-based user interfaces. See http://great-er.intevation.org/sciparam/ for download, documentation and screenshots. Changes ======= - allow multiline descriptions for parameters - fixed image scaling in HTML documentation License ======= Copyright (C) 2002, 2003 Intevation GmbH Georgstrasse 4 D-49074 Osnabrueck Germany Author: Thomas Arendsen Hein Before my wedding on July 30th, 2003 my name was Thomas Koester SciParam is released under the GNU General Public License. -- Email: thomas@intevation.de http://intevation.de/~thomas/ From troy@gci.net Mon Sep 29 21:12:43 2003 From: troy@gci.net (Troy Melhase) Date: Mon, 29 Sep 2003 12:12:43 -0800 Subject: ANN: IbPy 0.2 - Interactive Brokers Python API Message-ID: IbPy - Interactive Brokers Python API ============================================================================== IbPy 0.2 Released 29 September 2003 What is IbPy? ------------------------------------------------------------------------------ IbPy is a third-party implementation of the API used for accessing the Interactive Brokers on-line trading system. IbPy implements functionality that the Python programmer can use to connect to IB, request stock ticker data, submit orders for stocks and options, and more. Where can I get IbPy? ------------------------------------------------------------------------------ IbPy is available for download from SourceForge.net. http://sourceforge.net/project/showfiles.php?group_id=53862 Project page: http://ibpy.sourceforge.net/ How do I use IbPy? ------------------------------------------------------------------------------ In order to use IbPy, the TWS application provided by IB must be installed and running. See the note "What is TWS?" for more information. IbPy is used in the same manner as all socket clients supplied by Interactive Brokers. The typical sequence of operations is: 1. Start the browser-based or stand-alone TWS application 2. In TWS, enable socket clients via the Configure -> API menu 3. Connect to TWS from external application 4. In TWS, accept the incoming connection 5. External application requests ticker updates, sends orders, receives account data, portfolio data, etc. To connect to TWS and interact with the brokers trading system, the Python developer defines methods or functions to act as callbacks and associates these with an Ib.Socket.SocketConnection object. The following example is similar to the Demo.py module included with the release: import Ib.Message import Ib.Socket import Ib.Type class Example: def account_value_updated(self, acct_msg): fs = "Broker reports account data: %s is %s" print fs % (acct_msg.key, acct_msg.value, ) def ticker_updated(self, tick_msg): fs = "Broker reports ticker data: ticker id %s - %s is %s" print fs % (tick_msg.ticker_id, tick_msg.field, tick_msg.value) example = Example() connection = Ib.Socket.build(client_id=1234) connection.register(Ib.Message.Account, example.account_value_updated) connection.register(Ib.Message.Ticker, example.ticker_updated) connection.connect(("localhost", 7496)) ## request account updates from the broker connection.request_account_updates() ## request data for two different tickers tickers = [(100, "MERQ"), (101, "MXIM"), ] for ticker_id, symbol in tickers: contract = Ib.Type.Contract(symbol=symbol) connection.request_market_data(ticker_id, contract) In lieu of IbPy documentation, developers are referred to the IbPy source code and the documentaion supplied by Interactive Brokers. What are the requirements? ------------------------------------------------------------------------------ IbPy requires Python 2.2 or newer. TWS requires a web browser capable of executing Sun(R) Java(tm) applets. TWS can also be started directly with Sun(R) Java(tm) and the stand-alone package supplied by Interactive Brokers. What is Interactive Brokers? ------------------------------------------------------------------------------ >From the "About The Interactive Brokers Group" page (http://interactivebrokers.com/html/companyInfo/about.html): The Interactive Brokers Group is a group of electronic brokerage and market making firms at the forefront of the electronic brokerage industry. We have revolutionized the securities and derivatives markets by providing investors with high-speed, direct access to stock, options and futures products worldwide. We specialize in providing investors with technology that offers efficient, fast access to the world's markets at the lowest possible cost. What is Python? ------------------------------------------------------------------------------ >From the "What is Python?" page (http://python.org/doc/Summary.html): Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is portable: it runs on many brands of UNIX, on Windows, DOS, OS/2, Mac, Amiga... If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on comp.lang.python -- or just try compiling Python yourself. The Python implementation is copyrighted but freely usable and distributable, even for commercial use. What is TWS? ------------------------------------------------------------------------------ >From the page "Trader Execution and Clearing System Features" (http://interactivebrokers.com/html/companyInfo/market_ib.html): * IB's Trader Workstation can be run directly from your browser, or you can install it on your PC and run it from your desktop. This Java based application allows traders to quickly enter orders and see results. * Direct Access: Unlike other "online" brokers that send your order through an e-mail type system, IB offers a direct-access order entry system that transmits your order to the proper market center, usually within one second of entry. * Real-Time Streaming Quotes: Display real-time, streaming quotes for markets of interest to the investor. Quotes are live and change continuously as the markets change, no periodic manual update or "refresh" is required. What else? ------------------------------------------------------------------------------ IbPy is not a product of Interactive Brokers, nor am I affiliated with IB. I am a satisfied IB customer, of course. IbPy is installed with distutils. Refer to the Python distutils documentation for more information. The digest version is: # tar xzf IbPy-0.2.tar.gz # cd IbPy-0.2 # python setup.py install The TWS demo system is available here: http://interactivebrokers.com/cgi-pub/jtslink.pl?user_name=edemo The stand-alone TWS and other API software is available from IB: http://interactivebrokers.com/ IbPy is licensed under the BSD License. I'm very interested in your experience with IbPy. Please drop me an note with any feedback you have. Troy Melhase mailto:troy@gci.net From alexander.dejanovski@laposte.net Mon Sep 29 21:20:51 2003 From: alexander.dejanovski@laposte.net (Alexander DEJANOVSKI) Date: Mon, 29 Sep 2003 22:20:51 +0200 Subject: Retic EAI Server 0.6 Released - Now with cross-platform GUI (wxPython) Message-ID: Retic 0.6 comes with 3 new major features : - Retic Administrator : a cross-platform (wxPython 2.4) GUI for creating/modifying adaptors and launching them. (replaces the buggy win32 Retic Designer) - an XMLRPC server. Start it on a machine and after, launch adaptors on it remotely ( Retic Administrator uses it to launch adaptors on distant servers) - Adaptors can be launched with parameter files, in order to execute one adaptor with distinct values (ie : if you put %fileName% somewhere in the definition file of an adaptor, it will be replaced by the fileName value defined in the parameter file you pass as argument of your execution - see Retic's doc for more info). Several bug fixes have been made, as well as speed/memory improvements (especially for the SQLTreeSource component). It is available on sourceforge : http://sourceforge.net/projects/retic ============================================================= WHAT IS RETIC ? Retic is an EAI Server. The aim is to permit applications to communicate, even if they don't speak the same language (which means transport protocols as well as data structures). This is done by building adaptors. An adaptor is composed of : - One source - Several pipes (process data transformations) - Several sinks (destination of data) - Several loggers (using the logging module of python 2.3) ============================================================= Have fun !! From srackham@methods.co.nz Tue Sep 30 11:15:40 2003 From: srackham@methods.co.nz (Stuart Rackham) Date: Tue, 30 Sep 2003 22:15:40 +1200 Subject: ANN: DocIndexer 0.5.1.1 released Message-ID: DocIndexer is a toolkit (written in Python) for indexing and searching document directories. DocIndexer includes command-line utilities, Python file index and search classes plus a Win32 COM server (for scripting from languages such as Visual Basic) which can be used to integrate indexing and searching into application software. The current version has built-in support for Microsoft Word, HTML, RTF and plain text documents. DocIndexer uses the Lupy search engine (a Python port by Amir Bakhtiar of the Lucene search engine). License ------- GPL URLs ---- Homepage: http://www.methods.co.nz/docindexer/ SourceForge: http://sourceforge.net/projects/docindexer/ Runtime Requisites ------------------ Win32: None (compiled binary distribution). POSIX: Python 2.3 or later, Lupy 0.1.5.4. See documentation for build requisites. Cheers Stuart --- Stuart Rackham

DocIndexer 0.5.1.1 - document files indexer and searcher. (30-Sep-03) From anthony@python.org Tue Sep 30 11:37:16 2003 From: anthony@python.org (Anthony Baxter) Date: Tue, 30 Sep 2003 20:37:16 +1000 Subject: RELEASED Python 2.3.2, release candidate 1 Message-ID: On behalf of the Python development team and the Python community, I'm happy to announce the release of Python 2.3.2 (release candidate 1). Python 2.3.2 is a bug-fix release, to repair a couple of build problems and packaging errors in Python 2.3.1. Assuming no major problems crop up, a final release of Python 2.3.2 will follow later this week. For more information on Python 2.3.2, including download links for various platforms, release notes, and known issues, please see: http://www.python.org/2.3.2 Highlights of this new release include: - A bug in autoconf that broke building on HP/UX systems is fixed. - A bug in the Python configure script that meant os.fsync() was never available is fixed. Highlights of the previous major Python release (2.3) are available from the Python 2.3 page, at http://www.python.org/2.3/highlights.html Many apologies for the flaws in 2.3.1 - the final 2.3.2 release should address the problems. Enjoy the new release, Anthony Anthony Baxter anthony@python.org Python 2.3.2 Release Manager (on behalf of the entire python-dev team) From g_will@cyberus.ca Tue Sep 30 14:25:03 2003 From: g_will@cyberus.ca (Gordon Williams) Date: Tue, 30 Sep 2003 09:25:03 -0400 Subject: wxPyPlot V1.2 Message-ID: Hi All, I have released Version 1.2 of wxPyPlot for producing simple plots in wxPython. This release eliminates the Deprecation Warnings that were occurring due to Python 2.3. No other changes have been made. Users will require wxPython 2.4.0.6 or later and Numeric. For your viewing pleasure, the website now has some html docs as well as a few more screen shots of things. Check out: http://www.cyberus.ca/~g_will/wxPython/wxpyplot.html Comments and suggestions welcome. Regards, Gordon Williams ------------------------------------------------------------- What is wxPyPlot?? wxPyPlot is an enhanced derivative version of wxPlotCanvas to provide simple lightweight plotting in wxPython. The emphasis is both on simple and lightweight. Before starting this work I looked at two plotting packages that could be adapted to work with wxPython. SciPy Plt and Chaco are sophisticated and powerful, but at the expense of consuming huge amounts of computer resources for simple plots. They can be found at http://scipy.com. I was looking for something that could be incorporated into a Boa application and had the ability to plot lines with large numbers of points quickly for data capture applications. wxPlotCanvas had the speed and some of the functionality that I was looking for, but lacked a lot of features that I needed. This effort has filled the gap. Features: - Automatic Scaling of Axes - Legends for lines and markers - Plot Title and Axis Labels - Zoom Region with Mouse (Rubber Band) or Programmatically - Scroll Up/Down, Left/Right - Plot Grid (Graticule) on Graph - Printing, Preview, and Page Set-up (margins) -WYSIWYG - Save Plot using various Picture Formats - Cursor X-Y User Axis Values - Simple, Lightweight and Fast - Can be Used with Boa Applications if Desired - Lots of Comments and Doc Strings along with Example Usage I have tested this out on Windows using Python 2.3 and wxPython 2.4.1.2. If you have the chance to test it on Linux, please let me know how it works. Suggestions and improvements welcome. Screen shots, source and instructions for Boa can be found at http://www.cyberus.ca/~g_will/wxPython/wxpyplot.html From remi@cherrypy.org Mon Sep 29 12:19:18 2003 From: remi@cherrypy.org (Remi Delon) Date: 29 Sep 2003 04:19:18 -0700 Subject: Python-2.3.1 available at Python-Hosting.com Message-ID: Python-2.3.1 is now available on all the servers at Python-Hosting.com (making it one of the first hosting providers to support Python-2.3.1 :-) People using Python CGI or Python-2.3-compatible application servers will be able to use all the exciting new features of Python-2.3 for their website. Also, as of August this year, all the user data is being backed-up every night to remote servers and all the servers are being monitored 24/7. About Python-Hosting.com: Python-Hosting.com is a hosting provider specialized in Python. Supported software includes Zope, Plone, WebWare, CherryPy, SkunkWeb, Twisted, Spyce, mod_python and others (in fact, pretty much everything you want that runs on Python :-) Remi. remi@remove-me.python-hosting.com ---------------------- Specialized python hosting: http://www.python-hosting.com Python application server: http://www.cherrypy.org Free CherryPy hosting: http://www.freecherrypy.org ----------------------