From gmcm@hypernet.com Tue May 1 16:53:57 2001 From: gmcm@hypernet.com (Gordon McMillan) Date: Tue, 1 May 2001 11:53:57 -0400 Subject: ANN: Win32 Installer - new beta (v4a) Message-ID: The first release of version 4 of the Win32 Installer package is here: http://www.mcmillan-inc.com/install1.html This version should handle all Python versions from 1.5 onward (it's been tested with 1.5 and 2.0). It has a number of new capabilities: - set a Windows version resource in the executable (NT / Win2K only), including the ability to create a version resource from Python - a utility to analyze the dependency tree of a script / module (including a cross-reference) - warnings issued when dynamic code encountered (__import__, exec, eval) A number of improvements have been made: - cleaned up the console messages (quiet and verbose modes, too) - Freeze apps no longer leave dietrus lying around - fixed the ability to run from CDROM (even a Freeze app using Tk) - revamped command line options What is it? The Installer is a set of tools for distributing Python applications. The target machines do not need to have Python installed, or may have a different version of Python installed. The Windows version (there's a more limited Linux version, too), has top level scripts for 3 configurations: - Standalone: create a single directory installation for your app - Simple: wraps a Standalone with a simple install script - Freeze: creates an executable that unpacks itself at run time, and cleans up afterward. More complex distributions can be created by writing your own config file and passing it to Builder. Old-Python-style license. Contact: gmcm@hypernet.com

Win32 Installer release 4a A compiler-less way of distributing Python apps on Windows. (5-May-01) - Gordon From jack@oratrix.nl Tue May 1 22:24:13 2001 From: jack@oratrix.nl (Jack Jansen) Date: Tue, 1 May 2001 23:24:13 +0200 (MET DST) Subject: MacPython 2.1 released Message-ID: MacPython 2.1 is available for download. Get it via http://www.cwi.nl/~jack/macpython.html . Python is a high-level programming language that is suitable for simple scripting tasks as well as writing large applications. MacPython offers alot of Mac-specific extensions, including access to all major MacOS Toolbox modules (QuickDraw, QuickTime, AppleScript and many more), an Integrated Development Environment (in Python!), frameworks for windowing applications, unix-compatible cgi-scripting, image-manipulation libraries, numerical libraries, tk-based machine independent windowing and lots more. It also uniquely among Pythons allows you to create fully selfcontained (and, hence, distributable) applications without needing a C compiler or anything. New in this version: - A choice of Carbon or Classic runtime, so runs on anything between MacOS 8.1 and MacOS X - Distutils support for easy installation of extension packages - BBedit language plugin - All the platform-independent Python 2.1 mods - New version of Numeric - Lots of bug fixes - Choice of normal and active installer Please send feedback on this release to pythonmac-sig@python.org, where all the MacPythoneers hang out. Enjoy, -- Jack Jansen | ++++ stop the execution of Mumia Abu-Jamal ++++ Jack.Jansen@oratrix.com | ++++ if you agree copy these lines to your sig ++++ www.oratrix.nl/~jack | ++++ see http://www.xs4all.nl/~tank/ ++++ From Cayce@actzero.com Tue May 1 23:17:41 2001 From: Cayce@actzero.com (Cayce Ullman) Date: Tue, 1 May 2001 15:17:41 -0700 Subject: ANN: SOAP.py 0.9 Message-ID: The latest version of SOAP.py (a SOAP implementation written in Python), was released today. Check out its interop matrix : http://www.actzero.com/soap/interop.html (more servers, more successes) or download it : http://www.actzero.com/soap/SOAPpy.html Interop endpoint server info: Name: SOAP.py 0.9 (actzero.com) Endpoint: http://208.177.157.221:9595/xmethodsInterop SOAPAction: "urn:soapinterop" Namespace: http://soapinterop.org/ Comments, feedback, patches, etc... very welcome. Changes since last version: - The Envelope now just contains definitions for namespaces actually used (Builder) - Namespace definitions are inherited by children but not siblings (Builder) - Further improved multi-reference parsing -- it handles circular references (Parser) - Added support for building recursive and circular types using references (Builder) - More types - Proper handling of overflow and underflow integral and floating point types (Parser) - More interop - Various bug fixes and improvements From nyp@njc.ch Wed May 2 05:38:11 2001 From: nyp@njc.ch (Yves Perrenoud) Date: Tue, 01 May 2001 21:38:11 -0700 Subject: ANNOUNCE: yapsnmp 0.7 - an SNMP module supporting v1/v2c & MIB parsing Message-ID: I'm pleased to announce the first public release of yapsnmp (Yet Another Python SNMP module). yapsnmp is an SNMP module built on top of the net-snmp (formerly known as ucd-snmp) library. It offers SNMP version 1 and 2c (v3 soon to come) as well as full MIB parsing. The emphasis has been to make SNMP easily accessible by offering a high level access to the protocol (you shouldn't have to know the intricates of the protocol to make use of it), without sacrificing power and flexibility. The module and it's components are covered by the LGPL and you'll find all the details, documentation and source on the yapsnmp homepage: http://yapsnmp.sourceforge.net/ Although this is the first public release, which basically means that I finally took the time to prepare it for public consumption, the module is actually quite mature and implements most of what I had originally planned. I've been using it to collect millions of elements of data per day, for well over a month, and haven't had any trouble with it. Enjoy... Yves Perrenoud (nyp@njc.ch)

yapsnmp 0.7 - An SNMP module supporting v1/v2c & MIB parsing. (01-May-2001) From thomas.heller@ion-tof.com Thu May 3 08:18:36 2001 From: thomas.heller@ion-tof.com (Thomas Heller) Date: Thu, 3 May 2001 09:18:36 +0200 Subject: py2exe - new version Message-ID: I've released py2exe version 0.2.6. Some smaller changes, as well as support for Python 2.1. Thomas http://starship.python.net/crew/theller/py2exe/ From pete@visionart.com Thu May 3 19:52:40 2001 From: pete@visionart.com (Pete Shinners) Date: Thu, 3 May 2001 11:52:40 -0700 Subject: Announce: SolarWolf 1.0 Message-ID: Announcing SolarWolf 1.0 by Pete 'ShredWheat' Shinners http://shredwheat.zopesite.com/solarwolf SolarWolf is an action/arcade game written entirely in Python. It is opensource and is released under the LGPL license. There is a full source package and a precompiled windows installation available. The source is dependent on pygame, which in turn depends on Python2, SDL, SDL_mixer, SDL_image, and SDL_ttf. It features quick and smooth fullscreen 800x600 graphics. There is alpha transparent blitting, colorkeying, animated sprites, scrolling starfield background, antialiased font rendering, and more. The sound system supports multiple sound channel playback, along with streaming music support. It also supports input from keyboard or joystick. The game and its dependencies are extremely cross platform, allowing gameplay on just about all platforms; Windows, Linux, BeOS, IRIX, Solaris, NT4, and more. SolarWolf is built with Pygame 1.0. This library is a great set of modules for game development in python, with a growing community of users. It provides a "pythonic" object oriented interface for the fantastic SDL media library. The game is originally based of one of my childhood favorites, SolarFox on the Atari 2600. All this, yet the best feature of all is; It is a hecka lotta fun! The point of the game is to scramble through 48 levels of patterns, collecting all the boxes. The part that makes it tricky is avoiding the relentless hailstorm of fire coming at you from all directions. Find out more about the dependencies with these URLs; http://pygame.seul.org http://www.python.org http://www.libsdl.org From uche.ogbuji@fourthought.com Thu May 3 21:14:46 2001 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Thu, 3 May 2001 14:14:46 -0600 Subject: ANN: 4Suite and 4Suite Server 0.11 Message-ID: Fourthought, Inc. (http://Fourthought.com) announces the release of 4Suite 0.11 and 4Suite Server 0.11 ---------------------------- Open source XML processing tools and an XML data server http://4Suite.org http://Fourthought.com/4SuiteServer 4Suite Server News ------------------ Basically re-written from ground up. CORBA is no longer required and is now just another way to access the server (along with HTTP, SOAP, WebDAV, Python API, etc). Many usability, documentation, performance and architectural improvements 4Suite News ----------- * Release 0.11.0 (Tag R20010501) * pDomlette: XInclude implemented directly into parse for efficiency * pDomlette: better modularized * cDomlette: memory leaks squashed * RDF: add command line * RDF: major serialization and deserialization fixes * RDF: Work access-control directly into RDF model * RDF: API tweaks: use user flags for query flexibility * XSLT: Many speedups * XSLT: xsl:variable and xsl:param conformance fixes * ODS: Many bugs fixes in the DbmAdapter * Lib: Many bugs fixes in the DbmDriver * Many misc optimizations and bug-fixes 4Suite is a collection of Python tools for XML processing and object database management. It provides support for XML parsing, several transient and persistent DOM implementations, XPath expressions, XPointer, XSLT transforms, XLink, RDF and ODMG object databases. 4Suite Server is a platform for XML processing. It features an XML data repository, metadata management, a rules-based engine, XSLT transforms, XPath and RDF-based indexing and query, XLink resolution and many other XML services. It also provides transactions and access control features. Along with basic console and command-line management, it supports remote, cross-platform and cross-language access through CORBA, WebDAV, HTTP and other request protocols. 4Suite Server is not meant to be a full-blown application server. It provides highly-specialized services for XML processing that can be used with other application servers. All the software is open-source and free to download. Priority support and customization is available from Fourthought, Inc. For more information on this, see the http://FourThought.com, or contact Fourthought at info@fourthought.com or +1 303 583 9900 More info and Obtaining 4Suite and 4Suite Server ------------------------------------------------ Please see http://4Suite.org http://Fourthought.com/4SuiteServer >From where you can download source, Windows and Linux binaries. 4Suite is distributed under a license similar to that of the Apache Web Server. From k@eca.cx Thu May 3 23:19:46 2001 From: k@eca.cx (Kai Vehmanen) Date: Fri, 4 May 2001 01:19:46 +0300 (EEST) Subject: pyecasound 2.0.0 released! Message-ID: Below is the release announcement for ecasound 2.0.0, an advanced tool for multitrack audio processing. I'm sending the announcement here, because this is the first ecasound version to include pyecasound, a Python implementation of ecasound's ECI library interface. Licence: GPL Platform: Unix The ECI interface is specifically aimed at scripting, frontends, alternative user-interfaces and automating complicated audio processing tasks. ECI API is very compact, and is well documented. Here are links to the primary API documents: Ecasound Control Interface Documentation: - http://www.wakkanet.fi/~kaiv/ecasound/Documentation/programmers_guide/eci_doc.html Ecasound Interactive Mode: - http://www.wakkanet.fi/~kaiv/ecasound/Documentation/ecasound-iam_manpage.html One Python application already using pyecasound is Heteca - a GUI app for multitrack audio recording: - http://www.helsinki.fi/~jhalttun/heteca/ ---------- Forwarded message ---------- 1. A short summary of changes New disk subsystem optimized for streaming under high system load, ECI - a new library interface with implementations in C++, C and Python, a redesigned MIDI-subsystem, support for ALSA 0.9.x, 32bit OSS-devices, effect preset improvements, and the usual set of bug fixes. 2. What is ecasound? Ecasound is a software package designed for multitrack audio processing. It can be used for simple tasks like audio playback, recording and format conversions, as well as for multitrack effect processing, mixing, recording and signal recycling. Ecasound supports a wide range of audio inputs, outputs and effect algorithms. Effects and audio objects can be combined in various ways, and their parameters can be controlled by operator objects like oscillators and MIDI-CCs. As most functionality is located in shared libraries, creating alternative user-interfaces is easy. A versatile console mode interface is included in the package. 3. Changes since last release * Features a new disk i/o buffering system that makes drop-out free audio streaming possible even under high system loads. For even more reliable operation, enabling realtime scheduling and using a low-latency optimized kernel is recommended. * This is the first stable release to include ECI, a library interface aimed at scripting, developing ecasound frontends, alternative user-interfaces and similar uses based around libecasound functionality. ECI is well defined and documented, and is easily portable to new languages. Implementations are provided for C, C++ and Python. * A complete redesign of the MIDI-subsystem. New features include support for multiple MIDI-devices, sending MIDI start/stop/continue and MMC messages. * New audio object types: ALSA 0.9.x, 32bit OSS devices, Ogg Vorbis and MIDI (using Timidity++). * New chain operators: pulse gate, LADSPA based metronome, tremolo and audio stamps. * New controller types: generic oscillator, amplitude-to-control gate and generic linear envelope. * Support for parametrized effect presets. This feature makes ecasound's preset system a very powerful tool for sound processing. * New utilities: ecasignalview, a ncurses-based app for monitoring signal levels. 4. Links and files Web sites: http://www.eca.cx http://www.eca.cx/ecasound Source packages: http://ecasound.seul.org/download RPM packages: http://ecasound.seul.org/download Debian packages: apt-get install ecasound http://packages.debian.org/unstable/sound/ecasound.html -- http://www.eca.cx Audio software for Linux! From salvatore.didio@wanadoo.fr Tue May 1 20:53:20 2001 From: salvatore.didio@wanadoo.fr (Salvatore DI DIO) Date: Tue, 1 May 2001 15:53:20 -0400 (EDT) Subject: [Web Site] Forum Python Message-ID: Forum Python ------------- Forum des discussion Python Ce forum est directement accessible via le Web. Aucune inscription n'est nécessaire. Et il est possible de poster les messages en y insérant du code HTML. Ce site intéressera plus particulièrement les débutants. Il ne se subsitue pas à la mailing-list mais il est complémentaire. URL: http://freezope1.nipltd.net/salvatore/Forum/Python Categories: Non-English Salvatore DI DIO (salvatore.didio@wanadoo.fr) http://freezope1.nipltd.net/salvatore/Forum/Python -- Forum Python -- Forum des discussion Python From B.Y.P.Serverv.2.3.2 Wed May 2 12:23:51 2001 From: B.Y.P.Serverv.2.3.2 (B.Y.P.Serverv.2.3.2) Date: Wed, 2 May 2001 07:23:51 -0400 (EDT) Subject: [Application] B.Y.P. Server v.2.3 Message-ID: B.Y.P. Server v.2.3 ------------------- Server with permanent connection, using TCP/IP I'm creating a software, written in Python, to mix the advantages of Internet (server web) and a client/server structure. Traditional web servers use a "connection-less" system, in-factI'm creating a software, written in Python, to mix the advantages of Internet (server web) and a client/server structure. Traditional web servers use a "state-less" system, in-fact when a browser requires some information to the server, in the server machine will be launched a CGI, or PHP/ASP (etc...) script and, when the request was satisfied, the connection can be considered "terminated": the programs (maybe CGI) which answered were terminated. I'm creating a system in which the server launches some threads (programs which substitute the CGI) and they remain active until the client exits from the application or with a time-out. I'm creating the server thinking to Macromedia Flash 5 as client (with this software, I can create very actractive programs, just like a beautiful and very functional graphic terminal client). With my project I intend to join the advantages of an Intranet/Extranet/Internet system with the advantages of a client/server system. One of the major targets is to simplify the server side programming: in-fact I wish let you create a program with the same technics that you use to create a local oriented software! I use a lot of techniques implemented in your wonderful language, such multithreading, module dynamic loading (the server never stops!), HTTP server, sockets, and so on... (I wish to implement simple database connectivity, distributed computing, etc...). I wish to implement a lot of things, but my development time is limited. I wish to know your opinion about this project and, if you wish, publish the my site link in your site (!). Furthermore, I wish to find someone which help me to develop the program and documentation, and more and more and ...). URL: http://members.xoom.it/bypserver Download: http://members.xoom.it/bypserver License: GPL Platform: linux, win32, everywhere Python runs... Categories: Applications B.Y.P. Server v.2.3.2 (manotti@bigfoot.com) http://members.xoom.it/bypserver -- B.Y.P. Server v.2.3 -- Server with permanent connection, using TCP/IP From x@vex.net Fri May 4 12:37:06 2001 From: x@vex.net (Parnassus Submission) Date: Fri, 4 May 2001 07:37:06 -0400 (EDT) Subject: [Application] C to C++ Converter 1.0 Message-ID: C to C++ Converter 1.0 ---------------------- Convert automatically C projects to C++ Save some days of works by using these scripts: they will performs all the tasks for you, make classes, change functions and variables to methods ans attributes, and propagates the changes to all references in the sources. URL: http://www.scriptol.com Download: http://www.scriptol.com/ctocpp.php License: GPL Platform: All Requires: No Categories: Parsing/Formatting scriptol http://www.scriptol.com -- C to C++ Converter 1.0 -- Convert automatically C projects to C++ From x@vex.net Fri May 4 19:35:41 2001 From: x@vex.net (Parnassus Submission) Date: Fri, 4 May 2001 14:35:41 -0400 (EDT) Subject: [Module] Matfunc.py Message-ID: Matfunc.py ---------- Matrix, Vector and Elementwise routines plus curvefitting 100% pure python math package (does not require numPy). UserList style implementation adds elementwise operations including broadcasting (multiply a matrix by either another matrix, a vector, or a scalar. Vector class provides dot product, a norm, an outer product, and a Householder vector. Matrix class provides matrix multiplication, transpose, multiplication by vector, QR decomposition, Q-less QR decompostion, LU decomposition, inverse, and matrix divide. The matrix divide solver handles inconsistent cases and gives a least squares solution. Utility routines are provided to generate elementary matrix, and sophisticated curve fitting (polynomial fit, rational approximation, and fitting to arbitrary functions over an interval). Advanced implementation features including caching transposes, caching decompositions, exploiting structure of triangular matrices (using backsub as a solver). Has optional pre and post-condition assertions for quality assurance and documentation. URL: http://users.javanet.com/~othello/download/python.htm Download: http://users.javanet.com/~othello/download/matfunc.py License: Public Domain Categories: Math Raymond Hettinger -- Matfunc.py -- Matrix, Vector and Elementwise routines plus curvefitting From x@vex.net Fri May 4 21:46:38 2001 From: x@vex.net (Parnassus Submission) Date: Fri, 4 May 2001 16:46:38 -0400 (EDT) Subject: [Module] Puzzle 1.0 Message-ID: Puzzle 1.0 ---------- Generic Puzzle Solver Framework for defining and solving puzzles using either depth first or breadth first searching. Highlight is the ease with which new puzzles can be defined and solved. Includes pretty printed solutions to Jug filling problem, River crossing problem, Eight queens problem, Marble puzzle, a sliding block puzzle, and the Triangle Tee puzzle. Six solved puzzle exampes are at: http://users.javanet.com/~othello/download/puzzle.py URL: http://users.javanet.com/~othello/download/python.htm Download: http://users.javanet.com/~othello/download/puzzle.py License: Public Domain Categories: Games, * Math Raymond Hettinger -- Puzzle 1.0 -- Generic Puzzle Solver From djc@object-craft.com.au Mon May 7 05:41:04 2001 From: djc@object-craft.com.au (Dave Cole) Date: 07 May 2001 14:41:04 +1000 Subject: Sybase module 0.24 (Timothy Docker release) released Message-ID: What is it: The Sybase module provides a Python interface to the Sybase relational database system. The Sybase package supports almost all of the Python Database API, version 2.0 with extensions. The module works with Python versions 1.5.2 and later and Sybase versions 11.0.3 and later. It is based on the Sybase Client Library (ct_* API), and the Bulk-Library Client (blk_* API) interfaces. The 0.20 and later releases are a reimplementation of the module using a thin C wrapper on the Sybase-CT API, and a Python module to provide the DB-API functionality. It is still a work in progress, but should be good enough for most purposes. Timothy Docker sent a patch with the following changes: - con.c renamed to conn.c because NT still has the CON: device!!! - warnings from gcc -Wall fixed. - bug fix in CS_BLKDESC_blk_init() - missing & operator. - bug fix in CS_CONNECTION_ct_diag, CS_CONTEXT_cs_diag() - missing return NULL. - bug fixes to raise exception for unhandled properties in sybasect module. - ARRAY_INSERT now controlled by HAS_ARRAY_INSERT in sybasect.h - Initialisation via PyObject_HEAD_INIT() now conforms to example module in Python distribution. It should be possible to compile and install on NT. - rename max() macro to maxv() in numeric.c - created initial setup.py and ntsetup.py for use with distutils. Now you can just run the following command to install: bash$ python setup.py install Or on NT: > python ntsetup.py install Where can you get it: http://www.object-craft.com.au/projects/sybase/ - Dave -- http://www.object-craft.com.au From michael@stroeder.com Mon May 7 02:55:26 2001 From: michael@stroeder.com (Michael =?iso-8859-1?Q?Str=F6der?=) Date: Mon, 07 May 2001 02:55:26 +0100 Subject: web2ldap 0.9.0rc2 Message-ID: HI! I'd like to announce a new release candidate of web2ldap found on http://www.web2ldap.de/download.html Ciao, Michael. Changes since 0.9.0rc1: Updated documentation and minor bug fixes. From x@vex.net Sun May 6 15:43:26 2001 From: x@vex.net (Parnassus Submission) Date: Sun, 6 May 2001 10:43:26 -0400 (EDT) Subject: [Module] pyrepl 0.5.0 Message-ID: pyrepl 0.5.0 ------------ a readline-alike in Python A flexible and powerful library for text-mode input. Contains a souped up Python top-level by way of an example. Can be used in a similar way to GNU readline. URL: http://starship.python.net/crew/mwh/hacks/pyrepl.html Download: http://starship.python.net/crew/mwh/hacks/pyrepl-0.5.0.tar.gz License: Python Style Platform: unix Categories: Text Based UI Michael Hudson -- pyrepl 0.5.0 -- a readline-alike in Python From barry@digicool.com Mon May 7 17:18:12 2001 From: barry@digicool.com (Barry A. Warsaw) Date: Mon, 7 May 2001 12:18:12 -0400 Subject: ANNOUNCE Mailman 2.0.5 Message-ID: I've just released version 2.0.5 of Mailman, the GNU Mailing List Manager. Mailman is released under the GNU General Public License (GPL). This release fixes a problem with stale lock files that can occur under certain situations when the user hits the `Stop' button on their browser. These stale lock files can cause mailing lists to be inaccessible for long periods of time (until the stale lock file times out or is manually removed). Mailman 2.0.5 is being released as both a gzip'd source tarball and as a patch file. GNU Mailman is software to help manage electronic mail discussion lists, much like Majordomo or Smartmail. Mailman gives each mailing list a unique web page and allows users to subscribe, unsubscribe, and change their account options over the web. Even the list manager can administer his or her list entirely via the web. Mailman has most of the features that people want in a mailing list management system, including built-in archiving, mail-to-news gateways, spam filters, bounce detection, digest delivery, and so on. Mailman is compatible with most web servers, web browsers, and mail servers. It runs on GNU/Linux and should run on any other Unix-like operating system. Mailman 2.0.5 requires Python 1.5.2 or newer. To install Mailman from source, you will need a C compiler. For more information on Mailman, including links to file downloads, please see the Mailman WWW page: http://www.gnu.org/software/mailman And its mirrors at: http://mailman.sourceforge.net http://www.list.org [Only the SourceForge and list.org sites are up-to-date at the moment, I expect the gnu.org site to be updated shortly.] If you want to download just the 2.0.4 -> 2.0.5 patch, please see: 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. Enjoy, -Barry From michael@stroeder.com Thu May 10 03:32:36 2001 From: michael@stroeder.com (Michael =?iso-8859-1?Q?Str=F6der?=) Date: Thu, 10 May 2001 04:32:36 +0200 Subject: web2ldap 0.9.0 Message-ID: HI! I'm pleased to announce a new release of web2ldap. Grab it from: http://www.web2ldap.de/download.html web2ldap is a web gateway to LDAP servers. Check out http://www.web2ldap.de to learn more about it. Ciao, Michael. Summary of changes since 0.8.3 (see http://www.web2ldap.de/changes.html for details): Runs as multithreaded HTTP server or FastCGIServer. Web session managment with persistent LDAP connections. Displays images inline, updated documentation and many bug fixes. From mwh@python.net Fri May 11 00:29:32 2001 From: mwh@python.net (Michael Hudson) Date: Fri, 11 May 2001 00:29:32 +0100 (BST) Subject: python-dev summary 2001-04-26 - 2001-05-10 Message-ID: This is a summary of traffic on the python-dev mailing list between Apr 26 and May 9 (inclusive) 2001. It is intended to inform the wider Python community of ongoing developments. To comment, just post to python-list@python.org or comp.lang.python in the usual way. Give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration) All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on a PEP if you have an opinion. This is the seventh summary written by Michael Hudson. Summaries are archived at: Posting distribution (with apologies to mbm) Number of articles in summary: 228 40 | [|] | [|] | [|] | [|] [|] | [|] [|] 30 | [|] [|] | [|] [|] | [|] [|] | [|] [|] | [|] [|] 20 | [|] [|] [|] [|] | [|] [|] [|] [|] | [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] 10 | [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] 0 +-007-024-010-001-010-010-044-023-019-010-002-012-017-039 Thu 26| Sat 28| Mon 30| Wed 02| Fri 04| Sun 06| Tue 08| Fri 27 Sun 29 Tue 01 Thu 03 Sat 05 Mon 07 Wed 09 A fairly quiet, but interesting fortnight (and I don't mean the sarcastic replies to the Homepage virus). A few build problems and bugs fixed, and one very involved discussion (cf. most of the rest of this summary). * type == class? * Guido posted a message from Jim Althoff describing the metaclass system used in Smalltalk: He also mentioned a problem that is bound to bite any attempt to heal the type/class split in Python. If there are to be no special cases in the type system then classes and types in particular should be instances. This sounds innocuous, but consider: class MyDictType(DictType): def __repr__(self): return "MyDictType(%s)" % DictType.__repr__(self) The code is hoping that, as in today's Python, DictType.__repr__ will return an unbound method - the __repr__ method of vanilla dictionaries, so that output of the form MyDictType({1:2}) will be given. But DictType is now an instance, so there's another interpretation for DictType.__repr__ - the bound DictType's own __repr__ method! This is a fundamental problem; currently "class.attr" and "instance.attr" have different meanings in Python, and any attempt to conflate the notions of "class" and "instance" is bound to run aground. Guido proposed some hairy disambiguation rules in the above-linked message, but no-one was particularly enthused about them, possibly because no-one could really get their head round them. The long term solution is to change the syntax for getting - or removing entirely - unbound methods. As far as anyone can make out, all that unbound methods are used for is called superclasses' methods from overriding methods, so if one can find another way of spelling that, then removing unbound methods entirely could be contemplated. So the discussion on that went around for a bit, with no really new compelling ideas surfacing. There was some support for some kind of souped up super.foo() construct: To me, the most plausible ideas came from Thomas Heller: and from Paul Dubois, who suggested nicking the feature renaming feature from Eiffel: though the best syntax for the latter is far from clear. There's also the king-sized issue of backwards compatibility; to a first degree of approximation, *all* Python code that uses inheritance would need to be updated to accommodate changes in the meaning of "class.attribute". Another __future__ statement, maybe? * data.decode * Marc-Andre Lemburg asked if it might be an idea if string objects sprouted an .decode method: After some umming and arring and accusations of bloat, this got BDFL approval, and should appear in CVS imminently. * Moving MacPython to sourceforge * Jack Jansen posted notice that he intends to move the MacPython code over to sourceforge: It will be nice to finally have all the code in the same place! Cheers, M. From dietmar@schwertberger.de Fri May 11 06:21:46 2001 From: dietmar@schwertberger.de (Dietmar Schwertberger) Date: Fri, 11 May 2001 07:21:46 +0200 Subject: Python 2.1 for RISC OS Message-ID: ============================================================================ Python 2.1 for RISC OS release 2001-05-05 ============================================================================ I'm pleased to announce that binaries of Python 2.1 for RISC OS are available from http://www.schwertberger.de . If you don't know the Python programming language, you may have a look at the Executive Summary below or at http://www.python.org/ . RISC OS Python includes the following highlights: * An integrated interface to the SWI system * Drawfile support * Interfaces to the RISC OS WIMP and toolbox (with examples) * Numeric and plotting packages For use of Python you will need a filing system with long filename and >77 files/directory support. What is Python? Executive Summary ================================== Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for rapid application development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed. Often, programmers fall in love with Python because of the increased productivity it provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python programs is easy: a bug or bad input will never cause a segmentation fault. Instead, when the interpreter discovers an error, it raises an exception. When the program doesn't catch the exception, the interpreter prints a stack trace. A source level debugger allows inspection of local and global variables, evaluation of arbitrary expressions, setting breakpoints, stepping through the code a line at a time, and so on. The debugger is written in Python itself, testifying to Python's introspective power. On the other hand, often the quickest way to debug a program is to add a few print statements to the source: the fast edit-test-debug cycle makes this simple approach very effective. Who & Thanks ============ Thanks to Chris T. Stretch, Laurence Tratt, James Bursa, Andrew Clover and Simon Callan for porting and maintaining previous versions of RISC OS Python, contributing code and working on the future (32bit, RM version) for RISC OS Python... Thanks to Guido v. Rossum and Martin v. Loewis for merging the RISC OS patches with the standard Python source tree (and of course special thanks to Guido for creating Python). Bug reports etc. ================ RISC OS specific bug reports, contributions, comments, critics, links to RISC OS compatible Python libraries to dietmar@schwertberger.de From info@pythonware.com Fri May 11 14:13:30 2001 From: info@pythonware.com (PythonWare) Date: Fri, 11 May 2001 15:13:30 +0200 Subject: ANNOUNCEMENT: The Python Imaging Library, version 1.1.2 Message-ID: yet another release from the labs: The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities. Version 1.1.2 is a maintenance release, which fixes a couple of problems caused by incompatible changes in Python 2.1. It also fixes some other bugs. See below for details. Get your copy of the source kit here: http://www.pythonware.com/downloads/#pil For more information, including support options and information on the PIL plus extensions, see the product site: http://www.pythonware.com/products/pil/ enjoy, the pil team "Secret Labs -- makers of fine pythonware since 1997." From akuchlin@mems-exchange.org Fri May 11 15:21:17 2001 From: akuchlin@mems-exchange.org (Andrew Kuchling) Date: Fri, 11 May 2001 10:21:17 -0400 Subject: Distutils 1.0.2 released Message-ID: A new release of the Distutils, version 1.0.2, is now available. This is a maintenance release that fixes various bugs, and is identical to the code included with Python 2.1 (well, except for a trivial version number change). This release is for use by Python 2.0 and 1.5.2 users who want to benefit from the various fixes and improvements that were made for 2.1. It can be downloaded from: http://www.python.org/sigs/distutils-sig/download.html (Or from your local python.org mirror.) The changes in this release are: * fixes to accommodate the major revisions made to Python's build system for 2.1. * from Thomas Heller: the installer generated by bdist_wininst now includes an uninstaller. Other enhancements are: --bitmap command line option allows to use a different bitmap file instead of the built-in python powered logo. --title lets you specify the text to display on the background. * from Jack Jansen: added 'get_command_list()' method, and Mac-specific code to use it to generate a dialog for users to specify the command-line (because providing a command-line with MacPython is awkward). * applied patches from Jack Jansen for the Mac and the Metrowerks compiler * added 'platforms' and 'keywords' to the set of metadata that can be specified for a distribution. * the sdist command now writes a PKG-INFO file, as described in PEP 241, into the release tree. * applied patches from Jason Tishler to make the compiler class work with Cygwin. * various bugfixes --amk From x@vex.net Mon May 7 23:26:54 2001 From: x@vex.net (Parnassus Submission) Date: Mon, 7 May 2001 18:26:54 -0400 (EDT) Subject: [Web Site] ASPN - ActiveState Programmer Network Message-ID: ASPN - ActiveState Programmer Network ------------------------------------- Information and productivity tools to build applications with open source technologies ActiveState Programmer Network (ASPN) delivers the latest information and productivity tools to build applications with open source technologies. The ASPN infrastructure is being built to allow you to readily find, access, and contribute information. ASPN includes a growing archive of practical information that will facilitate application development and provide comprehensive solutions for increased productivity. URL: http://aspn.activestate.com/ASPN/ Categories: Web Sites Rachel C -- ASPN - ActiveState Programmer Network -- Information and productivity tools to build applications with open source technologies From cja@well.com Thu May 10 03:49:08 2001 From: cja@well.com (Chris Abraham) Date: Wed, 9 May 2001 22:49:08 -0400 (EDT) Subject: [Web Site] Zope Python User Group in Washington, DC Message-ID: Zope Python User Group in Washington, DC ---------------------------------------- Announcing Yet Another User Group in DC: ZPUG.ORG ZPUG[1] is a new User Group for people who love Zope and Python. New and Forming. URL: http://www.zpug.org Categories: Info/Books/Tutorials, User Group Chris Abraham (cja@well.com) http://www.chrisabraham.com -- Zope Python User Group in Washington, DC -- Announcing Yet Another User Group in DC: ZPUG.ORG From marc@bowery.com Fri May 11 17:18:56 2001 From: marc@bowery.com (Marc Lindahl) Date: Fri, 11 May 2001 12:18:56 -0400 (EDT) Subject: [Module] mp3info.py-0.3 Message-ID: mp3info.py-0.3 -------------- module to analyze/filter/deal with mp3 audio file information tags (id3 and header) in a "filter" format. This module allows you to create a string which holds an mp3 file, and has some extra data to easily read the header and id3 tag info. Also, it's set up to easily change the id3 information and output a new string with the new information. In the future it could be extended to be able to modify the header info too, but that would mean walking the entire file, since the header is stored in every frame. adapted from MP3infor.py (Eduardo Roldan) by Marc Lindahl URL: http://www.zope.org/Members/bowerymarc/ Download: http://www.zope.org/Members/bowerymarc/mp3info-0.3.tgz License: GPL Categories: Sound/Audio Marc Lindahl (marc@bowery.com) http://bowery.com -- mp3info.py-0.3 -- module to analyze/filter/deal with mp3 audio file information tags (id3 and header) in a "filter" format. From x@vex.net Sun May 13 01:48:28 2001 From: x@vex.net (Parnassus Submission) Date: Sat, 12 May 2001 20:48:28 -0400 (EDT) Subject: [Application] GypsyMail 0.5.4 beta Message-ID: GypsyMail 0.5.4 beta -------------------- A Form Mail cgi script A Python clone of the well-known cgiemail script, with added features and flexibility. This script allows you to set up an HTML form on your website, to collect information from your site's visitors, and send a very nicely formatted e-mail to yourself, or other e-mail addresses. Comes with sample forms and templates. Cross-platform. Under continuing development. .zip format file also available for download. I am looking for testers for this script. URL: http://www.thinkspot.net/sheila/computers/software/gypsymail.html Download: http://www.thinkspot.net/sheila/computers/software/gypsy/gypsy054.tar.gz License: GPL Categories: CGI Scripts Sheila King http://www.thinkspot.net/sheila/ -- GypsyMail 0.5.4 beta -- A Form Mail cgi script From Prabhu Ramachandran Mon May 14 06:15:09 2001 From: Prabhu Ramachandran (Prabhu Ramachandran) Date: Mon, 14 May 2001 10:45:09 +0530 (IST) Subject: MayaVi 1.0 released. Message-ID: Hi, This is to announce the availability of the MayaVi Data Visualizer version 1.0. This is the first release. MayaVi is a free, easy to use scientific data visualizer. It is written in Python and uses the Visualization Toolkit (VTK) for the graphics. It provides a GUI written using Tkinter. MayaVi is free and distributed under the GNU GPL. It is also cross platform and should run on any platform where both Python and VTK are available. MayaVi is based on ideas from an earlier Computational Fluid Dynamics (CFD) data visualizer called VTK-CFD. The original VTK-CFD code base has been completely rewritten and redesigned. The resulting project has been renamed MayaVi and has been SourceForged. For more information, downloadable sources, screenshots, installation instructions, documentation etc. visit the MayaVi home page at: http://mayavi.sourceforge.net Also bundled with MayaVi is a VTK pipeline browser written in Python. This pipeline browser enables one to view and configure the objects in the VTK pipeline. Also included with this is a simple VTK object "pickler". Using this one can save the state of a VTK object to a file and reload it later. The latest version of the pipeline browser is 1.1 and is available at: http://mayavi.sourceforge.net/vtkPipeline/ Have fun! prabhu From bh@intevation.de Mon May 14 21:41:15 2001 From: bh@intevation.de (Bernhard Herzog) Date: 14 May 2001 22:41:15 +0200 Subject: Sketch 0.6.10 - A vector drawing program Message-ID: Sketch 0.6.10 - A vector drawing program Sketch is a vector drawing program for Linux and other unices. It's intended to be a flexible and powerful tool for illustrations, diagrams and other purposes. It has advanced features like gradients, text along a path and clip masks and is fully scriptable due to its implementation in a combination of Python and C. More information, sources and binaries are available at the website: http://sketch.sourceforge.net/ Summary of the Changes since 0.6.9: * Russian translation. * Several fixes to both the setup script and Sketch's internals to make it work with Python 2.1. * The SVG import filter has basic support for text and images. * In the print dialog, the "rotate ccw." checkbutton is automatically set when the document uses landscape page orientation. * Several bug fixes Sketch is released under the GNU Library General Public License. From paulp@ActiveState.com Tue May 15 04:34:50 2001 From: paulp@ActiveState.com (Paul Prescod) Date: 14 May 2001 22:34:50 -0500 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (May 14) Message-ID: Bill Gates calls Python, "an extremely well-designed language"! No, Bill Gates doesn't, but one of his two partners on the first Microsoft BASIC interpreter does. Monte Davidoff, who programmed floating point arithmetic for that first MS product, is now into Python. http://www.theregister.co.uk/content/4/18909.html Chris Abraham announces foundation of the Zope Python User's Group: http://www.zpug.org/ Mark Lutz, one of Python's writers-in-residence, interviewed on O'Reilly. Slashdot picks up the interview. http://python.oreilly.com/news/python_0501.html http://slashdot.org/developers/01/05/11/0021241.shtml A thread on range-generation shortcuts reveals deep truths about the future of iterators and inconsistencies in Python's implementation of filter: http://groups.google.com/groups?ic=1&th=771b2135332fffae In the same thread, Alex Martelli describes the reason that Python does not include the top index in slices and ranges: http://groups.google.com/groups?ic=1&selm=9db4i801beb%40news2.newsguy.com Only a few weeks after the release of PyGame, a game-development framework for Python, Pete Shinners releases a game based on it. The game is written in concise, readable Python code: http://shredwheat.zopesite.com/solarwolf Several people send John Flynn code emulating two of his favorite features from Delphi, property handlers and event handlers. http://groups.google.com/groups?ic=1&th=5e36e9393ed06770 Skip Montanaro asks about converting between 8-bit strings and Unicode strings and learns about the Python's Unicode design. http://groups.google.com/groups?ic=1&th=e05ff0346d9e47d1 Daniel Klein asks whether Python's survival is dependent on Guido's interest and ability to avoid buses. Various posters describe why Python is safe no matter what happens to any individuals: http://groups.google.com/groups?ic=1&th=e0a0d70bc71cedc3 How do threads, processes, message queues and IDEs interact on Windows? A "Python DoEvents" thread reveals all. http://groups.google.com/groups?ic=1&th=771b2135332fffae ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the daily python url http://www.pythonware.com/daily comp.lang.python.announce announces new Python software. Be sure to scan this newly-revitalized newsgroup at least weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Michael Hudson continues Andrew Kuchling's marvelous tradition of summarizing action on the python-dev mailing list once every other week. http://starship.python.net/crew/mwh/summaries/ http://www.amk.ca/python/dev The Vaults of Parnassus ambitiously collect Python resources http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ The Python Software Foundation has replaced the Python Consortium as an independent nexus of activity http://www.python.org/psf/ Cetus does much of the same http://www.cetus-links.de/oo_python.html Python FAQTS http://python.faqts.com/ Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py Python Journal is at work on its second issue http://www.pythonjournal.com Links2Go is a new semi-automated link collection; it's impressive what AI can generate http://www.links2go.com/search?search=python Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python Suggestions/corrections for next week's posting are always welcome. [http://www.egroups.com/list/python-url-leads/ is hibernating. Just e-mail us ideas directly.] To receive a new issue of this posting in e-mail each Monday morning, ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. -- Cameron Laird Business: http://www.Phaseit.net Personal: http://starbase.neosoft.com/~claird/home.html From Cayce@actzero.com Thu May 17 03:10:44 2001 From: Cayce@actzero.com (Cayce Ullman) Date: Wed, 16 May 2001 19:10:44 -0700 Subject: ANN: SOAP.py 0.9.5 Message-ID: The latest version of SOAP.py (a SOAP implementation in written in Python), was released today. Check out it's interop matrix (will be updated with latest results tomorrow, some of the endpoints are down) : http://www.actzero.com/soap/interop.html Download it : http://www.actzero.com/soap/SOAPpy.html Endpoint info: Name: SOAP.py 0.9.5 (actzero.com) Endpoint: http://208.177.157.221:9595/xmethodsInterop SOAPAction: "urn:soapinterop" Namespace: http://soapinterop.org/ Comments, feedback, patches, etc... very welcome. Changes since last version: - Should parse and build all 1999, 2000, 2001, and SOAP-ENC datatypes. - Initial handling of multi-dimensional, partial, and sparse arrays. - Supports SSL clients (if Python built with OpenSSL). - Supports SSL servers (if M2Crypto installed). - Applies defaults to SOAPproxy URLs (nice for command-line tools). - Added the _SOAPContext object, gives registered server functions more info about the current call. - Now assumes that any type that isn't in a schema could be a struct. - Added the Config object, now config options can be set globally or on an individual call level. - Deprecated the DateTime, Binary and Boolean types, should now use dateTimeType, binaryType and booleanType. - Includes N+I interop suite. - Various bug fixes and improvements. From sheila@spamcop.net Wed May 16 07:11:51 2001 From: sheila@spamcop.net (Sheila King) Date: Tue, 15 May 2001 23:11:51 -0700 Subject: [Application] BUG Fix: GypsyMail 0.5.5 beta In-Reply-To: References: Message-ID: The previous version, 0.5.4 beta, had a bug. If the web server did not provide the environment variable SCRIPT_URI, the script crashed. This variable was used in setting the X-Mailer field of the e-mail message headers. In version 0.5.5 beta, this has been replaced with environment variables that should be set for every CGI script: SERVER_NAME and SCRIPT_NAME. You can download the latest version from the script's home page: http://www.thinkspot.net/sheila/computers/software/gypsymail.html Feed back from script testers is greatly appreciated. -- Sheila King http://www.thinkspot.net/sheila/ http://www.k12groups.org/ On Sat, 12 May 2001 20:48:28 -0400 (EDT), in comp.lang.python.announce Parnassus Submission wrote in article : : GypsyMail 0.5.4 beta : -------------------- : :A Form Mail cgi script : :A Python clone of the well-known cgiemail script, with added features :and flexibility. This script allows you to set up an HTML form on your :website, to collect information from your site's visitors, and send a :very nicely formatted e-mail to yourself, or other e-mail addresses. : :Comes with sample forms and templates. Cross-platform. Under continuing :development. .zip format file also available for download. I am looking :for testers for this script. : : URL: http://www.thinkspot.net/sheila/computers/software/gypsymail.html : Download: http://www.thinkspot.net/sheila/computers/software/gypsy/gypsy054.tar.gz : : License: GPL : : Categories: CGI Scripts : :Sheila King :http://www.thinkspot.net/sheila/ From sbrunning@bigfoot.com Wed May 16 14:19:58 2001 From: sbrunning@bigfoot.com (Simon Brunning) Date: Wed, 16 May 2001 09:19:58 -0400 (EDT) Subject: [Web Site] Python 2.0 quick reference Message-ID: Python 2.0 quick reference -------------------------- Python 2.0 quick reference Quick reference page up to date for Python version 2.0. Richard Gruit and I have updated the Python quick reference for version 2.0 - version 2.1 forthcoming. Please report inaccuracies or omissions to sbrunning@bigfoot.com. URL: http://www.brunningonline.net/simon/python/quick-ref2_0.html Download: http://www.brunningonline.net/simon/python/quick-ref2_0.html Categories: Info/Books/Tutorials Simon Brunning (sbrunning@bigfoot.com) http://www.brunningonline.net/simon/ -- Python 2.0 quick reference -- Python 2.0 quick reference From rodsenra@gpr.com.br Fri May 18 18:33:45 2001 From: rodsenra@gpr.com.br (Rodrigo Dias Arruda Senra) Date: Fri, 18 May 2001 14:33:45 -0300 Subject: Guido's Tutorial (v2.1) fully translated to Brazilian Portuguese Message-ID: Hi, we have made available Guido's Official Python Tutorial (release 2.1) translated to Brazilian Portuguese at http://www.gpr.com.br/cursos/cursos.html. There people will find a downloadable version in .pdf and another one in .tex (for the bold and brave). And in the near future we'll be making a full-blown Python course material (in Portuguese) also available. I strived to keep the translation absolutely faithful to content and style of the original document. It was generated within Python's Doc Framework to keep the same look-and-feel. I have asked python-doc to add a link to it! Best Regards Rod Senra -- Rodrigo Senra rodsenra@gpr.com.br (0XX19) 3253-18888 ramal 28 GPr Sistemas Ltda -- http://www.gpr.com.br From gmcm@hypernet.com Sun May 20 18:21:44 2001 From: gmcm@hypernet.com (Gordon McMillan) Date: Sun, 20 May 2001 13:21:44 -0400 Subject: ANN: 2nd beta of Win32 Installer release 4 Message-ID: The second beta of version 4 of the Win32 Installer package is here: http://www.mcmillan-inc.com/install1.html The second beta fixes some bugs in the first beta (particularly tracing resources into subpackages), and adds semi-automated support for COM clients. Version 4 handles all Python versions from 1.5 onward (it's been tested with 1.5 and 2.0). It has a number of new capabilities: - set a Windows version resource in the executable (NT / Win2K only), including the ability to create a version resource from Python - a utility to analyze the dependency tree of a script / module (including a cross-reference) - warnings issued when dynamic code encountered (__import__, exec, eval) What is it? The Installer is a set of tools for distributing Python applications. The target machines do not need to have Python installed, or may have a different version of Python installed. The Windows version (there's a more limited Linux version, too), has top level scripts for 3 configurations: - Standalone: create a single directory installation for your app - Simple: wraps a Standalone with a simple install script - Freeze: creates an executable that unpacks itself at run time, and cleans up afterward. More complex distributions can be created by writing your own config file and passing it to Builder. Old-Python-style license. Contact: gmcm@hypernet.com

Win32 Installer release 4a A compiler-less way of distributing Python apps on Windows. (20-May-01) - Gordon From pearu@cens.ioc.ee Sun May 20 14:10:12 2001 From: pearu@cens.ioc.ee (Pearu Peterson) Date: Sun, 20 May 2001 15:10:12 +0200 (EET) Subject: ANN: PyVTK Message-ID: I am pleased to announce first release of PyVTK-0.3: http://cens.ioc.ee/projects/pyvtk/ PyVTK provides tools for manipulating VTK files in Python: VtkData - Create VTK file from Python objects. It fully supports VTK File Formats Standard 2.0. The features includes: *** ascii and binary output *** DataSet formats: StructuredPoints, StructuredGrid, RectilinearGrid, PolyData, UnstructuredGrid *** Data formats: PointData, CellData *** DataSetAttr formats: Scalars, ColorScalars, LookupTable, Vectors, Normals, TextureCoordinates, Tensors, Field PyVTK is tested to work with Python versions 2.1, 2.0, and 1.5.2. Thanks, Pearu Peterson

pyvtk 0.3 - Manipulate VTK files in Python (21-May-01) From scleary@jerviswebb.com Tue May 22 18:09:13 2001 From: scleary@jerviswebb.com (scleary@jerviswebb.com) Date: Tue, 22 May 2001 13:09:13 -0400 Subject: ANN: TBA 1.0 released Message-ID: The first release of TBA (version 1.0) is now available. This is also an announcement for the release of a paper, "The Power of Iterators in Python," available on the TBA web site. TBA is a general-purpose collection of pure Python modules. Right now, it just has a few iterator adapters. TBA-1.0 and the paper mentioned above are available from the TBA web site: http://sourceforge.net/projects/tba-py/ Available formats are: .tar.gz, .zip, and Windows installer (.exe) Iterators are actually not going to be introduced until Python 2.2, but TBA-1.0 contains code that emulates iterators for Python 2.1. For more information on iterators, see PEP 234 and the mailing list archives for python-iterators on SourceForge. The licence for TBA is BSD-derived (this is an open-source licence that allows commercial usage). Stephen Cleary shammah@voyager.net

TBA 1.0 - General-purpose pure Python iterator adapters. (22-May-01) From jafo@tummy.com Wed May 23 12:39:47 2001 From: jafo@tummy.com (jafo@tummy.com) Date: Wed, 23 May 2001 05:39:47 -0600 Subject: Python block motion in Vim Message-ID: I just hacked together some code using the Python extension to vim that handles moving to the start and end of a code block (like using '%' on the braces in a language so impaired ;-). Basically it moves to the first or last line at the current indent level or higher -- stopping before getting to a (non-blank) line of lesser indent. I don't use '(' or ')', so I do: pyfile /home/jafo/vim/vim.py map ( :python pythonblockStart()^M map ) :python pythonblockEnd()^M It's available at ftp://ftp.tummy.com/pub/tummy/python-vim/ Sean -- Language is the most important .. uh.. I think you know what I'm trying to say. -- Steve Martin Sean Reifschneider, Inimitably Superfluous tummy.com - Linux Consulting since 1995. Qmail, KRUD, Firewalls, Python From beazley@cs.uchicago.edu Thu May 24 01:36:37 2001 From: beazley@cs.uchicago.edu (David Beazley) Date: Wed, 23 May 2001 19:36:37 -0500 (CDT) Subject: Announce: Python Essential Reference, 2nd Ed. Message-ID: Python Essential Reference, 2nd Edition I'm pleased to report that the 2nd edition of the Python Essential Reference (New Riders Publishing) has recently been completed and is on its way to the presses. This edition retains the concise style of the first edition, but has been extensively updated to incorporate new language features and core modules added to Python 2.0 and Python 2.1. This edition would not be possible without the feedback I received from the first edition. Therefore, I'd like to acknowledge the following individuals for their contributions and suggestions: Paul Dubois, David Ascher, Mats Wichmann, Tim Bell, Jan Decaluwe, Mike Coleman, Andrew Kuchling, Greg Ward, Richard Wolff, Holger Durer, Patrick Moran, Christian Norgaard Storm Pedersen, Dustin Mitchell, Benjamin Smith, Michael Drumheller, Brett Porter, Michael Dyck, Ian Thomas Cohen, Steve Burns, David Morrill, Dennis McCoy, Peter Koren, Richard Gruet, Hamish Lawson, Michael Rodgers, Eric Rowe, Phil Austin, Aaron Digulla, Jack Gilbert, Joseph Sachs, Daniel Klein, Cecil Edwards, and apologies to anyone I might have missed. Enjoy! David Beazley From mwh@python.net Thu May 24 17:38:37 2001 From: mwh@python.net (Michael Hudson) Date: Thu, 24 May 2001 17:38:37 +0100 (BST) Subject: python-dev summary 2001-05-10 - 2001-05-24 Message-ID: This is a summary of traffic on the python-dev mailing list between May 10 and May 24 (inclusive) 2001. It is intended to inform the wider Python community of ongoing developments. To comment, just post to python-list@python.org or comp.lang.python in the usual way. Give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration) All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on a PEP if you have an opinion. This is the eighth summary written by Michael Hudson. Summaries are archived at: Posting distribution (with apologies to mbm) Number of articles in summary: 322 | [|] | [|] 30 | [|] | [|] [|] [|] [|] | [|] [|] [|] [|] | [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] 20 | [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] 10 | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] | [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] [|] 0 +-023-025-017-018-028-031-036-032-025-002-015-018-020-032 Thu 10| Sat 12| Mon 14| Wed 16| Fri 18| Sun 20| Tue 22| Fri 11 Sun 13 Tue 15 Thu 17 Sat 19 Mon 21 Wed 23 Pretty busy fortnight. The above distribution may be somewhat skewed because I changed my subscription address to python-dev and was unsubscribed for a while. Although any impact this had is probably countered by ESR and Barry's discussion of "Puffy the Frog"... * Type/class * Paul Prescod has been keeping an eye on Guido's descr-branch work, and posted concerns about when objects will have a __dict__: Then there was more technical discussion about subclassing builtin types and Steven Majewski evangelising prototype-based OO languages (though I'm not sure why!). * Easy codec access * Marc-Andre Lemburg checked in his decode string method patch, and some new codecs so you can now do things like: >>> "abc".encode('zlib').encode('base64') 'eJxLTEoGAAJNASc=\n' >>> _.decode('base64').decode('zlib') 'abc' There was a small discussion on what other codecs might be handy and Guido added quoted-printable to check it was easy. * Performance * The big discussion(s) on python-dev over the past fourteen days has centred on performance, especially on that of comparisons and the related area of dict performance. It all started with Tim Peters running a simple test program on 2.0, 2.1 and current CVS: The discussion had an unusual flavour for one about performance: a concentration on measuring performance numbers and making sure that the optimizations being discussed actually improved these numbers. This is hard; everyone wants to speed the "typical Python app" but of course there is no such thing; people have been using, amongst others, pystone, pybench and the test suite, none of which are particularly good candidates... Tim posted the distribution of sizes of dicts in a run of the test suite: which showed that small dicts are overwhelmingly the commonest. Marc piped up with an old optimization idea of his: He posted a patch to sourceforge, Tim rewrote it and checked it in, so dicts should be a little faster in 2.2. But as I said, the discussion was kicked off by the performance of comparisons, especially strings. Martin von Loewis posted some statistics from an instrumented interpreter: The issue is that the rich comparisons of Python 2.1 have added a layer of complexity to the comparisons code. Although the rich comparisons (might) provide an opportunity for faster code in some circumstances, code that still uses old-style comparisons can and does take a hit. Strings still use the old-style comparisons and are compared a *lot* (especially in dicts), so it seems "upgrading" them to rich comparisons should be a win and Marc posted a patch to sf that does this. Marc also managed to promise to make a concerted effort to find speed optimizations in the next few months: Finally, in a coda Jeremy noticed that Python spends an alarming amount of time decoding those "Oi|s#" strings that get passed to PyArg_ParseTuple: and Tim pointed out that optimizing "O" might be a win: * FP vs. tutorial * Tim pointed out that the tutorial currently contains examples of floating point output that is platform dependent, and that this is bad. He proposed changing the tutorial to only use fractions that can be exactly represented as floats, and adding a discussion (possibly in an appendix) of the reasons why >>> 0.1 0.10000000000000001 is not broken. There was a discussion of how detailed the discussion should be where the point was made that it's not really important to explain precisely *why* this happens, but it suffices to convince the newbie that floating point is more complicated than he or she thinks. Lets hope that suitable text is composed soon, and that people actually read it ... there have been two "floating point is broken" bug reports on sourceforge in just the last week. * unifying os.rename semantics across platforms * Skip pointed out that os.rename behaves differently on Posix and Windows platforms when the destination file exists: on Posix the destination is silently replaced in an atomic operation, whereas on Windows an exception is raised. Skip proposed enforcing posix semantics everywhere, but this has two problems (a) it's backwards incompatible (b) it's impossible (you can't avoid the race condition on Windows). So maybe we'll just settle for better documentation. * Python 2.1.1 * Thomas Wouters started back-porting bug fixes to the 2,1-maint branch in preparation for a 2.1.1 release. There is as yet no firm - or even vague - plans about release dates. * Daily Python-URL on your Palm * Marc-Andre Lemburg announced that you can now read Pythonware's Daily Python-URL on your Palm Pilot as an AvantGo channel: Cheers, M. From robin@alldunn.com Fri May 25 18:24:51 2001 From: robin@alldunn.com (Robin Dunn) Date: Fri, 25 May 2001 10:24:51 -0700 Subject: [ANNOUNCE] wxPython 2.3.0 Message-ID: wxPython 2.3.0 is now available for download. Unfortunately the shell server at sourceforge is down for a few days and so I can't update the wxPython.org web page, but in the meantime you can get the files directly from http://sourceforge.net/project/showfiles.php?group_id=10718. Sources and binaries for win32 and Linux for Python 1.5.2, 2.0 and 2.1 are available. (The win32 binaries with "-hybrid" in the name are built with extra debugging code enabled so some things that caused mysterious problems before will now pop-up a slightly less mysterious message dialog.) There have been a large number of changes for this release. I'll include the relevant portion of CHANGES.txt here: Removed initial startup dependency on the OpenGL DLLs so only the glcanvasc.pyd depends on them, (on wxMSW.) Changed wxFont, wxPen, wxBrush to not implicitly use the wxThe[Font|Pen|Brush]List objects behind the scenes, but to use normal ctor and dtors. Exposed the wxThe[Font|Pen|Brush]List to wxPython. Also added wxTheColourDatabase and added a library module (in the wxPython.lib.colourdb module) to load LOTS more colour names into the colour database. Added wxWakeUpMainThread, wxMutexGuiEnter, wxMutexGuiLeave, wxMutexGuiLocker and wxThread_IsMain to assist with dealing with GUI access from non-GUI threads. wxPyOnDemandOutputWindow is now (more) thread safe if non-GUI threads use print, sys.stdout.write, etc. Added CreateTextSizer and CreateButtonSizer to wxDialog Added wxPython/lib/infoframe.py from Chris Fama. It contains a class that can be used in place of wxPyOnDemandOutputWindow. Added colourselect.py, imagebrowser.py and an updated calendar.py to wxPython/lib from Lorne White. Added patch to wxPoint_LIST_helper from Tim Hochberg that should make it gobs faster in certain situations. Added tools that will take an image file in a wx supported format and convert it to data embedded in a Python source file. The image is converted to XPM format which is essentially a list of strings containing info about each pixel. The image's transparency mask is included, if there is one, or a mask can be added if a mask colour is specified on the command line. It is then pickled and optionally compressed and written to a Python source file along with functions to convert it to either a wxBitmap or a wxImage. See wxPython/demo/images.py for examples, and wxPython/Tools/img2py.py for the implementation. Fixed wxStyledTextCtrl to be much faster on wxGTK. There was some experimental code that got left in place that ended up causing way too many refreshes. A couple more hacks in my_distutils.py so wxPython can be built with the distutils that comes with Python 2.1. Added a ton of missing methods for wxPrintData. Switched to InnoSetup for MSW distributions. Added wxToggleButton. Fixed bug that prevented wxTreeCtrl.OnCompareItems from being called. Added some methods to wxGrid: GetCellHighlightPenWidth GetCellHighlightROPenWidth SetCellHighlightPenWidth SetCellHighlightROPenWidth GetGridWindow GetGridRowLabelWindow GetGridColLabelWindow GetGridCornerLabelWindow Added wxGetClientDisplayRect which on wxMSW returns a wxRect representing the area on screen not occupied by the taskbar and such. On other platforms it is equivallent to wxGetDisplaySize. ***---***---***---***---***---***---***---***---***---***---***--- Implemented the first phase of OOR (Original Object Return). See the text in the demo for more details of what this means, but in a nutshell methods such as wxWindow.GetParent or FindWindowById will now return a shadow object of the proper type if it can. By "proper type" I mean that if the wxWindow pointer returned from FindWindowById really points to a wxButton then the Python object constructed will be of a wxButtonPtr class instead of wxWindowPtr as before. This should reduce or eliminiate the need for wxPyTypeCast. (Woo Hoo!) The objects returned are still not the original Python object, but that is the next step. (Although it will probably only work on Python 2.1 and beyond because it will use weak references.) This first phase of the OOR plan is fairly significant and has required a lot of changes all over wxPython, most of which should be transparent to you, however I'm not 100% sure that it didn't introduce any new bugs that are hiding somewhere and didn't get stomped on during my testing. So please be sure to test everything thoroughly when you install this version and be sure to report any object-type related oddities to me. ***---***---***---***---***---***---***---***---***---***---***--- There is now a wxObject class that most other classes derive from like in C++, but the methods provided don't really match but are wxPython specific. It could have been added long ago but OOR required it so it finally got done. Finally added wxPyLineShape.GetLineControlPoints, which has been on my list for a while. The above OOR modification made this easier. Fixed the __cmp__ methods for wxPoint and others. Added wxWave. Added the wxPython.lib.mixins package to the library, it is where useful mix-in classes can be placed. Currently there is one to help make the columns in a wxListCtrl sortable, and the MagicIMageList from Mike Fletcher. If you have any custom code that can be factored out of existing classes into a mix-in that would be useful to others please send it to me for inclusion in this package. Added a few little sample applications to help newbies to get started by having smaller functional apps to play with. They can be found in wxPython/samples. -- Robin Dunn Software Craftsman robin@AllDunn.com Java give you jitters? http://wxPython.org Relax with wxPython! From rsalz@zolera.com Fri May 18 21:46:05 2001 From: rsalz@zolera.com (Rich Salz) Date: Fri, 18 May 2001 16:46:05 -0400 (EDT) Subject: [Module] Wizard 1.1 Message-ID: Wizard 1.1 ---------- Module for writing GUI "wizards" Wizard is a Python module designed to make it easy to write GUI "wizards". You know, those "enter your name, click NEXT" kinds of things that you see all the time when using Microsoft products. This update adds "dynamic sheets" so that application code can generate display text on the fly. This is useful for last-chance "show what we're going to do" pages. URL: http://www.zolera.com/resources/opensrc License: Open Source Gui: Tkinter Categories: GUI Rich Salz (rsalz@zolera.com) http://www.zolera.com/~rsalz -- Wizard 1.1 -- Module for writing GUI "wizards" From x@vex.net Sat May 19 14:33:33 2001 From: x@vex.net (Parnassus Submission) Date: Sat, 19 May 2001 09:33:33 -0400 (EDT) Subject: [Module] Uncertainities Message-ID: Uncertainities -------------- module for working with uncertain numbers Module defining new data type, uncertain number, having two attributes: value and error. Module provides basic arithmetic operations. URL: http://pedro.dnp.fmph.uniba.sk/~stanys/Uncertainities.py License: Public Domain Categories: Math Radovan Garabik -- Uncertainities -- module for working with uncertain numbers From x@vex.net Fri May 25 06:28:53 2001 From: x@vex.net (Parnassus Submission) Date: Fri, 25 May 2001 01:28:53 -0400 (EDT) Subject: [Wrapper] pyhz 0.3.2 Message-ID: pyhz 0.3.2 ---------- python binding for libhz in autoconvert (A program to detect and convert Chinese encodings) pyhz is a python binding for libhz in autoconvert. Autoconvert is a program/library written by Saka to detect and convert Chinese encodings. Autoconvert can be found at http://www.debian.org/~ygh URL: http://pyhz.on.openave.net Download: http://pyhz.on.openave.net/data/pyhz.3.2.tar.bz2 License: GPL Platform: tested on linux Requires: autoconvert Categories: Encryption/Encoding, Chinese tools hashao -- pyhz 0.3.2 -- python binding for libhz in autoconvert (A program to detect and convert Chinese encodings) From x@vex.net Fri May 25 20:49:00 2001 From: x@vex.net (Parnassus Submission) Date: Fri, 25 May 2001 15:49:00 -0400 (EDT) Subject: [Application] crystal / pre-1 Message-ID: crystal / pre-1 --------------- Crystal is a server that controls CrystalFontz 632 and 634 LCD screens Crystal is a simple TCP server that uses a plaintext protocol to control CrystalFontz[1] 632 and 634 series LCD screens (e.g. out 'hello world'). The pre-1 version of Crystal supports many of the functions defined in Ben Wilson's pyCFontz[2] module, upon which crystal is based, including most major text entry, cursor movement, backlight control, and formatting functions. Future versions will allow multiple simultaneous connections, and implement the full set of control functions. The server will eventually support advanced functionality like multiple LCD support, screen region locking by client programs, and display templates. Comments, code contributions, and suggestions for further development are welcomed, and may be emailed to rupe@metro.yak.net. URL: http://metro.yak.net/crystal.html Download: http://metro.yak.net/crystal-pre1.py License: Public Domain Requires: pyCFontz (LGPL) Categories: Servers Rupert Scammell -- crystal / pre-1 -- Crystal is a server that controls CrystalFontz 632 and 634 LCD screens From Romain Guy" Jext is a free sofware (GNU/GPL) meant to become a flexible, multi-platform programming editor. Jext is written in Java and the latest development release (available on www.jext.org) provides serveral interesting features for Pyhon development: - auto indent - syntax colorization - internal console - embedded Jython (press F5 to execute current editing script) - Python class browser (written in Python) Jext is being partially rewritten using Python. For instance, almost all the menu item are Python driven. This tool also offers several generic features which will still help you in Python coding: - word completion - abreviation expansion (typing: ei then ESC may expand to if : elif: for instance) - workspaces - and all the kind of editing functions you may need (comment, uncomment, etc...) Hope you'll like it :-)) Romain "Java Swinguer !" Guy romain.guy@jext.org www.jext.org "Now, don't you worry. The saucers are up there. The graveyard is out there. But I'll be locked up safely in there." - Paula Trent, Plan 9 From Outer Space From lipp@epost.de Mon May 28 13:10:49 2001 From: lipp@epost.de (Wolfgang Lipp) Date: Mon, 28 May 2001 08:10:49 -0400 (EDT) Subject: [Module] PyX Message-ID: PyX --- Proposal (in the making) for a versatile Python structured text standard PyX is an attempt -- currently in its inceptive phase -- to formulate a standard for structured textual data that may be applied to docstrings, hierarchical configuration files and classical documents alike. PyX aims to provide a grammar and tools to transform documents from the source via intermediate representations as Python instance attributes, mappings or lists to output formats such as XML, HTML, and plain text. This is *alpha*. Please do not hesitate to send any comments, share thoughts, provide critique. Also, because of the early stage this thing is in, even the web page is hard to read, never mind the obfuscated sources. So again, please drop me a line if you're interested. Installation procedures to be provided. URL: http://home.snafu.de/castor/projects/pyx/ Download: http://home.snafu.de/castor/projects/downloads/ License: not yet defined Requires: pylon (downloadable from http://home.snafu.de/castor/projects/downloads/) Categories: Parsing/Formatting, Structured Data Processing Wolfgang Lipp (lipp@epost.de) http://home.snafu.de/castor/projects/ -- PyX -- Proposal (in the making) for a versatile Python structured text standard From sheila@thinkspot.net Wed May 30 02:41:09 2001 From: sheila@thinkspot.net (Sheila King) Date: Tue, 29 May 2001 18:41:09 -0700 Subject: [Application] Update: GypsyMail 0.6.0 beta Message-ID: GypsyMail 0.6.0 beta -------------------- A Form Mail cgi script A Python clone of the well-known cgiemail script, with added features and flexibility. This script allows you to set up an HTML form on your website, to collect information from your site's visitors, and send a very nicely formatted e-mail to yourself, or other e-mail addresses. Comes with sample forms and templates. Cross-platform. Under continuing development. I am looking for testers for this script. URL: http://www.thinkspot.net/sheila/computers/software/gypsymail.html Download: http://www.thinkspot.net/sheila/computers/software/gypsy/gypsy060.tar.gz or http://www.thinkspot.net/sheila/computers/software/gypsy/gypsy060.zip License: GPL Categories: CGI Scripts NEW in version 0.6.0 (from the change log): version 0.6.0 beta - 2000.5.28 -Wrote an html document file instead of the help.txt file. Much more extensive documentation. -Changed the way that a field is exempted from a check for headers inserted by a hacker. Removed the previous noverify tag from the form field names. Now this is handled by putting an additional line in the config file of the form values-FormFieldName = . -Added a confirm- option. Now two fields can both check for the same data and verify that the input matches (such as for confirming passwords, and the like). -Check for CRLF characters in the message body text and replaced them with LF characters, to prevent double line spacing in some situations. -Moved most configuration information from the main gypsymail.py file to a separate configuration file. This allows for the main script to run different forms with different configuration options. -Moved many of the functions used by the main script to a separate file, gypsyutils.py. Sheila King http://www.thinkspot.net/sheila/ -- Sheila King http://www.thinkspot.net/sheila/ http://www.k12groups.org/ From PyChecker Wed May 30 03:49:45 2001 From: PyChecker (Neal Norwitz) Date: Tue, 29 May 2001 22:49:45 -0400 Subject: PyChecker v0.5 released Message-ID: I was finally able to get version 0.5 out. Just in case this is the first time you are seeing this message, or you forgot what PyChecker is: PyChecker is a tool for finding common bugs in python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. Because of the dynamic nature of python, some warnings may be incorrect; however, spurious warnings should be fairly infrequent. The highlights are that code at the module scope is now checked. There is still a problem with class variables and globals that are default parameter values. But other than that, there should be no more spurious Variable unused warnings. Code that makes PyChecker raise an exception should now be caught in most cases and this produces a warning. Please mail me if you find it blowing up on your code. The last line processed is shown in the warning, so if you include some context, I can hopefully fix the problem. Also, PyChecker should really use the files passed on the command line, even if it uses the same module name internally. So it will check your warn.py, not PyChecker's warn.py. Feedback, comments, criticisms, new ideas, better ideas, etc. are all greatly appreciated. Thanks for everyone who has taken the time to mail me. If you can think of common mistakes that are made that PyChecker doesn't find, please let me know. Here's the CHANGELOG: * Catch internal errors "gracefully" and turn into a warning * Add checking of most module scoped code * Add pychecker subdir to imports to prevent filename conflicts * Don't produce unused local variable warning if variable name == '_' * Add -g/--allglobals option to report all global warnings, not just first * Add -V/--varlist option to selectively ignore variable not used warnings * Add test script and expected results * Print all instructions when using debug (-d/--debug) * Overhaul internal stack handling so we can look for more problems * Fix glob'ing problems (all args after glob were ignored) * Fix spurious Base class __init__ not called * Fix exception on code like: ['xxx'].index('xxx') * Fix exception on code like: func(kw=(a < b)) * Fix line numbers for import statements PyChecker is available on Source Forge: Web page: http://pychecker.sourceforge.net/ Project page: http://sourceforge.net/projects/pychecker/ Neal -- pychecker@metaslash.com From f8dy@yahoo.com Thu May 31 18:09:00 2001 From: f8dy@yahoo.com (Mark Pilgrim) Date: Thu, 31 May 2001 13:09:00 -0400 Subject: ANN: Dive Into Python chapter 5 released Message-ID: "Dive Into Python" is a free Python book for experienced programmers. Chapter 5, "Unit Testing", is now available: http://diveintopython.org/roman_divein.html Chapter 5 teaches unit testing with PyUnit (now known as the "unittest" module, standard in Python 2.1). It goes step by step through the full lifecycle of a module: - specifying requirements - writing test cases - writing code until all tests pass - updating tests to handle bugs and new requirements - refactoring to improve performance Each step includes full Python source code for both the test cases and the module being tested, so you can see how the code evolves from a set of function stubs that fail all test cases to a complete, working, well-tuned module. Mark Pilgrim f8dy@diveintopython.org -- You're smart; why haven't you learned Python yet? http://diveintopython.org/ From sean@twistedmatrix.com Wed May 30 16:35:18 2001 From: sean@twistedmatrix.com (sean riley) Date: Wed, 30 May 2001 11:35:18 -0400 (EDT) Subject: [Module] pyui Message-ID: pyui ---- pure python user interface library for pygame Pyui is a user interface library written entirely in the high-level language python that uses the pygame framework. It is targeted primarily as a user interface for games but could be applicable to other types of multimedia applications. Pyui is very portable as the underlying pygame framework is built on top of the SDL which runs on Linux, Windows, and Macintosh operating systems. URL: http://pyui.sourceforge.net Download: http://prdownloads.sourceforge.net/pyui/pyui_0.3.zip License: LGPL Requires: pygame Categories: GUI sean riley (sean@twistedmatrix.com) -- pyui -- pure python user interface library for pygame