From amk1@erols.com Tue Jan 4 03:03:50 2000 From: amk1@erols.com (A.M. Kuchling) Date: Tue, 04 Jan 00 03:03:50 GMT Subject: IPC8 key-signing party Message-ID: To help strengthen a public-key web of trust among Python developers, I'd like to hold a key-signing session at IPC8, open to any attendee with a GPG or PGP key. If you'd like to participate, please e-mail me your public key, and let me know that this is for the IPC8 session. You can extract your key in a form suitable for e-mailing with these commands: GnuPG: gpg --armor --export PGP: pgp --kxa For more detailed instructions, and an explanation of the key-signing procedure we'll follow,please refer to this URL: http://starship.python.net/crew/amk/python/key-signing.html

A GPG/PGP key-signing session is being planned for IPC8. (25-Dec-99) == A.M. Kuchling http://starship.python.net/crew/amk/ We must avoid duplication of effort, because that is being done by others. -- Arthur Mitchell -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From s.schwarzer@ndh.net Tue Jan 4 03:07:56 2000 From: s.schwarzer@ndh.net (Stefan Schwarzer) Date: Tue, 04 Jan 00 03:07:56 GMT Subject: makepage-0.1beta.py Message-ID: I would like to announce makepage.py 0.1 beta. makepage takes a "description file" and a file with HTML format information and generates HTML files. The description file contains the logical layout (title, sections, subsections) and the text of the document. Additionally, makepage generates a list of hyperlinks to the sections at the top of the page. By supplying an own format file the default formatting (see ) can be changed easily. An example is at http://www.ndh.net/home/sschwarzer/python/makepage.html This is the makepage documentation page generated with makepage itself and only the default format file. The package can be downloaded from http://www.ndh.net/home/sschwarzer/download/makepage-0.1b.zip Please send comments, suggestions, bug reports to Stefan Schwarzer . Stefan

makepage 0.1 beta (CLICK TO DOWNLOAD ZIP FILE) - generate a HTML file from a logical layout and a general HTML format file. (27-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From bwarsaw@python.org (Barry Warsaw) Tue Jan 4 03:08:09 2000 From: bwarsaw@python.org (Barry Warsaw) (Barry Warsaw) Date: Tue, 04 Jan 00 03:08:09 GMT Subject: IPC8 Developers Day Message-ID: The schedule for Developers' Day at IPC8 has been posted to http://www.python.org/workshops/2000-01/devday.html I will hopefully be getting position papers from folks soon after the new year, so please check back if you want to get a head start on the topics. There will be a little bit of time in the morning session for SIG updates, so if you're a SIG champion, please email me if you'd like to give a progress report. Depending on how many people sign up for the morning session, we may have time for other announcements or updates as well. Again, let me know if you'd like to reserve a slot (on the order of 5 - 10 minutes). -Barry -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From gmcm@hypernet.com Tue Jan 4 03:08:48 2000 From: gmcm@hypernet.com (Gordon McMillan) Date: Tue, 04 Jan 00 03:08:48 GMT Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Dec 28) Message-ID: The holiday week brought Pythondom three nice new shiny packages: Markus F.X.J. Oberhumer announces that Version 3.10 of PySol is here (128 solitaire card games in one!): http://wildsau.idv.uni-linz.ac.at/mfx/pysol.html Kevin Dahlhausen announces pyhints - a script that scans Python source and builds a hint script for VIM (prompts you with function signatures): http://www.deja.com/getdoc.xp?AN=563701938 Paul Sheer announces KOALA 0.9.0, a database / GUI forms package for postgres and Gnome (uses Python 1.5.1): http://www.deja.com/getdoc.xp?AN=565059802 Bernard Herzog uncovers the reason why maintaining two Python installations on Linux is difficult: http://www.deja.com/getdoc.xp?AN=563559697 Ng Pheng Siong provides a nice overview what must be done to use urllib with differnt sorts of firewalls: http://www.deja.com/getdoc.xp?AN=563817592 In the Windows / COM world, we got two nice overviews: Eugene Goodrich provides hints for those doing ASP coding: http://www.deja.com/getdoc.xp?AN=564839534 John Nielsen (via Mark Hammond) offers help to those stuck with administering Exchange on NT (or using Python/COM with ADSI): http://www.deja.com/getdoc.xp?AN=563607231 Andrew M. Kuchling updates his "Python warts" page to reflect the most recent rounds of discussion on Python's shortcomings: http://starship.python.net/crew/amk/python/warts.html ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the center of Pythonia http://www.python.org Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ 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 trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. http://www.egroups.com/list/python-url-leads/ 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 -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From Oliphant.Travis@mayo.edu Tue Jan 4 03:09:28 2000 From: Oliphant.Travis@mayo.edu (Travis Oliphant) Date: Tue, 04 Jan 00 03:09:28 GMT Subject: New Cephes module with arraymap method Message-ID: I'm announcing the availability of Version 1.2 of the Cephes module at http://oliphant.netpedia.net Cephes module provides many special functions of physics to the Numerical Python user as ufuncs which are generalized functions that automatically map over array arguments and follow useful broadcasting rules. I would like to see more special functions added to the library even if they are written in Python. Towards that end, version 1.2 contains a new python wrapper module called SpecialFuncs.py that can include Python-only special functions. In addition, I have added a method to cephesmodule called arraymap that acts like the map function but performs the broadcasting rules of ufuncs and returns Numerical Python arrays as output. I have also included a class that allows wrapping a Python function that takes scalar inputs and returns scalar outputs and returns a ufunc-like function which automatically maps over array input arguments following the ufunc broadcasting rules to return appropriately-sized outputs. So, if you can't figure out how to "vectorize" your function. You can wrap it in this class and get mapping behavior automatically. The looping is all written in C and so is reasonably fast. Comments and contributions are welcome. Travis Oliphant Oliphant.Travis@altavista.net

SpecialFuncs 1.2 - an extension module also known as cephes which provides many special functions of physics to the Numerical Python user. (28-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From mike@digicool.com Tue Jan 4 03:10:04 2000 From: mike@digicool.com (Mike Pelletier) Date: Tue, 04 Jan 00 03:10:04 GMT Subject: Zope Weekly News - Wed, 29 Dec 1999 Message-ID: G'day, Zope Weekly News is a digest of some of the useful and interesting events which have occurred on the various Zope mailing lists and the Zope.org site. It is published each Wednesday evening. Any opinions contained in the Zope Weekly News are those of the chronicler exclusively. Announcements * Amos Lattier put out a call for FastCGI problems. Amos is revisiting FastCGI support, so the more you complain the better it will be. http://lists.zope.org/pipermail/zope/1999-December/016202.html * Paul Everitt has alerted everyone to the latest issue of Linux Magazine, which contains an article "Gold Rush: Venture Capitalists Discover Linux". The article talks about Digital Creations and Hadar Pedhazur at length. http://lists.zope.org/pipermail/zope/1999-December/016197.html Updates * "htrd" posted an update to his NTUserFolder product. It authenticates Zope users from NT user accounts. It only runs on Windows NT. The latest release is 1.3. http://yyy.zope.org/Members/htrd/NTUserFolder * "phd" has updated mod_pcgi2 several times this week. mod_pcgi2 moves PGCI's calling code into Apache's process to eliminate the so-called "fork tax". This makes requests more responsive. The latest version is 0.1.2. http://yyy.zope.org/Members/phd/mod_pcgi2 Zope.org items * "z113" contributed a How-To on adding your own DTML tags to the language. http://yyy.zope.org/Members/z113/1 Notable Discussions * Art Hampton started a discussion presently underway about the relative merits of mod_pcgi2, vanilla PCGI and FastCGI. http://lists.zope.org/pipermail/zope/1999-December/016198.html * Anthony Baxter has made and released some modifications to ZCatalog. He's soliciting comments in zope-dev. http://lists.zope.org/pipermail/zope-dev/1999-December/002780.htm; == Mike Pelletier. -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From irmen@nospam-bigfoot.com Tue Jan 4 03:11:17 2000 From: irmen@nospam-bigfoot.com (Irmen de Jong) Date: Tue, 04 Jan 00 03:11:17 GMT Subject: Pyro 0.8 Message-ID: PYRO - Python Remote Objects - version 0.8 by Irmen de Jong - irmen@bigfoot.com WHAT IS PYRO? Pyro is an acronym for PYthon Remote Objects. It is a basic Distributed Object Technology system written entirely in Python, and for use in Python only. With this, it closely resembles Java's Remote Method Invocation (RMI). It has less similarity to CORBA - which is a system- and language independent Distributed Object Technology and has much more to offer than Pyro or RMI. However, Pyro has some interesting features: - Naming Service which keeps record of the location of objects. The location of the NS can be discovered by use of a broadcast mechanism, if need be. - Support for Python types only restricted by those that the standard 'pickle' module handles (all builtin types, and user created classes). Objects as arguments are also supported when the code for those user defined classes is also available on the server side. - Support for all Python argument types (variable argument lists and keyword arguments, *args and **keywords). - Exceptions that occur in the remote object will actually be raised too on the client, just as if the error occured locally. Pyro's exception transportation mechanism makes this possible. - Proxy compiler which automates the task of creating wrapper (proxy) classes. - Dynamic Proxies if you don't like to have pregenerated proxies. - Full source code in Python The most important changes since the previous version are: - Separate system and user logs. - Cleaner exception handling. - Major documentation update: a whole new chapter with a practical guide about how to develop Pyro programs has been added. - Various small changes such as Win32 GUID support, localhost optimization, delegate pattern for object implementation, new argument parser. WHERE CAN I GET IT ? >From my Python homepage: http://www.bigfoot.com/~irmen/python.html It comes with a Python-style license, but is otherwise free for commercial and non-commercial use. REFERENCE:

Pyro 0.8 - Distributed Object system for Python. (30-Dec-99) == Irmen de Jong - irmen@bigfoot.com -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From steriana@gvsu.edu Tue Jan 4 03:11:31 2000 From: steriana@gvsu.edu (Andrew Sterian) Date: Tue, 04 Jan 00 03:11:31 GMT Subject: EVBU 0.1 -- 68HC11 microcontroller simulator Message-ID: EVBU 0.1 is a simulator for the Motorola 68HC11 microcontroller. It is written in pure Python and is free software released under the GPL. The software can be downloaded from:

EVBU 0.1 - a freeware simulator for the 68HC11 microcontroller. (30-Dec-99) Andrew Sterian | Assistant Professor | Padnos School of Engineering | (616) 771-6756 Grand Valley State University -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From guido@CNRI.Reston.VA.US Tue Jan 4 03:11:51 2000 From: guido@CNRI.Reston.VA.US (Guido van Rossum) Date: Tue, 04 Jan 00 03:11:51 GMT Subject: Python Conference -- Early Bird Registration ends Jan 5! Message-ID: This is the last warning. The conference is getting booked full, don't wait till the last moment! If you haven't registered and paid by January 5, you will paying full price... So, be smart and register NOW. Also don't forget to book your hotel room by January 3 to qualify for the conference rate! Some highlights from the conference program: - 8 tutorials on topics ranging from JPython to Fnorb; - a keynote by Open Source evangelist Eric Raymond; - another by Randy Pausch, father of the Alice Virtual Reality project; - a separate track for Zope developers and users; - live demonstrations of important Python applications; - refereed papers, and short talks on current topics; - a developers' day where the feature set of Python 2.0 is worked out. Our motto, due to Bruce Eckel, is: "Life's better without braces." Come and join us at the Key Bridge Marriott in Rosslyn (across the bridge from Georgetown), January 24-27 in 2000. Make the Python conference the first conference you attend in the new millennium! The early bird registration deadline is January 5. More info: http://www.python.org/workshops/2000-01/ The program is now complete with the titles of all presentations. There is still space in the demo session and in the short talks session. --Guido van Rossum (home page: http://www.python.org/~guido/) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Thu Jan 6 21:50:37 2000 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 06 Jan 00 21:50:37 GMT Subject: IPC8 Hotel Group Rate Extension Message-ID: For those of you who are coming to the 8th International Python Conference and are planning to stay at the hotel, but have /not/ yet made your room reservations, please note that the hotel has extended the Python group rate of $129/night (plus tax) until close of business (US East Coast time) on January 6th, 2000. After this date, the least expensive room the hotel will offer is $179/night (plus tax). For more information on the conference see http://www.python.org/workshops/2000-01/ Hotel information is available at http://www.python.org/workshops/2000-01/hotel.html See you there! -Barry -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From bwarsaw@cnri.reston.va.us (Barry A. Warsaw) Thu Jan 6 21:50:59 2000 From: bwarsaw@cnri.reston.va.us (Barry A. Warsaw) (Barry A. Warsaw) Date: Thu, 06 Jan 00 21:50:59 GMT Subject: Schedule changes for IPC8 Message-ID: There have been a few minor scheduling changes for the Tuesday and Wednesday sessions of IPC8. Please see the web site http://www.python.org/workshops/2000-01/ for details. -Barry -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From mike@digicool.com Thu Jan 6 21:52:10 2000 From: mike@digicool.com (Mike Pelletier) Date: Thu, 06 Jan 00 21:52:10 GMT Subject: Zope Weekly News - Wed, 5 Jan 2000 Message-ID: G'day, Zope Weekly News is a digest of some of the useful and interesting events which have occurred on the various Zope mailing lists and the Zope.org site. It is published each Wednesday evening. Any opinions contained in the Zope Weekly News are those of the chronicler exclusively. Announcements * A security hole has been found and patched. The problem, found thanks to Kevin Littlejohn's efforts, affects those sites which make their Zope management interface available to untrusted users. All Zope users are encouraged to read the announcement and update their Zope installation. Patches are available for both 2.x and 1.x. This patch forced two new Zope releases, 2.1.2 and 1.10.4. http://www.zope.org/Products/Zope/2.1.2/Zope_212_release New Products * Jephte CLAIN has released a new NT Domain authenticator: jcNTUserFolder. Jephte's Product differs from "htrd"'s in that roles are given through the web and impersonation is not used. http://www.zope.org/Members/jephte/jcNTUserFolder Updates * "Drew" updated the Photo Product. Photo resizes images to the user's preferred size. The present version is 0.1.0. http://www.zope.org/Members/Drew/Photo * "vladap" updated the mysqlUserFolder Product. This update fixes a folder creation bug. mysqlUserFolder allows you to authenticate users with data stored in a mysql database. It also allows you to store arbitrary per-user data, and it supports HTTP and cookie-based authentication schemes. The present version is 0.3.2. http://www.zope.org/Members/vladap/mysqlUserFolder * Jephte CLAIN has also released two patches, one to the MIME tag, and one to the import/export system. The MIME patch adds *_expr versions of the type, disposition, encode and name attributes of the MIME tag. These allow you to evaluate an expression for the value of the attribute rather than specifying a literal value. The patch also adds the attributes filename and filename_expr to the tag. These attributes supply hints that the client will use to determine the file's name. The import/export patch allows you to import objects through the web instead of having to place files on the filesystem. http://www.zope.org/Members/jephte/MIMETag http://www.zope.org/Members/jephte/WebImport * "phd" released an update to the mod_pcgi2 package. This update adds a PCGI_ROOT command for virtual hosting. mod_pcgi2 is an Apache module which moves the PCGI client into Apache's address space, preventing the need to start a new process to avoid the "fork tax". The present version is 0.2.0. http://www.zope.org/Members/phd/mod_pcgi2 Zope.org items * "Gregor" had some quibbles with a couple aspects of Zope's user interface. He wrote and submitted a How-To describing how to prevent the "Powered by Zope" link from opening in a frame, and how to make the Zope document editing TEXTAREA soft-wrap. http://www.zope.org/Members/Gregor/misc_nitpicks Notable Discussions * Olivier Deckmyn has just started what stands to be an interesting thread for those wishing to take the first step developing Zope applications. Olivier has a set of classes which implement the logic of the application he wishes to produce. He is looking for advice on how to move from a set of standalone objects to a Zope application. http://lists.zope.org/pipermail/zope/1999-December/016251.html * To ring in the new year, Wei Tao started a Zope wishlist thread. Got a wish, rant or suggestion? Chime in. http://lists.zope.org/pipermail/zope/2000-January/016318.html * A thread significant to Product developers: Martijn Faassen desires to develop a set of Product standards. He points out that there are some rather arcane things that one has to do to produce a well-behaved Zope Product, but that many people do not know what they are and even those who do know do not always know _why_ ("voodoo programming"). Martijn makes a number of suggestions to rectify this problem. Chris McDonough graciously offers to contribute some effort to the cause. http://lists.zope.org/pipermail/zope-dev/2000-January/002823.html http://lists.zope.org/pipermail/zope-dev/2000-January/002824.html == Mike Pelletier. -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From ap096@po.cwru.edu Wed Jan 12 06:50:28 2000 From: ap096@po.cwru.edu (Kevin Dahlhausen) Date: Wed, 12 Jan 00 06:50:28 GMT Subject: pyhints - Python function signatures in VIM Message-ID: Pyhints scans one or more Python source files and produces a VIM 'hint' script. When sourced, this script displays the function signature in the status line after you type the function name. This idea is from Dr. Cambell's flist program (http://users.erols.com/astronaut/vim/) , which does the same for C/C++. http://www.geocities.com/SiliconValley/Peaks/4673/python.html#pyhints

pyhints for VIM - scans one or more Python source files and produces a 'hint' script describing function signatures; for the VIM editor. (21-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From markus.oberhumer@jk.uni-linz.ac.at Wed Jan 12 06:52:03 2000 From: markus.oberhumer@jk.uni-linz.ac.at (Markus F.X.J. Oberhumer) Date: Wed, 12 Jan 00 06:52:03 GMT Subject: PySol 3.10 - a solitaire game collection Message-ID: -----BEGIN PGP SIGNED MESSAGE----- PySol - a Solitaire Game Collection Version 3.10 http://wildsau.idv.uni-linz.ac.at/mfx/pysol.html Copyright (C) 1998, 1999 Markus F.X.J. Oberhumer What is PySol ? =============== PySol is an exciting collection of 128 solitaire card games. Among the supported games are classics like Aces Up, Baker's Game, Canfield, FreeCell, Forty Thieves, Golf, Klondike, Monte Carlo, Osmosis, Pyramid, Scorpion, Spider, Yukon, and many more... PySol may be freely distributed under the terms of the GNU GPL. PySol aims to be Commercial Quality Freeware. Why yet another solitaire game ? ================================ Here are some highlights of PySol: - currently supports 128 (!) distinct solitaire variants - based upon an extensible solitaire engine - very nice look and feel including multiple cardsets and background table tiles - unlimited undo & redo - load & save games - player statistics and log files - hint system - demo games - support for user written plug-ins - add your own solitaire variants - integrated HTML help browser - lots of documentation - fully portable across Unix/X11, Windows 95/98/NT and MacOS - written in 100% pure Python - just run it - no need to compile anything - freely available - distributed under the GNU GPL with full source code Yeah, I know. But what's new ? ============================== * Implemented 17 new games. * Added sound support including samples and background MP3/MOD music. Sound is implemented by a rather generic server (a C program) using the SDL library for low-level mixing and playing. * Wrote some really fancy tree dialogs - Python programmers will definitely love these :-) * Added 19 great cardsets to pysol-cardsets. Many thanks to T. Kirk. Cool. Where can I get it ? ========================== Point your browser to http://wildsau.idv.uni-linz.ac.at/mfx/pysol.html The PySol Gallery is awaiting your visit as well. What do I need to start playing ? ================================= PySol requires Python 1.5.2 and Tcl/Tk 8.0.5. Both packages are freely available for Unix, Windows 95/98/NT and Macintosh. BTW, there is no need to compile anything since the whole program is just a Python script. Just run it, and that's all. Contributions ============= I'm looking for people who want to contibute new games, provide additional graphics, scan cardset packs, improve the docs, etc. Please see the README in the distribution about details. License terms ============= PySol is Copyright (C) 1998, 1999 Markus Franz Xaver Johannes Oberhumer PySol is distributed under the terms of the GNU General Public License (GPL). See the file COPYING. Have fun, Markus http://wildsau.idv.uni-linz.ac.at/mfx/pysol.html -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: noconv iQCVAwUBOGAYJ210fyLu8beJAQH9EgQAsRwAPJHhEm1aMN9C+FVbhcDHrkqOUOmT WrD7sJRtvFpFfZ72GrcYpczgmB3tjwJsfh2C4dOtajrBGdIZuCh5z+f7aHnp77n7 oOPKxmpmQzlq/l5t2hlhewbE2dXFMh8+dbbygzfGVgORs0SbKi8CxTQFjzoZPy4t p6TiDKXl9bw= =5B4i -----END PGP SIGNATURE-----

PySol 3.10 - new version of Python Solitaire Games (using Tkinter); now supports 128 (!) distinct solitaire card game variants. (22-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From Paul Sheer Wed Jan 12 06:54:18 2000 From: Paul Sheer (Paul Sheer) Date: Wed, 12 Jan 00 06:54:18 GMT Subject: KOALA 0.9.0 released: A database `microsoft access'-4GL-like backen Message-ID: SOFTWARE RELEASE ANNOUNCEMENT ============================= KOALA - Version 0.9.0 --------------------- Availability: ------------- ftp://ftp.obsidian.co.za/pub/koala/ What is this package: ===================== This is an object-database / GUI / database-backend / data-widget / Microsoft-Access thingie for postgres. It allows you to create any type of incredibly complicated interlinked set of database tables without typing a single line of code. It supports every kind of postgres type corresponding to every type of gnome/gtk widget. You all do it from within a GUI. And the GUI form layouts are also stored within the database in their own table. Koala gives a form and dialog backend to any postgres database. Koala is written in Python with gnome-python (thanks James) for the interface. Koala is distributed under the GNU General Public License. ---------------------------------- Paul Sheer README.koala>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Koala's user reference: Theory and practical for creating GUI tables. ============================================= This documentation is by no means a comprehensive description of what is going on. It is to be read in combination with running the demos. Between the two, is all of what you may need to know to create tables and dialogs from within the GUI. `Koalii' is the plural of `koala'. A dialog is a form with lots of widgets inside it that usually need filling in. What is a koala: A koala is a widget in a dialog that corresponds to a column in a database table. It is hence a DATA WIDGET (term used in some circles). The dialog itself corresponds to the whole table. A particular instance of the dialog corresponds to a particular row of the table. A koala is also an python object that knows how to create that widget as well as format that data for the particular column in SQL. Koalii usually hold strings, integers, dates etc - like a persons name or his shoe size. A `compound' koala is a koala that holds only an integer where the integer is a reference to a row id of another table. For instance, a dialog of personal details may contain a string koala that holds the persons preferred brand of cologne. It would be better to rather have a table of all brands of cologne and then just store the particular row id of the brand instead of storing a string of the full name of the brand (This allows all brands to be accounted for and makes it impossible to input a non-existing, but similar sounding brand name into the widget). The table of all known colognes would have its own koalii: such as a string containing the name, another for manufacturer etc. These strings are called sub-koalii of the integer koala for this cologne. In postgres (the SQL server), row id's are actually called oid's (Object ID's) and are unique across the entire database. So we may have an oid referring to a person. The person has a row containing a lot of strings and integers describing them. One these integers is an oid, and is a reference to a row in another table of cologne brands. The cologne brand row will contain strings, integers etc describing it, and possibly some oid's linked to other tables of manufacturers, ingredients... and so on. In fact, the manufacturer may contain a list of employees which link all the way back to the persons table: in this way, the database can circular. A compound koala can hence be displayed in two ways: as a form with all its sub-koala represented as widgets (checkboxes, entry widgets etc.); or, when it itself is a sub-koala, as a widget inside the form of its parent-koala. The form has to be laid out neatly so that many sub-koala can be represented. This is actually quite tricky when you are dealing with a table of fifty fields. To do this neatly we group associated koala, displaying each group on a separate page of a gtk notebook. So for example, a `person' koala would have one page for his identity (first name, last name, title), and another page for his address (street, city, country, zip) and so on. In the code, these are called `pages', and there might be only one of them if there are only three or four fields. The form of each page is described by a formatting language, so that a form of a checkbox with an entry widget above it may look like this: ( %Cf / %Exf )f The details of these forms are as per the gtk_dialog_cauldron.3 man page, or the gnome sgml documentation of the gtk_dialog_cauldron() C function. There is one change however: You may mostly use %X instead of an actual format specifier, because the code will test the type of the koala being passed to that format specifier and then substitute the %X for an appropriate widget type. An exception is the checkbox (%C) and radiobutton (%R) widgets. There is no way to tell them apart because the are both `boolean' koalii. Instead of %X you should explicitly specify %R or %C as the case may be. The complete list of user widgets is as follows: koala_string This is the most basic type. It is a Gnome entry widget (%Eg) in the form and a `text' postgres type. koala_int A number entry widget, and an `int' postgres type. This has a calculator button to bring up a calculator even if it is totally inapplicable to the purpose of the data. The calculator also doesn't work, because it fails to add a grab or something - Gnome bug. koala_float Same but for a `float' postgres type. koala_floatrange Spin button widget and `float' type. koala_intrange Spin button widget and `int' type. koala_text Editor widget and `text' type. koala_largetext Same but with scrollbars. koala_bool Checkbox or radio button as explained, and a `bool' type. koala_date Gnome date edit widget and a `date' type. koala_datetime Gnome date edit widget with 24 hours and a `date' type. koala_time Three spin buttons with 0-23, 0-59 and 0-59, time sql type. koala_minutes Two spin buttons with 0-23 and 0-59, time sql type. koala_money Gtk entry widget with format of 999999.99 and `float' type. Note: One of the libpg (postgres library) or _pg (python postgres module) libraries has a bug that causes a segfault when using the `money' sql type. Hence the money koala now uses the float type in tables. koala_null If you read the gtk_dialog_cauldron.3 man page, you will see that some tokens in the format string require an argument merely for display purposes (such as a title to a frame). You can use the null koala for this, which does not represent a column in the table. koala_password An entry widget. This is NOT a password entry of the tradition type where asterisks replace characters. It is for storing passwords so that they can only be read by trusted users. The widget has a check button to the right that, when depressed, decrypts the text and then encrypts it again when raised. The encryption is done with triple-DES. This koala might be used, for instance, in a service IT business that has a database of customers machines that they administer. Each machine has a root password which you can safely store using this koala, only the encrypted text is transfered to the database. The key used to do the encryption is a hash of a password entered with the do_passwd() dialog. A few characters of the intermediate hash can be passed as the second argument to verify that the typed password is correct. koala_mutable This is the compound entity explained above. The widget is a Gnome entry widget that contains text that refers to the first sub-koala on the first page (i.e. the first column in the table). For instance a cologne koala would have the brand name as the first sub-koala, so the brand name would appear in an entry widget in the parent dialog. Next to the entry widget are two buttons, [?] and [^]. The first brings up a list box of possible values that may appear in the entry widget - it does a search through the table. The second displays the full dialog of the koala - the notebook with all its pages. Two extra pages appear in the notebook besides the ones containing sub-koala widgets. The are the `Edit' and `Access' pages. The Access page allows the user `postgres' to restrict or allow access to the particular koala in various ways. koala_auto This is just like the mutable koala, but the dialog is automatically created from a pre-existing table. This can be used in intermediate stages where you quickly want to create some kind of access to a table, where it doesn't have to look pretty. Type is `oid' like mutable. koala_mutablearray This widget is gtk clist - i.e. a table with column headings for each field. The table has `Add', `New', `Edit' and `Delete' buttons. The `Edit' button brings up a dialog just like the mutable koala, from where pages can be added and edited. New entities that are created within the form editor will appear as new columns in the table. The sql type is `text'. This is the one koala that uses more than one row. The table itself has an extra column `_key'. All `_key' with the same value belong together. koala_mutablestring Above we said that compound koala's have an oid value that indexed a row. Mutablestring is a mutable koalii that has a string as the index instead of an oid of the row. The string represents the first koala on the first page - which must be of sql type `text' - and would be the first column of the table. Note that there is not yet protection of duplicate entries. The user should make sure that two rows do not have the same index. koala_mutableint This is the same as mutablestring, but with an integer as an index. Note on editing pages: ---------------------- When you edit a page from within the GUI, it will not appear immediately in the notebook. You have to first test the page by clicking the `Test' button and then `Cancel' the dialog and then `Cancel' the parent dialog. Only then are the previous form layouts cleared from memory. The method append_mutable_page appends koala that do not appear in the page table. If koala already exist, no action is taken, even if the column types or form layout differs. This means that once you have created a page with append_mutable_page you can only alter it from within the GUI. Alternatively you can do a DELETE FROM table_pagearray WHERE _key = 'my_table'; Which will clear out the form and reference to any koalii. Stale (unlinked) koalii from this page will remain in table_entityarray, but these may be ignored. Note on date style: ------------------- Postgress outputs dates as 4/28/1984 or 28/4/1984 depending on the locale. I force my date to european style (28/4/1984) by using, postmaster -o -e ... in my init script (see postmaster(1) and postgres(1)). If you use non-european style, set, european_date_style = 0 in object_bases.py. This has nothing to do with the way that the date will display in the widget, which is has to do with Gnome and not with me. Be absolutely sure about what date style postgres is outputting, by actually creating a table with dates in it and doing a SELECT on them. Koala cannot autodetect this and will read the date incorrectly. Note on quotation marks: ------------------------ At the moment, the python code replaces all ' with ` before committing any string value to a table. How to jump in and create a database: ------------------------------------- There are two ways: one is to just run extended_bases.py as the main program (i.e. su postgres python extended_bases.py ) and then begin creating tables with the `New' button. Follow this example as a tutorial. Here we create a table of motor vehicles. 0. Postgres should be set up so that a user `postgres' can access a database called postgres and create and delete tables. See the postgres documentation about installing and configuring postgres. 1. run su postgres python extended_bases.py 2. Click on `New' 3. Enter `table_vehicles' 4. A notepad will appear with two pages: `Edit' and `Access' Raise the `Edit' page and click on `New'. 5. Enter `Identity' on the Title page, `100' in the `Order' field on the `Form' page. Now enter your form in the text area: ( (Registration Number:) %Xxf )f / ( (Make:) %Xxf )f / ( (Model:) %Xxf )f / ( (Year:) %Xxf )f It would be wise to read the full gtk_dialog_cauldron(3) man page. Note that newlines are completely ignored. 6. Now raise the `Koalii' page and read the message their. 7. Click on `Ok' 8. Click on `Edit' and go back to the `Koalii' page. 9. Click on `New' in the `Koalii' page. 10. A Koalii dialog will appear, enter: `Registration Number' in the `Title' field, `10' in the `Order' field, `string' in the `Type' field, `ident_registration' in the `Table column' field, and leave the rest blank. 11. Now repeat steps 9 and 10 for each of make, model and year. In each case, the `Table column' MUST be different and the `Title' field must be something descriptive. The `Order' field should indicate the order that the koalii appear in the form, preferably with large gaps in case you need to add new ones later, eg 20 for make, 30 for model, and 40 for year. 12. In the `Koalii' page of the `Pages' dialog, check A: that you have four entries B: that each entry has a different Column field C: that each entry has a properly descriptive Title field D: that each entry has a type of `string' E: that the order of the entries matches the order within the form 13. Hit `Ok' to go back to the `Edit' page of the `table_car' dialog. 14. You will notice that under `Enabled' is an `f'. Click on `Test' to test the page and then `Close' the test dialog. If there was something wrong with the form string, an appropriate error message may be printed (see README.patch_first). You may also get error messages that are very cryptic. Don't scratch your head trying to understand them, just double check all your koalii and your form string and try to make the page simpler. 15. `Cancel' the `table_car' dialog. 16. You will now notice a new button on the main menu: `table_car'. click on this button. 17. You can continue to add other pages to the notebook. Though do not ever delete pages and then reuse column names. Postgres lacks the `DROP COLUMN' feature (its also dangerous to use in this case) so stale columns will hang around. You can drop them by recreating the table, but this must be done with psql on the command line. Other way to create a table: ---------------------------- The other way to create a table is to program it in python. Here is a python script that does the same: #!/usr/bin/python from extended_bases import * class koala_car (koala_mutable): def widget_create (self, *args): self.append_mutable_page ("Identity", "( (Registration Number:) %Xxf )f /" "( (Make:) %Xxf )f /" "( (Model:) %Xxf )f /" "( (Year:) %Xxf )f", (("string", "ident_registration", "Registration Number", ""), ("string", "ident_make", "Make", ""), ("string", "ident_model", "Model", ""), ("string", "ident_year", "Year", ""))) return koala_mutable.widget_create (self) def do_table (heading, table): a = koala_mutable ("", heading, "", db, table) a.widget_create () s = search_dialog ("Search: " + heading) if s: a.list (heading, s[0]) db = initialise_bases ("postgres", "localhost", 5432) init_mutable_table (koala_car, db, "table_car") do_table ("Cars", "table_car") --------- Above, the last arguments were always left blank (i.e. ""). These are the default values for the field. In the above cases there is no entry that is more likely than any other, so we left them blank. Now that the form has been created, goto the `Access' page and add some groups so that others besides the postgres login can use the table. You must first create users and groups as explained in README.groups. You need only create one group. Then edit the `Identity' page again and goto `Access'. Here again you must add a group to the list. That concludes a trivial database. To create a complex database with links requires very little more effort... Here we are going to add an owner to the car. First we need to create a `table_person' table. (There may already be one as an example). Add a new page to your car notepad like this: Title: Owner Form: ( (Owner:) %Xxf )f / ( (Date of purchase:) %Xxf ) Entities: Title Order Type Column Table --------------- ------- --------------- --------------- ------------ Owner 10 mutable owner_owner table_person Date Purchased 20 date owner_date The entry widget next to `Owner' will have two buttons to select from a list of people and to add a new person to the list, respectively. You should beware of adding duplicate entries because these are perfectly allowable with a mutable koala, but may create confusion in the database. If there would never be a duplicate entry for the table you have created, then you can use mutablestring instead of mutable which indexes the table by the first column and does not allow duplicate entries. For table_person, the first column contains only the last name of the person. Since there can be many people with the same last name, mutable is used instead of mutablestring. Note that the mutable koala does not automatically insert a default value for a new instance of the dialog. Mutablestring does insert such a value if defined. ---------- == -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3i mQCNAzdiRpAAAAEEANPUPC/Lrs4OCJOjWaIWaCYTzTIY1p73uPY+8ZOJH5fc4QNp IAX+EFQ/yZ3RMOLg8yy++HufzBwDoePO4W0MKwyVFCcNIIjsY6JCXWdbpQXsY1LL OASlGexQnEQ4mfc7ThOAKWSgPyiMv5vDJ6S0EL8rdIFL7fVv56BAxnN042FRAAUR tCJQYXVsIFNoZWVyIDxwc2hlZXJAb2JzaWRpYW4uY28uemE+iQCVAwUQN2JGkKBA xnN042FRAQF5CAP/Y0TaguqCpYiTEBHxZPpT/dliInVRBzryi4gdlgX6CCLDRRGH ATP4ac8aiATegc4ev4+vcdn4fBwc6fQ2AP6hd25ZI93vShxztM/bQlGWy0zp79Uo +69uGdJhdvgYpIsTCqppM/yjeXAJEqq5TG2Gy4pqHY235rspmeA/fX7kgIo= =aX4m -----END PGP PUBLIC KEY BLOCK----- Cellular . . . +27 83 604 0615 . . . . Land . . . +27 21 761 7224 Obsidian Systems . . . . Linux installations, support, networking info@obsidian.co.za . . . . . . . . . . Tel . . +27 21 448 9265 http://www.obsidian.co.za . . . . . . . Jhb . . . +27 11 792 6500 L I N U X . . . . . . . . . . . . . The Choice of a GNU Generation

KOALA 0.9.0 - a database/GUI forms package for PostgreSQL and Gnome (uses Python 1.5.1). (26-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From pyca@ms.inka.de Wed Jan 12 06:56:29 2000 From: pyca@ms.inka.de (Michael =?iso-8859-1?Q?Str=F6der?=) Date: Wed, 12 Jan 00 06:56:29 GMT Subject: pyCA-0.6.3 - tools for setting up a certificate authority Message-ID: HI! I would like to announce a new beta release of my package pyCA, a set of scripts and CGI-BIN programs written in Python for setting up and running a X.509 certificate authority using OpenSSL. See http://www.pyca.de/ for more details. Note: This will be the last feature release in the 0.6.x series. Only bug fixes will be added in this branch. The upcoming release 0.7.0 and above will be incompatible to 0.6.x installations. Plans for 0.7.0 - based on M2Crypto (a Python module for accessing the OpenSSL libs) - database support for storing cert and user data - replacement for "openssl ca" command - localization support for different character sets This may take a while... Ciao, Michael. Changes since 0.6.2: - Many small bugfixes and small enhancements

pyca-0.6.3 - scripts and CGI-BIN programs for setting up and running a certificate authority using OpenSSL. (27-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From slinkp@angelfire.com Wed Jan 12 06:58:39 2000 From: slinkp@angelfire.com (Paul Winkler) Date: Wed, 12 Jan 00 06:58:39 GMT Subject: pysco: a python module for composers Message-ID: Pysco is a Python module for generating scores for Csound, a software synthesis language. Pysco replaces Pscore, my old Perl csound-score- generating module. Pysco does everything Pscore did and more. It has recently reached a stage of development at which it might actually be musically useful. The current version is 0.0.2 Eventually I hope to abstract the data to the point that pysco can usefully generate other types of musical output (such as midi files or streams). The current idea of pysco is that you import it into a python script and then compose / program music in your script. There is a little sample piece ("song1.py") included with the source, but it's not very interesting (yet). More information and downloading: http://www.ulster.net/~abigoo/pw_linux/code.html#pysco == ................ paul winkler .................. slinkP arts: music, sound, illustration, design, etc. A member of ARMS -----> http://www.reacharms.com or http://www.mp3.com/arms or http://www.amp3.net/arms personal page ----> http://www.ulster.net/~abigoo

pysco - a Python module for generating scores for Csound, a software synthesis language; for music composers. (29-Dec-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From aurag@geocities.com Wed Jan 12 07:00:04 2000 From: aurag@geocities.com (Hassan Aurag) Date: Wed, 12 Jan 00 07:00:04 GMT Subject: GMatH Message-ID: Hi, I am here to announce GmatH, a gnome interface to Numerical Python! For more information and eye-candy, please go to http://gmath.sourceforge.net Thanks H. Aurag

GMatH - a GNOME user interface for Numerical Python. (01-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From ruebe@aachen.heimat.de Wed Jan 12 07:01:56 2000 From: ruebe@aachen.heimat.de (Christian Scholz) Date: Wed, 12 Jan 00 07:01:56 GMT Subject: python davserver 0.5 Message-ID: Hi Release 0.5 of my davserver for python is ready for download. Now MOVE and COPY also work. Moreover some internal stuff has changed to make it more flexible. And of course bugs also have been fixed. python davserver is supposed to act as generic server which can easily be used by different applications. All one has to do is to write an interfaces class which acts as a link between the application and the actual WebDAV server. You can download it at: ftp://comlounge.net/webdav/davserver-0.5.tar.gz The homepage is available at: http://comlounge.net/webdav/ best wished for 2000 (still 2:20 h to go here..) -- Christian _______________________________________________ dav-announce maillist - dav-announce@lyra.org http://dav.lyra.org/mailman/listinfo/dav-announce

python davserver 0.5 - an extensible WebDAV (RFC 2518) server class for Python; for adding WebDAV functionality to a variety of applications. (01-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From djc@itga.com.au Wed Jan 12 07:03:30 2000 From: djc@itga.com.au (Dave Cole) Date: Wed, 12 Jan 00 07:03:30 GMT Subject: Sybase module - release 0.4 Message-ID: This is the "first" release of my Sybase module for Python Sybase is a module which provides a Python interface to the Sybase relational database system (surprise). The Sybase package supports almost all of the Python Database API, version 2.0 with extensions. The Sybase package is designed to work 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 module contains the following items: Module interface Connection objects Cursor objects Bulkcopy objects The homepage http://www.itga.com.au/~djc/sybase.html contains a description of the deviations from the Database API specification. The module can also be downloaded from ftp://ftp.itga.com.au/pub/python/Sybase-0.4.tar.gz - Dave

Sybase module 0.4 - a Python interface to the Sybase relational database system, mostly compatible with the Python Database API, v2.0. (04-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From uche.ogbuji@fourthought.com Wed Jan 12 07:04:40 2000 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 12 Jan 00 07:04:40 GMT Subject: 4DOM 0.9.1 Message-ID: FourThought LLC (http://FourThought.com) announces the release of 4DOM 0.9.1 ----------------------- An XML/HTML Python library using the Document Object Model interface 4DOM is a Python library for XML and HTML processing and manipulation using the W3C's Document Object Model for interface. 4DOM implements DOM Core level 2, HTML level 2 and Level 2 Document Traversal. 4DOM should work on all platforms supported by Python. If you have any problems with a particular platform, please e-mail the authors. 4DOM is designed to allow developers rapidly design applications that read, write or manipulate HTML and XML. 0.9.1 News ---------- This is a bug-fix release. 0.9.0 Changes ------------- - Major re-write to match the general consensus DOM binding for Python. Code formerly in the form "node.getChildNodes()" is now to be used in the form "node._get_childNodes()" or simply "node.childNodes". Similarly "text.setData("spam")" becomes "text._set_data("spam")" or text.data = "spam" - Update to full Level 2 support in core and HTML, including namespace-support. - Many bug-fixes More info and Obtaining 4DOM ---------------------------- Please see http://FourThought.com/4Suite/4DOM Or you can download 4DOM from ftp://FourThought.com/pub/4Suite/4DOM 4DOM is distributed under a license similar to that of Python. == Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org

4DOM 0.9.1 - CORBA-aware implementation of the W3C Document Object Model (DOM), supports Fnorb, ILU and "ORB-less" operation. (04-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From uche.ogbuji@fourthought.com Wed Jan 12 07:05:25 2000 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: Wed, 12 Jan 00 07:05:25 GMT Subject: 4XPath and 4XSLT 0.8.1 Message-ID: FourThought LLC (http://FourThought.com) announces the release of 4XSLT and 4XPath 0.8.1 ---------------------- A python implementation of the W3C's XSLT language 4XSLT is an XML transformation processor based on the W3C's specification for the XSLT transform language. 4XPath implements the W3C XPath language for indicating and selecting XML document components. http://www.w3.org/TR/xslt 4XPath implements the full 4XPath recommendation except for the 'lang' core function. Currently, 4XSLT supports a sub-set of the XSLT recommendation including the following: Full expression support and attribute-value template expansion xsl:include xsl:import xsl:template xsl:apply-imports xsl:apply-templates xsl:copy xsl:call-template xsl:if xsl:for-each xsl:choose xsl:element xsl:when xsl:attribute xsl:otherwise xsl:text xsl:message xsl:value-of xsl:variable xsl:processing-instruction xsl:param xsl:comment xsl:with-param xsl:strip-space xsl:key xsl:preserve-space xsl:copy-of xsl:sort xsl:namespace-alias xsl:output and, of course, xsl:stylesheet, xsl:transform, literal elements and text Using the xml output method, 4XSLT produces the result tree by throwing events from the emerging SAX 2 standard to a handler, so it can be easily modified to supply results to any SAX 2 consumer. For the 'html' and 'text' output methods special SAX consumers produce HTML DOM nodes and plain text respectively. News ---- Changes in 0.8.1 ---------------- - 4XSLT implements xsl:xsl:sort and xsl:namespace-alias - 4XSLT now implements template priorities - 4XPath now has a clear DOM-query interface - many big-fixes and more extensive testing Changes in 0.8.0 ---------------- - 4XSLT implements xsl:output - Fixes to namespace handling - support lteral element as entire style-sheet - update to latest 4DOM interface - many big-fixes and more extensive testing More info and Obtaining 4XPath and 4XSLT ---------------------------------------- Please see http://FourThought.com/4Suite/4XPath http://FourThought.com/4Suite/4XSLT Or you can download 4XSLT from ftp://FourThought.com/pub/4Suite/4XPath ftp://FourThought.com/pub/4Suite/4XSLT 4XPath and 4XSLT are distributed under a license similar to that of Python. == Uche Ogbuji FourThought LLC, IT Consultants uche.ogbuji@fourthought.com (970)481-0805 Software engineering, project management, Intranets and Extranets http://FourThought.com http://OpenTechnology.org

4XSLT 0.8.1 - XML transformation processor based on the W3C specification for the XSLT transform language. (04-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From michael.stroeder@inka.de Wed Jan 12 07:07:09 2000 From: michael.stroeder@inka.de (Michael =?iso-8859-1?Q?Str=F6der?=) Date: Wed, 12 Jan 00 07:07:09 GMT Subject: web2ldap.py 0.6.4: WWW gateway for accessing LDAP servers Message-ID: HI! I would like to announce a new version of web2ldap (formerly known as ldap-client-cgi.py), a full-featured LDAPv2 client written in Python designed to run as a CGI-BIN under the control of a WWW server.  It's available for free (GPL) from http://www.web2ldap.de/ There's also a working demo there. I would like to encourage people to give feedback about the usability of this program. Ciao, Michael. Changes since 0.6.2: - Some minor enhancements of user interface - Fixed a basedn-related bug in smart login search - Added automatically start of CGIHTTPServer.py if web2ldap.py is invoked from command-line (only Unix up to now). Changes since 0.5.8: - enhanced user interface Changes since 0.5.6: - some code cleaning / bug fixing - enhanced direct handling of UTF-8 input/output more conform to HTML4 standard - new feature: for each host a dictionary with DNs as keys can be created to define the default objectclass and attribute for forming DNs for subordinate entries (see example in cgi-bin/web2ldapcnf.py under host ldap.ms.inka.de). This is handy in situations where unexperienced users have to add entries without knowing how to form a new DN. Changes since 0.5.3: - some code cleaning / bug fixing in login procedure - some small performance enhancements - direct output of UTF-8 if browser sends UTF-8 in HTTP_ACCEPTED_CHARSET (e.g. like Netscape Communicator 4.5x does) - fixed problems with being too case sensitive in modify - some small improvements in user interface

web2ldap.py 0.6.4 - LDAP web client; several enhancements. (06-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From akuchlin@mems-exchange.org Wed Jan 12 07:15:40 2000 From: akuchlin@mems-exchange.org (Andrew M. Kuchling) Date: Wed, 12 Jan 00 07:15:40 GMT Subject: Oedipus v0.05 released Message-ID: Version 0.05 of the Oedipus package for maintaining a hierarchical database of Web links has been released. (This package was originally called the ODP package, but the new name is more memorable.) Oedipus is a Python package for creating and maintaining hierarchical trees of Web links. An XML format compatible with the Open Directory Project (ODP) is supported; refer to www.dmoz.org for more information about the ODP. In theory, you can load the entire ODP's database and make it available using Oedipus; in practice, I haven't yet verified that the code scales up to that amount of data. A prototype Zope product is included in the package that allows browsing through an Oedipus database. Versions 0.03 and 0.04 were never announced anywhere, so the list of changes from 0.02 is significant: * Scalability has been improved; while I still haven't processed the whole ODP dataset, I've done the 75Mb structure file, and an unknown chunk of the content file. It stopped when I got bored, not when the script crashed. :) * The code no longer require the XML-SIG's parser package; now it can use xmllib.py to parse input data. * Rearranged the Database class to use Metakit to store the data. It should still be possible to implement different persistence methods, such as Zope's BTree object or GDBM, but I don't feel much of a need to do that. Accordingly, the GDBM and ZODB classes have been dropped. * Lots of other classes were rearranged, too. * The code can now be installed using the Distutils. Oedipus can be downloaded from http://www.mems-exchange.org/software/python/oedipus/ . == A.M. Kuchling http://starship.python.net/crew/amk/ Two things I learned for sure during a particularly intense acid trip in my own lost youth: (1) everything is a trivial special case of something else; and, (2) death is a bunch of blue spheres. -- Tim Peters, 1 May 1998

Oedipus v0.05 - a Python package for creating and maintaining hierarchical trees of Web links; supports an XML format compatible with the Open Directory Project (ODP); uses the Metakit database for storage. (06-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From neelk@alum.mit.edu Wed Jan 12 07:17:13 2000 From: neelk@alum.mit.edu (Neel Krishnaswami) Date: Wed, 12 Jan 00 07:17:13 GMT Subject: Multimethod.py -- multimethods in Python Message-ID: I'd like to announce the existence of Multimethod.py, a package that implements real (eg, CLOS/Cecil/Dylan) multimethods for Python. These are nifty for oodles of reasons, but some of the more significant are: o They make the Visitor and Strategy patterns trivial to implement. o The whole "binary method/double dispatch" problem goes away, thus promoting loose coupling and other software-engineering buzzwords. o They resolve the whole contravariance/covariance debate so totally it's hard to remember what the problem was. You can find it on my webpage at: It should work out of the box on CPython 1.5.2, and Jpython if Jpython has lists that support the insert() method. I don't know about Viper, since Viper apparently has a rather different type system from vanilla Python, but it should be easy to port, though. The current version is quite rough, with lame algorithms used in a couple of places and very substandard documentation. But it all works, and is quite usable for experimentation and learning. (Incidentally, is this the sort of thing that should go on the types-sig?) Neel

Multimethod.py - support for real (i.e. CLOS/Cecil/Dylan-style) multimethods for Python. (07-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From gp.ciceri@acm.org Wed Jan 12 07:18:31 2000 From: gp.ciceri@acm.org (g.p.ciceri) Date: Wed, 12 Jan 00 07:18:31 GMT Subject: pyFinancials-0.66: a collection of financial algorithms Message-ID: Hello all, I've just upload on Starship a little collection of financial algorithms. In this release there is stuff for: - Cash Flow (IRR) - Basic Option Pricing - Binomial Option Pricing - Finite Difference - Option Price MC Simulation - Futures Algorithms - Bonds Algorithms - General Simulation - Term Structure Algorithms - Fixed Income Modelling You can find it at http://starship.python.net/~zanzi/pyFinancials-0.66.tgz It's released under GPL/LGPL. Enjoy /gp == "If one advances confidently in the direction of his dreams, and endeavors to live the life which he has imagined, he will meet with a success unexpected in common hours." (Thoreau, "Walden") Gian Paolo Ciceri Via B.Diotti 45 - 20153 Milano MI ITALY mobile : ++39 347 4106213 eMail : gp.ciceri@acm.org webSite: http://www.tialabs.com

pyFinancials-0.66 - a little collection of financial algorithms. (07-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From news@dorb.com Wed Jan 12 07:20:39 2000 From: news@dorb.com (Darrell) Date: Wed, 12 Jan 00 07:20:39 GMT Subject: XMLTreeCntrol 0.1 Message-ID: I mentioned my xmlP tree control as a code example and started getting lots of hits. But it wasn't really in any shape for public consumption. I fixed a couple of things and packaged all the required files into a zip. http://www.dorb.com/darrell/xmlP/ Also a screen shot http://www.dorb.com/darrell/xmlP/scrn.jpg the numbers to the right are the line number. It will view anything with tags in it. Things like this aren't handled: 18" ]]> That came from the Zope site, so I have some more work todo someday. If you have wxPython it should work at least as good as it does for me. == --Darrell

XMLTreeCntrol 0.1 - a simple graphical XML tree control for wxWindows/wxPython. (08-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From gmcm@hypernet.com Wed Jan 12 07:21:55 2000 From: gmcm@hypernet.com (Gordon McMillan) Date: Wed, 12 Jan 00 07:21:55 GMT Subject: Installer - Linux beta 01, Windows beta 3f Message-ID: The new betas are available at: http://starship.python.net/crew/gmcm/distribute.html The Windows beta is bug fixes: - run from CDROM works - some path problems fixed - some case-mismatch problems fixed The Linux beta is the first release for this platform. It includes these capabilities: - turning a script into an isolated single-directory installation - building compressed Python code archives - building zip-like archives that can contain anything (Actually, the latter two capabilites should work on any Unix platform). Installations created this way are completely insulated from any Python installations on the target machine. There is no problem using shared extension modules; these will be detected and made part of the installation. License: Python style (do as thou wilt; maintain copyright notices). Contact: gmcm@hypernet.com

Installer: Linux beta 01, Windows beta 3f - distribute Python apps, modules and packages easily; available under Python-style license. (08-Jan-2000) - Gordon -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From ap096@po.cwru.edu Wed Jan 12 07:23:24 2000 From: ap096@po.cwru.edu (Kevin Dahlhausen) Date: Wed, 12 Jan 00 07:23:24 GMT Subject: Updated pyFLTK - FLTK Wrappers Message-ID: pyFLTK is a wrapper for the Fast-Light Toolkit - a cross platform GUI library. The wrapper also includes a program to convert the FLTK GUI designer output to Python code. The library is available at: http://fltk.netpedia.net/ Bowser's now have preliminary data support, flconvert (Fluid GUI Builder to Python) is now a program and supports scoped identifiers. Hello World with a Cancel Button looks like this: from fltk import * import sys def theCancelButtonCallback(ptr): sys.exit(0) window = Fl_Window(100, 100, 200, 90, sys.argv[0]) button = Fl_Button(9,20,180,50,"Hello World") button.callback(theCancelButtonCallback) window.end() window.show(len(sys.argv), sys.argv) Fl.run() Recent Changes: ---------------------- 1/11/00 KPD completed install-python option 1/8/00 KPD fixed test/boxtype.py, test/PyAppWithGUI added to INSTALL file 1/7/00 KPD added flconvert support for declarations and classes added ifdef Python sentries to browser changes added demo runner test/demos.py fixed browser data bug 1/6/00 KPD added data support to browser, still needs some work to handle arbritary script object types 1/4/00 KPD updated README reorganized notes added test/PyAppWithGUI changed fluid parser to allow scoped indentifiers 12/29/99 KPD fixed Python Menu callback bug - menus weren't using the new CallBackStruct fixed MS-Windows build fixed function return values in src/Fl_Wrapper in swig/py_timeout.i: MS VCC couldn't handle pointer initializaition, had to change to assignment removed default paramter value from contrib/Check_Browser.cc removed test/arc.py because it can't work with the current system - no way to subclass a widget in Python yet 11/19/99 KPD fixed Python Fl_Widget callbacks to make them work with data

pyFLTK 11-Jan-2000 - Python wrapper for the FLTK lightweight, good looking, easy-to-use C++ cross-platform (UNIX/Win32) GUI library. (11-Jan-99) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From sketch@online.de Wed Jan 12 07:24:04 2000 From: sketch@online.de (Bernhard Herzog) Date: Wed, 12 Jan 00 07:24:04 GMT Subject: Sketch 0.6.4 - A Vector Drawing Program Message-ID: Sketch 0.6.4 - 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. Despite the low version number, it already 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. News: ----- This is mainly a bug-fix release. Summary of the Changes since 0.6.3: * Bug fixes, most notably for the EPS-related bug in Sketch's PostScript prolog. * Updated Spanish translations * More color icons * The mkfontdb.py script can also generate Fontmap files now Please also note that Sketch has moved to a new location: http://sketch.sourceforge.net/ Homepage: --------- http://sketch.sourceforge.net/ Features: --------- o Drawing primitives: o Rectangles o Ellipses o Bezier curves o Bitmap images: JPEG, GIF,... (all types the Python Imaging Library can read) o Encapsulated PostScript o Text o All objects, including images and text, can be rotated, scaled, sheared, etc. (all affine transformations are possible) o Gradient fills o Special Effects and Features: o Use rectangles, ellipses and bezier objects as guides o Blend Groups: Automatically updated interpolations of arbitrary objects o Text can be converted to bezier objects. o Text along Path o Exports Encapsulated PostScript, SVG and Adobe Illustrator files o Imports Adobe Illustrator, Corel CMX, SVG, XFig and WMF files o Fully scriptable in Python For more information, have a look at the Sketch webpage. License: -------- Sketch is released under GNU Library General Public License.

Sketch 0.6.4 - a vector drawing program for Unix written in Python. (11-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From pauldubois@home.com Wed Jan 12 07:29:46 2000 From: pauldubois@home.com (Paul F. Dubois) Date: Wed, 12 Jan 00 07:29:46 GMT Subject: Pyfort-3.0 Message-ID: Pyfort 3.0, the Python-Fortran connection tool, is available at ftp://ftp-icf.llnl.gov/pub/python/Pyfort-3.0.tgz. Documentation is included. News: Pyfort uses Distutils (www.python.org/sigs/distutils-sig) both to install itself and to build and install extensions built with Pyfort. There are many new features to control the behavior of the tool, including provisions for optional automatic transposing, reversed-shape Fortran arrays, and valued scalars. A valued scalar is an integer argument to a Fortran routine that determines all or part of the shape of another argument. This fact can now be declared in the input. For example, if Fortran routine foo has arguments foo (n, x), where x is a real array of length n, you have the option to declare this as: subroutine foo (n, x) integer n = size(x) real x(n) end (size is the F90 intrinsic, and can take a second argument to indicate the dimension if x has more than one) Then the Python user would call foo as foo(x), and not need to specifiy the redundant information that n is x's length. Some persons do not want any of the features mentioned. They may rest assured that declaring all arguments intent(inout) will result in what some have called a "raw" interface. REFERENCE:

Pyfort 3.0 - Fortran/Python Connection Tool. (11-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From mike@digicool.com Fri Jan 21 10:12:31 2000 From: mike@digicool.com (Mike Pelletier) Date: Fri, 21 Jan 00 10:12:31 GMT Subject: Zope Weekly News - Wed, 12 Jan 2000 Message-ID: G'day, Zope Weekly News is a digest of some of the useful and interesting events which have occurred on the various Zope mailing lists and the Zope.org site. It is published each Wednesday evening. Any opinions contained in the Zope Weekly News are those of the chronicler exclusively. Suggestions for ZWN items are happily accepted. Please mail them to , put 'ZWN' somewhere in the subject and remember to include URLs. Announcements * Hadar Pedhazur announced on the Zope mailing list that Digital Creations and Zope will have a presence at the Linux WorldExpo in February. This is thanks to Tucows.com graciously sharing their booth. http://lists.zope.org/pipermail/zope/2000-January/016931.html * Andrew M. Kuchling announced the release of version 0.05 of the Oedipus package. Oedipus is a Python package for creating and maintaining hierarchical trees of Web links. A prototype Zope product is included in the package that allows browsing through an Oedipus database. http://www.mems-exchange.org/software/python/oedipus/ * "tseaver" noticed an updated review of Zope by Linux Planet and passed along the link. This is the review that appeared about two weeks ago, with the same ultimate conclusions but with some reporting errors corrected and the "Response from Digital Creations." http://www.linuxplanet.com/linuxplanet/reviews/1319/1/ New Products * "johanc" submitted "XMLRPC Client for Internet Explorer 5". It has been released as a part of the Zope Internet Explorer project, which aims to build a rich interface to Zope around Internet Explorer 5. http://www.zope.org/Members/johanc/ZIE/xmlrpc_client Updates * "rossl" updated the LDAPAdapter Product. This product allows you to authenticate user against data stored on an LDAP server. The current version is 0.95. http://www.zope.org/Members/rossl/LDAPAdapter Zope.org items * "Bill" wrote a How-To, titled "Conditional SQL How-To available" which describes how to construct a ZSQLMethod with a dynamic query. http://www.zope.org/Members/Bill/Documentation/ConditionalSQL * "anthony" has composed a very good How-To, "Choosing to store data in SQL vs ZODB", which discusses the relative merits and drawbacks of using Zope's native database and using an external SQL database to store data. http://www.zope.org/Members/anthony/sql_vs_ZODB * "gwachob" has contributed a beginner level How-To about DTML scripting, "Making Folder Directory Listings". In it, he describes the DTML needed to generate a dynamic list of certain kinds of objects in a folder. http://www.zope.org/Members/gwachob/directorylisting Notable Discussions * Nico Grubert is looking for ideas for fairly substantial (20-40 pages) tutorials. Suggestions so far: News site app with workflow, a shopping cart app, and methods for handling file uploads. http://lists.zope.org/pipermail/zope/2000-January/016594.html * Steve Jibson developed a large ZClass, and then needed to change the ZClass's base classes. Not wanting to have to rebuild his ZClass from scratch, he asked the list for alternatives. Several are offered. http://lists.zope.org/pipermail/zope/2000-January/016627.html == Mike Pelletier. -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From ajung@sz-sb.de Fri Jan 21 10:15:40 2000 From: ajung@sz-sb.de (Andreas Jung) Date: Fri, 21 Jan 00 10:15:40 GMT Subject: - PyRecode Message-ID: I am happy to announce the availability of PyRecode. PyRecode is a wrapper around the functionality of Recode. Recode is a tool (under GPL) for converting text from one character set to another one. Recode is very useful when you are working with texts in different formats, languages and character sets. The sources are available from http://www.suxers.de/PyRecode.tgz At the moment it has been only tested under Linux, Python 1.5.2 and recode 3.5. More platforms will follow soon. Cheers, Andreas Jung

PyRecode (click to download .tar.gz file) - wrapper around the functionality of the GNU Recode character set conversion tool. (13-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From calvin@studcs.uni-sb.de Fri Jan 21 10:16:34 2000 From: calvin@studcs.uni-sb.de (The Dude) Date: Fri, 21 Jan 00 10:16:34 GMT Subject: pylice 0.4.3 Message-ID: With pylice you can check your HTML documents for broken links. Pylice checks recursively and multithreaded. Output can be HTML, colored or normal text. Pylice is licensed under the GNU Public License. URL: http://fsinfo.cs.uni-sb.de/~calvin/software/ EMAIL: calvin@cs.uni-sb.de

pylice 0.4.3 - checks your HTML documents for broken links. (14-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From gvwilson@nevex.com Fri Jan 21 10:18:48 2000 From: gvwilson@nevex.com (Greg Wilson) Date: Fri, 21 Jan 00 10:18:48 GMT Subject: Open Source Design Competition - Software Carpentry Message-ID: Los Alamos National Laboratory CodeSourcery, LLC Software Carpentry http://www.software-carpentry.com Open Source Design Competition $100,000 in Prizes! ---------------------------------------------------------------------- The Software Carpentry project is pleased to announce its first Open Source design competition, with prizes totaling $100,000. Students and professionals from any country, working individually or in teams, are invited to submit design outlines for: * a platform inspection tool to replace autoconf; * a dependency management tool to replace make; * an issue tracking system to replace gnats and Bugzilla; and * a unit and regression testing harness with the functionality of XUnit, Expect, and DejaGnu. The best four entries in each category will be awarded $2500, and invited to submit full designs by June 1, 2000. The best design in each category will then receive an additional $7500, while runners-up will each receive $2500. Once winning designs have been announced, $200,000 will be available through open bidding for implementation, testing, and documentation. Participants may submit separate entries in one or more categories by March 31, 2000. Entries must be in English, and no more than 5000 words long. For more information, see the Software Carpentry web site at http://www.software-carpentry.com. All of the project's work will be Open Source; all tools will be written in, or scriptable with, Python, and will be required to run on both Linux and Microsoft Windows NT. The competition will be judged by a panel that includes the following noted software developers, authors, and computational scientists: Stephen Adler Brookhaven National Laboratory Frank Alexander Los Alamos National Laboratory Donnie Barnes Red Hat Chris DiBona VA Linux Paul Dubois Lawrence Livermore National Laboratory Andrew Hunt Pragmatic Programmers, LLC Stephen R. Lee Los Alamos National Laboratory Josh MacDonald University of California, Berkeley Brian Marick Reliable Software Technologies Doug Mewhort Queen's University Bruce Perens co-founder of the Open Source Initiative Dave Thomas Pragmatic Programmers, LLC Jon Udell author of Practical Internet Groupware Guido van Rossum inventor of Python Tom Van Vleck TransIlluminant Phil Wadler Bell Labs Scot Wingo AuctionRover ---------------------------------------------------------------------- The Software Carpentry project is sponsored by the Advanced Computing Laboratory at the U.S. Department of Energy's Los Alamos National Laboratory (http://www.acl.lanl.gov), and administered by CodeSourcery, LLC (http://www.codesourcery.com). The project's aim is to encourage adoption of better software development practices by making software tools easier to use, and by documenting design, testing, and related activities. For more information on the project, or to let us know that you intend to submit a proposal, see http://www.software-carpentry.com, or mail info@software-carpentry.com. -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From jloisel@excite.com Fri Jan 21 10:22:06 2000 From: jloisel@excite.com (=?iso-8859-1?Q?J=E9r=F4me_Loisel?=) Date: Fri, 21 Jan 00 10:22:06 GMT Subject: linkdl! 0.2 (module for linked lists) Message-ID: Hello all! I am happy to announce the widely-anticipated v.0.2 release of linkdl! (My brother and ex-girlfriend were *really* looking forward to it! :-)) linkdl stands for LinkedLists. linkdl is a module providing a LinkedLists data types. That data type allows you to create, modify and view lists which are to remain linked both vertically and horizontally. Think of it as a rudimentary spreadsheet (without an UI, of course...). It keeps rows and columns, and sorts along either the rows or the columns. (I am actually quite happy with the sorting: if there are ties, linkdl looks to the next row or column to resolve them, up to the last row or column... Hmmm... Well, *I* think it's pretty cool. :-)) The following is the main __doc__ string. Please do tell me if you look at the code. As this is my first mostly serious module, I would very much appreciate any feedback. linkdl seems to work quite well, but I have only done basic testing. You should also be aware that it is not optimized and will probably only offer mediocre performance under very heavy loads. Cheers, and happy coding! Jérôme Loisel http://linkdl.sourceforge.net/ (or, if your DNS has not caught it yet...) http://sourceforge.net/project/?group_id=1460 [Moderator's note: the module source code originally included here has been removed due to bandwidth considerations.]

linkdl 0.2 - a linked lists module for Python. (15-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From pauldubois@home.com Fri Jan 21 10:23:25 2000 From: pauldubois@home.com (Paul F. Dubois) Date: Fri, 21 Jan 00 10:23:25 GMT Subject: Numerical Python now at SourceForge Message-ID: We are in the process of moving Numerical to SourceForge, a service provided by VA Linux for Open Source software projects. Here are some of the things you can do: 1. Visit the Numerical Python web page, http://numpy.sourceforge.net. A link on that page will direct you to the Numerical Python Project pages, where you will find downloads, read about and report bugs, and browse the CVS source tree. 2. Using CVS, you can check out a the latest source by using the following instructions. cvs -d:pserver:anonymous@cvs.numpy.sourceforge.net:/cvsroot/numpy login When prompted for a password for anonymous, simply press the Enter key. cvs -z3 -d:pserver:anonymous@cvs.numpy.sourceforge.net:/cvsroot/numpy co Numerical Later updates from within the module's directory do not need the -d parameter. Official releases are as shown on the project page. By using the latest source via anonymous CVS, you are getting both the latest bug fixes and the latest accidently-introduced bugs. Cavaet downloader. 3. Currently 3 people are enabled as developers: David Ascher, Travis Oliphant, and myself. Once we are a little more setttled in we will be open to adding developers. 4. Once you have the source tree you can make a compressed tar file for moving to other machines by executing, in the Numerical directory, python setup.py dist To avoid confusion, we suggest that you rename the file produced so that it does not match the official release number. Or, you can change that number in setup.py. This feature requires your Python have Distutils installed (http://www.python.org/sigs/distutils-sig). Note: if you browse the CVS tree you will see a top-level directory "numpy" but there are no files underneath. This was the result of an early error and when we can figure out how to destroy it, we will. The module you want is "Numerical". The SourceForge homepage (http://sourceforge.net) will lead you to some CVS documentation if you are unfamilar with it. Note: all other LLNLDistribution modules are still in LLNLDistribution11.tgz, available via xfiles.llnl.gov. Over the next month or two we will be moving these to new homes. The xfiles machine itself has become somewhat unstable and the server often dies on weekends. Security changes will require us to move everything anyway, so this is a good time for some housekeeping. In the meantime, please be patient with us. This change does not mean that LLNL has lessened its involvement with Python or its commitment to supporting Numerical. The intent is just to move the project forward by opening up the development process. Fortuitously, SourceForge has sprung full-blown from the brow of Zeus -- or maybe it just seems that way to me.

Numerical Python - Numerical facility for Python, now hosted at SourceForge. (16-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From sspitzer@sspitzer.org Fri Jan 21 10:25:22 2000 From: sspitzer@sspitzer.org (sspitzer@sspitzer.org) Date: Fri, 21 Jan 00 10:25:22 GMT Subject: yahootochannel.py 1.0 Message-ID: yahootochannel.py is a python cgi that turns yahoo webmail status (how many new messages you have in your yahoo webmail acocunt) into a netcenter channel. three simple setps 1) add the level 1 .yahoo.com cookies to the cgi 2) host the cgi on a website 3) go to http://my.netscape.com/publish and create a my.netscape.com channel here's the script: http://www.sspitzer.org/netcenter/yahootochannel.py -Seth == http://www.sspitzer.org

yahootochannel.py 1.0 (click to download script) - a Python CGI script that turns Yahoo webmail status (how many new messages you have in your Yahoo webmail acocunt) into a Netcenter channel. (16-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From fredrik@pythonware.com Fri Jan 21 10:31:13 2000 From: fredrik@pythonware.com (Fredrik Lundh) Date: Fri, 21 Jan 00 10:31:13 GMT Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 19) Message-ID: Last chance to register on-line for the Eighth International Python Conference: http://www.python.org/workshops/2000-01/ The Software Carpentry announces a Python-oriented open source design competition with $100,000 in prize money (!): http://www.deja.com/getdoc.xp?AN=572973351 http://www.software-carpentry.com The May 2000 issue of Linux Journal is going to be accompanied by a special edition Python Supplement! Sign up for your free copy at: http://www.linuxjournal.com/python On the newsgroup: Edward Welbourne proposes a unified namespace system: http://www.deja.com/viewthread.xp?AN=573542571 http://www.chaos.org.uk/~eddy/dev/toy/python2.html Manuel Gutierrez Algaba has started a python web ring. Sign up your python pages here: http://www.ctv.es/USERS/irmina/pythonring.html Mark Adler announces an IDE in progress: VIPER (Visually Integrated Python EnviRonment) http://www.PinehillProducts.com Markus F.X.J. Oberhumer releases pysol 3.20 (now supports 151 distinct solitaire games!): http://pysol.tsx.org Mark Lutz teams up with Perl folks to offer Python training for anyone. Next session in February: http://rmi.net/~lutz/boulder-classes.html Seen on the net: Andrew Kuchling looks at some of the recent Python books: http://starship.python.net/crew/amk/python/writing/books.html ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the center of Pythonia http://www.python.org Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ 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 trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. http://www.egroups.com/list/python-url-leads/ 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 -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From lutz@rmi.net Fri Jan 21 10:31:24 2000 From: lutz@rmi.net (Mark Lutz) Date: Fri, 21 Jan 00 10:31:24 GMT Subject: Python training in Boulder Message-ID: I'm pleased to announce an upcoming Python training session, to be held in Boulder, Colorado, February 15-17. This class is open to individuals, and will be filled on a first-come first-served basis. Come learn about an exciting object-oriented scripting language, and enjoy the beautiful Rocky Mountain region during your stay. More information can be found at this page: http://rmi.net/~lutz/boulder-classes.html I am the instructor for this class, but all administrative support is being provided by Tom Christiansen's training organization. A second session is tentatively set for May. --Mark Lutz -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From tismer@tismer.com Fri Jan 21 10:33:47 2000 From: tismer@tismer.com (Christian Tismer) Date: Fri, 21 Jan 00 10:33:47 GMT Subject: Stackless Python 1.0 + Continuations 0.6 Message-ID: ANNOUNCING: Stackless Python 1.0 A Python Implementation That Does Not Use The C Stack * plus the real toy * Continuation Module 0.6 Continuations as First Class Objects What is it? A plugin-replacement for core Python. It should run any program which runs under Python 1.5.2 . But it does not need space on the C stack. Why did I write it? Stackless Python was never written before (afaik), since it was said to be impossible without major rewrites of core Python. I have proven the controverse: It is easy to write, just hard to think. About 3 times harder was finally the continuation module. The whole project took about 6 man months where 80 percent of the time was thinking and trying. The rest was coding and to become a reference counting champion :-) Recent changes: Version 1.0 has been optimized like hell and is now 3-5 percent faster than Standard Python. Continuation module is in version 0.6, very stable, and it allows to save a program's "future" at any time, in a portable way. Continuations are callable Python objects with a very small footprint. Who needs it? Since the continuations are done, this is no more only useful for C programmers who want to try certain new ideas. Everybody who is interested to develop his own generators, coroutines and tiny threads is invited to check it out. Status of the final 1.0: Pystone works correctly and is 5% faster than standard Python. Version 0.3 was 10 percent slower. Continuations work with PythonWin and Idle. The overall result is now better than expected, and I'm happy to call this *FINAL* (until the next version of course:) Downloadable files can be found at http://www.tismer.com/research/stackless/ Some older documentation: http://www.tismer.com/research/stackless/stackless.htm Some better documentation can be found in my IPC8 paper: http://www.tismer.com/research/stackless/spc_final.zip or be read directly as HTML http://www.tismer.com/research/stackless/spcpaper.htm Source code and a VC++6.0 build for Windows (340K): http://www.tismer.com/research/stackless/spc_win32.zip cheers - chris == Christian Tismer :^) Applied Biometrics GmbH : Have a break! Take a ride on Python's Kaiserin-Augusta-Allee 101 : *Starship* http://starship.python.net 10553 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF we're tired of banana software - shipped green, ripens at home

Stackless Python 1.0 + Continuations 0.6 - a version of Python 1.5.2 that does not need space on the C stack, and first-class callable continuation objects for Python. (20-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From amk1@erols.com Fri Jan 21 10:29:43 2000 From: amk1@erols.com (A.M. Kuchling) Date: Fri, 21 Jan 00 10:29:43 GMT Subject: Cryptography modules now available worldwide Message-ID: The US government has recently made various relaxations to the export control policies applied to encryption software, particularly when the source code is available. As a result, the Python cryptography modules are now available world-wide, with no CGI script or other foolery required to download them. The URL is: ftp://starship.python.net/pub/crew/amk/crypto/ This is not a new release of the code, and the modules are still no longer maintained. Do *not* write new software that uses them, because I was young and stupid when I wrote them, so their design is poor in several ways. Instead, now that I'm slightly older :), I advise you to should use mxCrypto or M2Crypto instead. This release is mostly of historical interest; people outside the US working on crypto code can now check their compatibility with my original modules. == A.M. Kuchling http://starship.python.net/crew/amk/ I can see you've been doing the TARDIS up a bit. I don't like it. -- The second Doctor, in "The Three Doctors"

Cryptography modules now available worldwide - re-release of (historical) crypto modules; may now be downloaded world-wide due to relaxed US export control policies; however, please use mxCrypto or M2Crypto for new projects instead. (17-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From markus.oberhumer@jk.uni-linz.ac.at Fri Jan 21 10:30:58 2000 From: markus.oberhumer@jk.uni-linz.ac.at (Markus F.X.J. Oberhumer) Date: Fri, 21 Jan 00 10:30:58 GMT Subject: PySol 3.20 - a solitaire game collection Message-ID: -----BEGIN PGP SIGNED MESSAGE----- PySol - a Solitaire Game Collection Version 3.20 http://pysol.tsx.org Copyright (C) 1998, 1999, 2000 Markus F.X.J. Oberhumer What is PySol ? =============== PySol is an exciting collection of 151 solitaire card games. Among the supported games are classics like Aces Up, Baker's Game, Canfield, FreeCell, Forty Thieves, Golf, Klondike, Monte Carlo, Osmosis, Pyramid, Scorpion, Spider, Yukon, and many more... PySol may be freely distributed under the terms of the GNU GPL. PySol aims to be Commercial Quality Freeware. Why yet another solitaire game ? ================================ Here are some highlights of PySol: - freely available - distributed under the GNU GPL with full source code - currently supports 151 (!) distinct solitaire variants - based upon an extensible solitaire engine - very nice look and feel including multiple cardsets and background table tiles - unlimited undo & redo - load & save games - player statistics and log files - hint system - demo games - support for user written plug-ins - add your own solitaire variants - integrated HTML help browser - lots of documentation - fully portable across Unix/X11, Windows 95/98/NT and MacOS - written in 100% pure Python - just run it - no need to compile anything Nice. And what's new ? ======================= * Added 8 Hanafuda type games (Oonsoo, Pagoda, MatsuKiri, ...) Many thanks to T. Kirk. * Added 2 Poker type games (Poker Shuffle, Poker Square) * Added 13 other new games (Der Katzenschwanz, Perpetual Motion, Die Schlange, Three Shuffles and a Draw, Vegas Klondike, ...) * Background music now is supported under Win32 as well. * Added 2 cardsets to the PySol-Cardsets collection. Cool. Where can I get it ? ========================== Point your browser to http://pysol.tsx.org The PySol Gallery is awaiting your visit as well. What do I need to start playing ? ================================= PySol requires Python 1.5.2 and Tcl/Tk 8.0.5. Both packages are freely available for Unix, Windows 95/98/NT and Macintosh. The Windows version ships as a completely self-contained setup file. BTW, there is no need to compile anything since the whole program is just a Python script. Just run it, and that's all. License terms ============= PySol is Copyright (C) 1998, 1999, 2000 Markus Franz Xaver Johannes Oberhumer PySol is distributed under the terms of the GNU General Public License (GPL). See the file COPYING. Have fun, Markus http://pysol.tsx.org -----BEGIN PGP SIGNATURE----- Version: 2.6.3ia Charset: noconv iQCVAwUBOISZnm10fyLu8beJAQFb9AP8Dy5ejjFXjb6rxVuke4a1xdslmnG62kGx uckyKJJ1UHPxACj6esVE+GDASz/X5SH8fs0Rg8GkiLIKfE6VBoF8r7mfVJJ2dedm zoWJxlZDtT3435oCI7UQ4PrzLVszOIYbZ+RXJqX+AUAFoZsbOAvtjKws+HDqzCek 9ojKr6x+FOk= =ILMM -----END PGP SIGNATURE-----

PySol 3.20 - new version of Python Solitaire Games (using Tkinter); now supports 151 (!) distinct solitaire card game variants. (18-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From guido@CNRI.Reston.VA.US Tue Jan 25 20:05:45 2000 From: guido@CNRI.Reston.VA.US (Guido van Rossum) Date: Tue, 25 Jan 00 20:05:45 GMT Subject: Python Conference weather Message-ID: If you're traveling to the Python Conference, be advised that winter has finally arrived in the Washington, DC area. We're currently experiencing *high* temperatures of 22 degrees F (-6 degrees C); with the wind chill it will feel much colder. So be sure to pack warm clothes. Yesterday, about 6 inches of snow fell, disrupting air travel; more is expected on Sunday, so expect delays flying into DC. Local transportation should be fully operational, but may experience some delays. We've placed a weather advisory in the local section of the conference website: http://www.python.org/workshops/2000-01/local.html Over 250 people have registered for the conference. See you all there! --Guido van Rossum (home page: http://www.python.org/~guido/) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From mal@lemburg.com Tue Jan 25 20:06:31 2000 From: mal@lemburg.com (M.-A. Lemburg) Date: Tue, 25 Jan 00 20:06:31 GMT Subject: platform.py - Version 0.7.0 Message-ID: ANNOUNCING: platform.py - Version 0.7.0 A Python module providing platform information APIs. WHAT IT IS: platform.py was intially developed for the mxCGIPython project to automate the creation of file names including platform specific data for users to be able to recognize and download the appropriate Python interpreter binary for their (or their ISPs) setup. Since then the module has been extended and redesigned to provide a generic interface for querying platform information both in human readable form and for other application purposes through platform dependent special APIs. platform.py supports (at least) these setups: most Windows setups, MacOS, various Linux distributions, various Unices, OpenVMS, Java VM and DOS. WHAT'S NEW ? Version 0.7.0 is the first new version after the intial release and update cycles last year. WHERE CAN I GET IT ? Documentation is provided through doc-strings and many comments in the source code, which can be found via my Python Pages: http://www.lemburg.com/~python/ WHAT DOES IT COST ? It comes with a Python-style license, but is otherwise free for commercial and non-commercial use. WHERE CAN I GET SUPPORT ? Commercial support for all my packages, tools and other Python software will soon be available through my newly founded software company. Keep an eye open on this list for an announcement. REFERENCE:

platform.py 0.7.0 - generic platform information APIs. (22-Jan-2000) == Marc-Andre Lemburg ______________________________________________________________________ Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/ -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From tismer@tismer.com Tue Jan 25 20:08:14 2000 From: tismer@tismer.com (Christian Tismer) Date: Tue, 25 Jan 00 20:08:14 GMT Subject: Stackless 1.01 Homepage Message-ID: "Why should I care about this, isn't my Python fine"? If you know what Generators, Coroutines and Continuations are about and want to have them at your fingertips, this is the real thing for you. If not, how about speed? About 5 percent faster, binary compatible as a drop-in replacement for your python15.dll, unlimited recursion, why not give it a try? Just click on the installer :-) Stackless Python 1.01 with Continuations 0.6 can now be downloaded from a web page: http://www.tismer.com/research/stackless/ Fact sheet, links to documentation, source and binaries can be found there. Source and binary distribution have been split. The Windows binaries come with a Wise installer. SLP has been successfully compiled on Solaris (Thanks to Jeff Collins). It will be used on PalmIII, to solve the 4k stack problem. Version 1.01 is a small clean-up for non-Windows platforms.

Stackless Python 1.01 + Continuations 0.6 - a version of Python 1.5.2 that does not need space on the C stack, and first-class callable continuation objects for Python. (24-Jan-2000) Christian Tismer Mission Impossible 5oftware Team -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From claird@NeoSoft.com Tue Jan 25 20:09:09 2000 From: claird@NeoSoft.com (Cameron Laird) Date: Tue, 25 Jan 00 20:09:09 GMT Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 24) Message-ID: The 8th International Python Conference begins with much-below-freezing temperatures outside and an unprecedented growth of pre-registrants inside. Expect a *very* productive week http://www.python.org/workshops/2000-01/ Christian Tismer endows Python with continuations and co-rou- tines while trimming its stack and time weight. It's even promised for a Palm http://www.deja.com/=dnc/getdoc.xp?AN=576789536 John Grayson announces the appearance of the first book focused on Tkinter http://www.deja.com/=dnc/getdoc.xp?AN=575925861 Michael P. Reilly taxonomizes four distinct approaches to dealing with a pty http://www.deja.com/=dnc/getdoc.xp?AN=574772821 Aahz March provides an example of threading which is not only suitable for beginners but even useful for Web workers http://www.deja.com/[ST_rn=ps]/getdoc.xp?AN=570016307&fmt=text Edward Welbourne's excellent treatise on proper use of exceptions http://www.deja.com/=dnc/getdoc.xp?AN=575782124 Note Fred L. Drake's stylistic follow-up (not yet URLized) Michael Hudson and Tim Peters preach better Python through self-discipline http://www.deja.com/getdoc.xp?AN=576276046 jim kraai summarizes .ini knowledge beyond ConfigParser http://x35.deja.com/getdoc.xp?AN=576839546 Do your Python applications want to know operating system version information, which libc is in charge, how many processors are run- ning, and so on? M.-A. Lemburg provides answers http://starship.python.net/crew/lemburg/platform.py Telling testimony to Python's virtues (note the last sentence) http://www.deja.com/=dnc/getdoc.xp?AN=575774205 ======================================================================== Everything you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the center of Pythonia http://www.python.org Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ Python Consortium emerges as an independent nexus of activity http://www.python.org/consortium Python To-Do List anticipates some of Python's future direction http://www.python.org/cgi-bin/todo.py The Vaults of Parnassus ambitiously collects Python resources http://www.vex.net/~x/parnassus/ 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 trick of the trade: http://www.dejanews.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=threaded&showsort=date&maxhits=100&groups=comp.lang.python Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://purl.org/thecliff/python/url.html or http://www.dejanews.com/dnquery.xp?QRY=~g%20comp.lang.python%20Python-URL%21 Suggestions/corrections for next week's posting are always welcome. http://www.egroups.com/list/python-url-leads/ 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 -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From Brian@digicool.com Tue Jan 25 20:14:01 2000 From: Brian@digicool.com (Brian Lloyd) Date: Tue, 25 Jan 00 20:14:01 GMT Subject: Zope 2.1.3 released Message-ID: Hi all, Zope 2.1.3 has been released. This update contains fixes for a race condition that could cause Zope to hang on very high-traffic sites, two database packing bugs, and a bug that caused Zope to sometimes hang instead of shutting down when the shutdown function was accessed over a very fast network. You can get the 2.1.3 release from Zope.org: http://www.zope.org/Products/Zope/2.1.3/ Brian Lloyd brian@digicool.com Software Engineer 540.371.6909 Digital Creations http://www.digicool.com

Zope 2.1.3 - a free, open source web application platform used for building high-performance, dynamic web sites; bug-fix update. (24-Jan-2000) -- ----------- comp.lang.python.announce (moderated) ---------- Article Submission Address: python-announce@python.org Python Language Home Page: http://www.python.org/ Python Quick Help Index: http://www.python.org/Help.html ------------------------------------------------------------ From michael.stroeder@inka.de Tue Jan 25 20:14:52 2000 From: michael.stroeder@inka.de (Michael =?iso-8859-1?Q?Str=F6der?=) Date: Tue, 25 Jan 00 20:14:52 GMT Subject: web2ldap.py 0.6.6: WWW gateway for accessing LDAP servers Message-ID: HI! I would like to announce a new version of web2ldap, a full-featured LDAPv2 client written in Python designed to run as a CGI-BIN under the control of a WWW server.  It's available for free (GPL) from http://www.web2ldap.de/ There's a demo running on: http://sites.inka.de/ms/cgi-bin/web2ldap.py I would like to encourage people to give feedback about the usability of this program. Ciao, Michael. Changes since 0.6.5: - You might have guessed it: Bug hunting and code cleaning! - Better support and example for CSS Changes since 0.6.4: - Implemented modrdn. - Omnipresent button bar throughout the whole UI now (including error messages). - Direct input of LDIF data possible during adding or modifying entries (e.g. for binary data). - Display attributes of entry according to the schema categories (required, allowed, not matching). - Minor bugfixing and code cleaning. Finally you insert your blinky-winky HTML design: - Display entries with HTML template files depending on objectClass. - HTML clean-up to be hopefully SGML-conformant (and friendly to browsers). - Configuration parameters for complete tag. - ID params in important HTML tags for using CSS. - Configuration parameters for string placed in section (suitable for placing