From nieder@mail.ru Wed Jan 1 14:02:20 2003 From: nieder@mail.ru (Ricardo Niederberger Cabral) Date: 1 Jan 2003 06:02:20 -0800 Subject: ANN: imgSeek 0.3 released Message-ID: Hello, After some huge speed improvements, feature additions and bug fixes, I am proud to announce that imgSeek 0.3 is available for download at http://prdownloads.sourceforge.net/imgseek/imgSeek-0.3.tar.gz?download What is it? ----------- imgSeek is a photo collection manager capable of searching through an image database, in which the query is expressed either as a rough sketch painted by the user or as another image you supply (or an image in your collection) The searching algorithm makes use of multiresolution wavelet decompositions of the query and database images. Requires PyQT > 3.4. Generously hosted by SourceForge at http://imgseek.sourceforge.net/ Please report bugs, rants, feature wishes or code contributions to the email bellow. Regards, -- Ricardo Niederberger Cabral From kbk@shore.net Wed Jan 1 20:52:47 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: 01 Jan 2003 15:52:47 -0500 Subject: [Announce] IDLEfork 0.9a1 Released Message-ID: IDLEfork is an official experimental branch of Python's Integrated DeveLopment Environment, IDLE. The biggest change in IDLEfork is to execute Python code in a separate process, which is /restarted/ for each Run (F5) initiated from an editor window. This enhancement of IDLE has often been requested, and is now finally available. The magic "reload/import *" incantations are no longer required when editing/testing a module two or three steps down the import chain. The IDLE Debugger has been extended to support the new design, and its operation will be familiar to those who have used it previously. The breakpoint feature has been enhanced, and breakpoints are now persistent across IDLE sessions. When a module is open in an Edit window, its breakpoints are active. There is also a new GUI configuration manager which makes it easy to select fonts, colors, keybindings, and startup options. IDLEfork will be merged back into the Python distribution in the near future (probably at 2.3), replacing the current version of IDLE. For this reason we are interested in getting as much testing time as possible before the merge. As David Scherer aptly put it in the original IDLEfork README, "It is alpha software and might be unstable. If it breaks, you get to keep both pieces." If you find bugs let us know about them by using the IDLEfork Bug Tracker. See the IDLEfork home page at http://idlefork.sourceforge.net for details. Patches are always appreciated at the IDLEfork Patch Tracker, and Change Requests at the RFE Tracker at https://sourceforge.net/tracker/?group_id=9579&atid=359579 The distribution is available as a Windows Installer, as an RPM, and in source form as a .tar.gz. Please read the release notes (which include installation instructions) at Sourceforge. Thanks for trying IDLEfork. IDLEfork 0.9 Alpha 1 -------------------------------- Introduced the new RPC implementation, which includes a debugger. The output of user code is to the shell, and the shell may be used to inspect the environment after the run has finished. (In version 0.8.1 the shell environment was separate from the environment of the user code.) Introduced the configuration GUI and a new About dialog. Adapted to the Mac platform. Multiple bug fixes and usability enhancements. From jfontain@free.fr Thu Jan 2 09:19:31 2003 From: jfontain@free.fr (Jean-Luc Fontaine) Date: 2 Jan 2003 01:19:31 -0800 Subject: ANNOUNCE: tclpython-3.0 Message-ID: ### CHANGES ### --- version 3.0 --- - added the exec command - no longer requires a patched Python core library ### README ### tclpython version 3.0: a Python package for Tcl This package allows the execution of Python (version 2.2 or above) code from a Tcl interpreter, as in: package require tclpython set interpreter [python::interp new] $interpreter exec {print("Hello World")} $interpreter eval 3/2.0 python::interp delete $interpreter You can actually create several Python interpreters this way, if the tclpython package was linked against a Python library compiled with threads support, otherwise only 1 Python interpreter can exist at a time. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ### you may find it now at my homepage: http://jfontain.free.fr/tclpython-3.0.tar.gz http://jfontain.free.fr/tclpython-3.0-1.i386.rpm http://jfontain.free.fr/tclpython-3.0-1.spec http://jfontain.free.fr/tclpython.htm Jean-Luc Fontaine (http://jfontain.free.fr/) From uche.ogbuji@fourthought.com Thu Jan 2 17:38:06 2003 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: 02 Jan 2003 10:38:06 -0700 Subject: ANN: 4Suite tutorial part 5: The Repository Features Message-ID: http://www-105.ibm.com/developerworks/education.nsf/xml-onlinecourse-bytitle/CD1A8865668D9A2E86256C910062D445?OpenDocument or more directly https://www6.software.ibm.com/reg/devworks/dw-x4suite5-i/ Free registration required. If you're already registered on IBM dW, you can just go to: https://www6.software.ibm.com/developerworks/education/x-4suite5/ This tutorial, the fifth in a series, shows Python developers how to use the popular open-source 4Suite toolkit for XML processing to create a Web repository application. The authors, 4Suite's creators Uche and Chimezie Ogbuji, walk you through the process of creating a Web application that allows users to manage a database of software descriptions and related vendors using a standard XML format. -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com A Python & XML Companion - http://www.xml.com/pub/a/2002/12/11/py-xml.html XML class warfare - http://www.adtmag.com/article.asp?id=6965 MusicBrainz metadata - http://www-106.ibm.com/developerworks/xml/library/x-think14.html From wesc@deirdre.org Fri Jan 3 07:27:29 2003 From: wesc@deirdre.org (wesc@deirdre.org) Date: Thu, 2 Jan 2003 23:27:29 -0800 (PST) Subject: ANN: Python Programming course (Silicon Valley, CA) Message-ID: "Python Programming" course UC Santa Cruz, Winter Quarter 2002 Jan 6 - Mar 17, 2003 (except Jan 20, 27 and Feb 17) Monday nights, 6:30 - 9:30pm Sunnyvale, California just a reminder that if you are in the Silicon Valley area and are interested or know people who are, that the course is scheduled to start this coming Monday, so sign up fast, or show up to the 1st course to register! http://artemis.ucsc-extension.edu/~wesc/013e44cd.htm Register online, or contact Sherry at 408-861-3765 or smirkarimi@ucsc-extension.edu to enroll. hope 2 c some of u there! -wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall PTR, © 2001 http://starship.python.net/crew/wesc/cpp/ Silicon Valley-San Francisco Bay Area Python Users Group (BayPIGgies) http://www.baypiggies.net wesley.j.chun :: wesc at deirdre.org cyberweb.consulting : henderson, nv : cyberweb at rocketmail.com http://roadkill.com/~wesc/cyberweb/ From Thomas Guettler Fri Jan 3 11:40:13 2003 From: Thomas Guettler (Thomas Guettler) Date: Fri, 3 Jan 2003 12:40:13 +0100 Subject: OOPServer Released Message-ID: Hi! This is the first release of OOPServer. It is a 100% Python solution for developing customised document management systems. It uses Zope as web application server. It includes an Upload-Client for integrating office or other software installed at the client. In the future it should get the core for a free domea conformable software. Domea[1] is a requirements catalog and certificate for electronic workflow systems of the German federal government. Please send me an email if you are interested in adding DMS or workflow features to your commercial application, or if you want to fund a free domea implementation. Up to now the target group are developers. It can be viewed as an example of how you can program Python products with Zope, too. The implementation of OOPServer is 100% Python and avoids DTML, ZPT and Acquisition. You can get the source from: http://guettli.sourceforge.net A demo is available: http://guettli.dyndns.org:8080 [1] Domea: http://www.kbst.bund.de/Themen-und-Projekte/eGovernment-,63/Vorgangsbearbeitung.htm Thomas Guettler -- Thomas Guettler http://www.thomas-guettler.de From sales@net4india.com Sun Jan 5 01:45:33 2003 From: sales@net4india.com (sales@net4india.com) Date: Sun, 5 Jan 2003 01:45:33 GMT Subject: Bullet-proof, complaint-resistant web hosting. Guaranteed. Message-ID: <218f4c00.885c7de7@new.net4india.net> Net4Domains.com - Domian Name Registration & Hosting Services, register domain name, domain name search, cheap domain name, internet domain name, domain name hosting, domain name for sale, purchase internet domain name, buy domain name
  About us :: Contacts :: Support Centre  
User Control Panel - Partners Control PanelDomains - BIZMail - Website Hosting - Colocation


 
Enter Domain Name to search
www.  
Select desired Domain Extensions
COM NET ORG  
INFO BIZ TV
Select a country Domain
 
 
 
@
 e.g. vijay@vijayexports.com

Tell me more...
 
Business/Corporates
Individuals
Partners
 
 
 


© 2001 Net 4 India Ltd, All Rights Reserved
Disclaimer | Privacy Policy

 

From wichert@wiggy.net Fri Jan 3 14:29:56 2003 From: wichert@wiggy.net (Wichert Akkerman) Date: Fri, 3 Jan 2003 15:29:56 +0100 Subject: pyrad 0.3 - RADIUS client Message-ID: pyrad is an implementation of a RADIUS client as described in RFC2865. It takes care of all the details like building RADIUS packets, sending them and decoding responses. (RADIUS is a common protocol used for authentication, authorisation and accounting for remote access (and similar) services). This is a maintenance release; the next release will focus on new features such as a trivial RADIUS server implementation. Changes since previous release ------------------------------ * client.Timeout is now derived from Exception * docstring/epydoc documentation added * include example dictionaries and authentication script Example ------- Here is an example of doing a authentication request: from pyrad.client import Client from pyrad.dictionary import Dictionary srv=Client(server="radius.my.domain", secret="s3cr3t", dict=dictionary.Dictionary("dicts/dictionary", "dicts/dictionary.acc")) req=srv.CreatePacket(code=pyrad.client.AccessRequest, User_Name="wichert", NAS_Identifier="localhost") req["User-Password"]=req.PwCrypt("password") reply=srv.SendPacket(req) if reply.code==pyrad.client.AccessAccept: print "access accepted" else: print "access denied" print "Attributes returned by server:" for i in reply.keys(): print "%s: %s" % (i, reply[i]) Requirements ------------ pyrad requires Python 2.0 or later. Author, copyright, availability ------------------------------- pyrad was written by Wichert Akkerman The current version and documentation can be found at its homepage: http://www.wiggy.net/code/pyrad.xhtml Copyright 2002 Wichert Akkerman. All rights reserved. pyrad is distributed under the BSD license. Please see the source archive for the full license text. -- Wichert Akkerman http://www.wiggy.net/ A random hacker From thanos@0x01.com Fri Jan 3 16:32:17 2003 From: thanos@0x01.com (thanos vassilakis) Date: 3 Jan 2003 08:32:17 -0800 Subject: ANN: How to building a internet portal in 1 hour using python and pso Message-ID: The following tutorial is finally available from the Vaults of Parnassus at http://py.vaults.ca/apyllo.py?i=426212801 or http://www.scriptfoundry.com/modules/pso/doc/pso-example.html A Build your own portal in 1 hour ! ------------------------------------ How to building a internet portal in 1 hour using python and pso. Thanos Vassilakis shows how to build a web service using pso and python. As an example we will build a small portal. It should take less than an hour. The sites requirements will be: Have some pages available to the public and some only for members. * Offer simple member registration system. * Members will be able to upload a jpeg of themselves. * Once logged in members will be able to return within the same day without logging in again. * Members will be able to view listings of information. Although this site does nothing in particular it will illustrate the following: * Template Nesting * Session Handling * Redirection * Handling security and logging in. * Simple Form Handling without confirmation stage * Complex Forms with confirmation stage * File uploading Categories: Tutorials, Internet . Web thanos vassilakis (thanos@scriptfoundry.com) From ed@digitallumber.com Fri Jan 3 19:10:02 2003 From: ed@digitallumber.com (Ed Stoner) Date: Fri, 3 Jan 2003 14:10:02 -0500 (EST) Subject: Oak DNS Server Message-ID: We are pleased to announce the release of the Oak DNS Server. This is the first time the software has been announced to the public but it is being run on production servers at a few sites already. The software can be downloaded from: http://www.digitallumber.com/software/oak What is it? Oak is a DNS Server written in pure python. Features: - Pure Python - Runs on Windows and various unixes - configuration through python - recursion - zone transfers - slave servers - dynamic updates - various secuirty enhancements Except for the DNSSEC, we think that Oak is a functional replacement for bind (we are using it as such). License: LGPL ------------ Ed Stoner Digital Lumber, Inc. (www.digitallumber.com) ed@digitallumber.com From drifty@bigfoot.com Sat Jan 4 23:37:21 2003 From: drifty@bigfoot.com (Brett C.) Date: 4 Jan 2003 15:37:21 -0800 Subject: python-dev Summary for 2002-12-16 through 2002-12-31 Message-ID: +++++++++++++++++++++++++++++++++++++++++++++++++++++ python-dev Summary for 2002-12-15 through 2002-12-31 +++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ between December 16, 2002 and December 31, 2002 (inclusive). It is intended to inform the wider Python community of on-going developments on the list that might interest the wider Python community. To comment on anything mentioned here, just post to python-list@python.org or comp.lang.python in the usual way; give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration). All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join python-dev! This is the eighth summary written by Brett Cannon (last one covering 2002!). All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_; you can safely ignore it (although I suggest learning reST; its simple and is accepted for PEP markup). Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the original itself. .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. contents:: ====================== Summary Announcements ====================== `Python 2.3a1`_ has been released! Please download it and try it out. The testing of the code helps python-dev a lot. So at the very least download it and run the test suite to see if any errors or failures come up. I did skip a thread on some proposed changes to ``ConfigParser``. If you care about that module you can read the thread at http://mail.python.org/pipermail/python-dev/2002-December/031505.html . This summary is a bit on the thin side. I decided to enjoy my winter holiday and so this summary was pushed off to the last minute (and beyond; that is why this is late). Shouldn't happen again for a while. =) Those of you viewing this on the web or by running it through Docutils will have noticed the table of contents preceding this section. I am giving this a try to see if I like it. If you have an opinion, let me know. Go to PyCon_ (and yes, I am going to say this every summary until PyCon is upon us)! .. _Python 2.3a1: http://www.python.org/2.3/ .. _PyCon: http://www.python.org/pycon/ ====================================================== `Adding decimal (aka FixedPoint) numbers to Python`__ ====================================================== __ http://mail.python.org/pipermail/python-dev/2002-December/031171.html Michael McLay brought to the attention of the list `patch #653938I`_ which not only adds the FixedPoint_ module (originally by Tim Peters) to the library but the ``d`` suffix for numeric constants to be used for numbers to be of the FixedPoint type. For those of you unfamiliar with fixed-point math, it is basically decimal math where the issue of rounding and representation are eliminated except for division. It would allow 0.3 + 0.3 to actually equal 0.6 and not 0.59999999999, which is what you get now with binary floating-point math. Consensus was quickly reached that Michael should first work on getting the module accepted into the language. This is done so that python-dev can gauge the usefulness of the module to the rest of the world and thus see if integrating it into the language is called for. It was also said that a PEP should be written (which Michael's first email practically is). Oren Tirosh, though, stated that programs that require fixed-point math don't encode the numbers as literals in their code anyway, and thus adding a prefix would be uncalled for. There was a discussion of what a constructor method should be named that finally came down to Guido saying fixedpoint, fixed, or fixpoint all are acceptable. If you want to get into the nitty-gritty of this discussion read Michael's and Tim's emails from the threads. You can also look at http://www2.hursley.ibm.com/decimal/ for another way to do fixed-point; Aahz has been working on an implementation since the dawn of man but he has been busy with other things and thus has yet to finish it. .. _patch #653938I: http://www.python.org/sf/653938I .. _FixedPoint: http://fixedpoint.sf.net/ ========================================= `New Import Hooks PEP, a first draft`__ ========================================= __ http://mail.python.org/pipermail/python-dev/2002-December/031322.html Related threads: - `Zip Import and sys.path manipulation `__ - `Zipping Zope3 `__ - `Write All New Import Hooks (PEP 302) in Python, Not C `__ - `Packages and __path__ `__ - `PEP 203 and __path__ `__ So the thread that I am supposedly summarizing here is not the first thread in terms of chronology, but it has the best title, so I am using that as the thread to be summarized. Once again, the new import hooks mechanism was a big topic of discussion. For the latter half of this month most of the discussions were around `PEP 302`_ and its rough draft. It was accepted and was merged into the CVS tree in time for `Python 2.3a1`_. Since the implementation has already been accepted I will not summarize it here nor its objections since the PEP does an admirable job of covering all the bases. The other big discussion that was brought up was whether ``__path__`` should be removed or at least discourage the modification of it. Just van Rossum pushed for the removal since it would simplify the import hooks and he didn't see the use. But Guido said that Zope used it and that it can be useful, so it is staying. This discussion is what caused the creation of the pkgutil_ module. .. _PEP 302: http://www.python.org/peps/pep-0302.html .. _pkgutil: http://www.python.org/doc/2.3a1/lib/module-pkgutil.html ======================================== `known obvious thing or bug (rexec)?`__ ======================================== __ http://mail.python.org/pipermail/python-dev/2002-December/031160.html A question about something in ``rexec_`` ended up leading to a discussion over the value of rexec since it is not close to being truly secure. The module is still in the library but I would not expect it to be in there forever; Py3k will most likely be its undoing unless someone gets the jump now and rewrites the module to actually make it do its job well. .. _rexec: http://www.python.org/doc/current/lib/module-rexec.html ===================== `deprecating APIs`__ ===================== __ http://mail.python.org/pipermail/python-dev/2002-December/031255.html Neal Norwitz came up with a way to deprecate APIs by having them emit warnings during compile-time (at least for gcc). It can be found in `pyport.h`_ and the macro is called ``Py_DEPRECATED()``. .. _pyport.h: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Include/pyport.h =============================== `Mersenne Twister copyright`__ =============================== __ http://mail.python.org/pipermail/python-dev/2002-December/031403.html Splinter Threads: - `Mesenne Twister copyright notice `__ - `Third-Party Licenses `__ Raymond Hettinger asked how he should handle the copyright requirement for the Mersenne Twister (now a part of the random_ module) that the authors be given credit in the documentation. Various ideas were thrown around from adding a ``__copyright__`` value to any module requiring it and having that contain the required notice to having a text file for each file that needed it. The last thing on this thread was Raymond suggesting a license directory that contained the required notices (this has not been done yet, though). .. _random: http://www.python.org/dev/doc/devel/lib/module-random.html ============================================== `Extension modules, Threading, and the GIL`__ ============================================== __ http://mail.python.org/pipermail/python-dev/2002-December/031424.html David Abrahams brought up a question about extension modules calling a Python interpreter but not knowing it is Python and thus not knowing about the GIL (the "summary" David gives to explain what he is asking about is four paragraphs, so if this sounds interesting to you then read the original email). This whole thread has still yet to be worked out, but if threading in extension modules interests you, have a read (time restraints prevent me from doing a thorough summary of this thread since it is so complicated). ================ `GC at exit?`__ ================ __ http://mail.python.org/pipermail/python-dev/2002-December/031429.html Aahz pointed out that a cycle of objects will not have their respective ``__del__()`` methods called unless you break the cycle or call ``gc.collect()``. But as Martin v. Löwis said, "If you need to guarantee that __del__ is called at the end for all objects, you have probably much bigger problems". So just watch out for those cycles. =================================================== `PEP 303: Extend divmod() for Multiple Divisors`__ =================================================== __ http://mail.python.org/pipermail/python-dev/2002-December/031511.html `PEP 303`_ by Thomas Bellman proposes changing ``divmod()`` so as to allow it to take an arbitrary number of arguments to chain together a bunch of ``divmod()`` calls. Guido has says that he does not like the change because it causes the function to act in a way that is not necessary and since it is a built-in that goes against keeping the the language simple. This thread has started a big discussion on what built-ins are needed, but that started after January 1 and thus will be covered in the next summary. .. _PEP 303: http://www.python.org/peps/pep-0303.html From bzimmer@ziclix.com Sun Jan 5 06:11:07 2003 From: bzimmer@ziclix.com (brian zimmer) Date: 4 Jan 2003 22:11:07 -0800 Subject: [ANN] zxSet 0.1 Message-ID: zxSet 0.1 is available here: http://sourceforge.net/projects/zxpy/ zxSet is a Java implementation of the standard Python distribution's sets module until such time as Jython supports new style classes. It passes all but two of the test_sets.py unit tests: (1) Pickling operator.add (2) A string on the left hand side of an 'in' neither of which is really related to the set operations. It has only been tested with the current CVS version of Jython since it makes use of the iterator protocol not available in Jython 2.1. Feel free to contact me with any comments, suggestions, questions or complaints. thanks, brian zimmer, (bzimmer@ziclix.com) From bzimmer@ziclix.com Sun Jan 5 06:11:37 2003 From: bzimmer@ziclix.com (brian zimmer) Date: 4 Jan 2003 22:11:37 -0800 Subject: [ANN] zxDateTime 0.2 Message-ID: zxDateTime 0.2 is available here: http://sourceforge.net/projects/zxpy/ zxDateTime is a Java implementation of the popular CPython mx.DateTime module. This release includes bug fixes as well as a new DataHandler for zxJDBC to convert all java.[util|sql] Date-like objects into appropriate mx.DateTime objects when queried or sent to the JDBC driver. It has been tested with both Jython 2.1 and current CVS. Feel free to contact me with any comments, suggestions, questions or complaints. thanks, brian zimmer, (bzimmer@ziclix.com) From bdeck@lycos.co.uk Mon Jan 6 02:23:59 2003 From: bdeck@lycos.co.uk (deckerben) Date: Mon, 6 Jan 2003 03:23:59 +0100 Subject: ANNOUNCE: PythonD 2.2.1 Release 1.1 Message-ID: Greetings. PythonD 1.1 based on Python sources 2.2.1 has been uploaded to: http://members.lycos.co.uk/bdeck This is a bug-fix and minor-enhancement level release. Downloading is not neccessary but encouraged. PythonD is the DJGPP-based MSDOS port of Python. Fixes/enhancements include: Numberous token exports added for dynamically-linked modules. xslt module removed from pyxml; doesn't work under PythonD anyway (threading) (is also incompatible with Ft 12) libxml.py, libxsl.py, and libxml2.py removed from standard python library (they were accidentally left there from a previous pre-beta test). Python Include files now properly located in the "python2.2" subfolder. path configuration files (".pth") in $DJDIR/site-python are supported. Like %PYTHONPATH%, %PYTHONHOME% is also supported. It must point to the top of your binary tree(if "python2.2" library is found under C:\python\lib, set PYTHONHOME=c:/python). A rudimentary 'os.startfile' (normally on Win32) has been implemented. Only usable when PythonD is used during a running Windows95 (and newer) session. Requires presence of "rundll32.exe" in the Windows %PATH%. The "webbrowser" module has been modified for PythonD. A number of browsers are supported by default. May also use %BROWSER%. New experimental SSL support in Socketmodule. READLINE MODIFICATIONS (can be disabled by commenting out appropriate lines from site.py): A default "readline history file" has been implemented in $DJDIR/etc/_pythist.txt See site.py if you wish to change this setting. The default "command completion key" has been assigned to 'TAB'. There is also a pre-alpha port of "tkinter" included (the TK-Wish module), using a partially complete xlibemu port to GRX2. Don't get excited yet, it is still pretty broken, but is a glimse of possible things to come with the second major drop of PythonD 2.2.1. Ben From mary-python@puzzling.org Mon Jan 6 03:59:33 2003 From: mary-python@puzzling.org (Mary) Date: Mon, 6 Jan 2003 14:59:33 +1100 Subject: Sydney Australia Python Interest Group: Monday 13th January 2003. Message-ID: Hi everyone, We're holding the January meeting a week early because of the clash with linux.conf.au: For our first meeting in 2003, Adrian van den Dries: ZODB Adrian van den Dries will introduce the ZODB (Zope Object Database) - a persistent object database for Python. This will be a his taster for a talk on Zope which he will give at a future SLUG meeting. Date: Monday January 13th Time: 7:00pm Location: Univerity of Technology Syndey, Broadway campus, building 10, room 2.440 (computer lab, on the entrance level). -Mary ---- SLUG Python Interest Group meetins are announced on: * comp.lang.python.announce and python-announce-list@python.org[0] * the Australasian Python users list[1] * The Sydney Linux User's Group announce list[2] [0] http://mail.python.org/mailman/listinfo/python-announce-list [1] http://starship.python.net/mailman/listinfo/python-au [2] http://lists.slug.org.au/listinfo/announce/ ---- The Sydney Python Interest Group is, while not restricted to Python on Linux, a Special Interest Group of the Sydney Linux Users Group (SLUG), and would like to thank SLUG for its support. See the PIG webpage: http://pig.slug.org.au/ for previous talks. From guido@python.org Mon Jan 6 16:17:50 2003 From: guido@python.org (Guido van Rossum) Date: Mon, 06 Jan 2003 11:17:50 -0500 Subject: Deleting rexec.py and Bastion.py Message-ID: There have been reports of serious security problems with rexec.py and Bastion.py starting with Python 2.2. We do not have the resources to fix these problems. Therefore, I will disable these modules in the next 2.3 alpha release and in the next 2.2 release (2.2.3, no release date scheduled). If you are using rexec.py or Bastion.py with any version of Python 2.2 or 2.3 to safeguard anonymously submitted source code, I strongly recommend that you stop doing so immediately, because it is *not* safe. There are also known security problems with older versions of Python, but the holes created by Python 2.2 are much bigger (big enough to drive an airplane carrier through). --Guido van Rossum (home page: http://www.python.org/~guido/) From chrisw@nipltd.com Tue Jan 7 11:35:18 2003 From: chrisw@nipltd.com (Chris Withers) Date: Tue, 07 Jan 2003 11:35:18 +0000 Subject: Strip-o-Gram 1.4 Released! Message-ID: Strip-o-Gram is an HTML Conversion Library that can convert HTML to Plain Text and strip specified tags and Javascript from HTML. See http://www.zope.org/Members/chrisw/StripOGram for more details. This release enables Strip-O-Gram to work as a Zope Product as well as a Python Package. cheers, Chris From rozen@mcn.org Wed Jan 8 00:11:40 2003 From: rozen@mcn.org (Don Rozenberg) Date: Tue, 07 Jan 2003 16:11:40 -0800 Subject: ANN: PAGE-2.2c - A Python Automatic GUI Generator Message-ID: PAGE-2.2c - Python Automatic GUI Generator What is PAGE? ----------- PAGE is an automatic GUI generator which bears a resemblance to Visual Basic. It allows one to easily create GUI window containing a selection of Tk and Tix widgets and bind actions associated with events in those widgets with a straight-forward, visual paradigm. It is a Tcl/Tk/Tix program that generates a Python module that realizes the desired GUI. Further, it supports rework in that one can generate a Python GUI module, debug it in the Python space, and yet be able to return to the Tcl/Tk realm to modify or update the appearance of the GUI or change the bindings on the widgets. There is a large user's guide and several useful examples. What's new? ----------- Fixed numerous problems in PAGE-2.2c. Fixed and documented the generation of menus. Fixed and documented the bindings window so now it is highly usable. Removed preferences that were hard to fathom. Added Python colorization to some of the PAGE windows. Rewrote p2t. It is now much more solid than previously and improves rework capabilities. p2t.py converts a Python GUI generated with PAGE into a tcl module that can be opened by PAGE. Includes Vrex as an example. This is a very useful visual program for developing and checking regular expressions. It is similar to Visual REGEXP. Includes an extension package that enhances python-mode.el in executing a python module with both the interpreter and debugger. It also allows one to run PyChecker from emacs. Improved the documentation. Home Page --------- http://page.sourceforge.net/ Download ---------- http://sourceforge.net/projects/page License --------- GPL --------- Don Rozenberg [rozen@mcn.org]

PAGE 2.2c A drag and drop GUI generator for Python similar to Visual Basic (7-Jan-03) From ngps@netmemetic.com (Ng Pheng Siong) Wed Jan 8 00:30:36 2003 From: ngps@netmemetic.com (Ng Pheng Siong) (Ng Pheng Siong) Date: 8 Jan 2003 00:30:36 GMT Subject: M2Crypto 0.09 and Win32 binaries Message-ID: Hi, M2Crypto 0.09 is now available: - Now bundles the correct version of ZServer/__init__.py, so ZServerSSL should really work for Zope 2.6.0. ;-) - Fixed xmlrpc-over-https for Python 2.2.2. (Apparently it works for Python 2.2.1.) Thanks to prashanth for patches. - Win32 binaries for Pythons 1.5.2, 2.1.3 and 2.2.2. The 2.1.3 binary tested successfully with a binary distribution of Zope 2.6.0. Thanks to Adam Karpierz for the binaries and patches. - Also contributed by Adam Karpierz: Win32 binaries for OpenSSL 0.9.6h. Cheers. -- Ng Pheng Siong * http://www.netmemetic.com From ed@digitallumber.com Wed Jan 8 20:11:08 2003 From: ed@digitallumber.com (Ed Stoner) Date: Wed, 8 Jan 2003 15:11:08 -0500 (EST) Subject: ANN: Oak DNS Server (again) Message-ID: We are pleased to announce (again) the release of the Oak DNS Server. The first announcement didn't make it through the newgroups, probably because we put an incorrect url in the announcement (we know a lot more about DNS than we do about Zope inheritance :-) The software is new but it is being run in a production environment at multiple locations already. The software can be downloaded from: http://www.digitallumber.com/oak What is it? Oak is a DNS Server written in pure python. Features: - Pure Python - Runs on Windows and various unixes - configuration through python - recursion - zone transfers - slave servers - dynamic updates - various secuirty enhancements Except for the DNSSEC, we think that Oak is a functional replacement for bind (we are using it as such). Please give it a try. It's nice to be able to manage your DNS config with python. License: LGPL ------------ Ed Stoner Digital Lumber, Inc. (www.digitallumber.com) ed@digitallumber.com From sales@net4india.com Thu Jan 9 19:44:33 2003 From: sales@net4india.com (Usha MacDougan-MacDuncan) Date: Thu, 09 Jan 2003 19:44:33 GMT Subject: Betty, try our bullet-proof, complaint-resistant web hosting. Guaranteed. Message-ID: Net4Domains.com - Domian Name Registration & Hosting Services, register domain name, domain name search, cheap domain name, internet domain name, domain name hosting, domain name for sale, purchase internet domain name, buy domain name
  About us :: Contacts :: Support Centre  
User Control Panel - Partners Control PanelDomains - BIZMail - Website Hosting - Colocation


 
Enter Domain Name to search
www.  
Select desired Domain Extensions
COM NET ORG  
INFO BIZ TV
Select a country Domain
 
 
 
@
 e.g. vijay@vijayexports.com

Tell me more...
 
Business/Corporates
Individuals
Partners
 
 
 


© 2001 Net 4 India Ltd, All Rights Reserved
Disclaimer | Privacy Policy

 

 
@ From uche.ogbuji@fourthought.com Thu Jan 9 03:09:27 2003 From: uche.ogbuji@fourthought.com (Uche Ogbuji) Date: 08 Jan 2003 20:09:27 -0700 Subject: Article: Python generators + DOM Message-ID: http://www.xml.com/pub/a/2003/01/08/py-xml.html Techniques and routines taking advantage of Python generators for DOM processing. Builds on my earlier article: http://www-106.ibm.com/developerworks/library/x-tipgenr.html -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com A Python & XML Companion - http://www.xml.com/pub/a/2002/12/11/py-xml.html XML class warfare - http://www.adtmag.com/article.asp?id=6965 MusicBrainz metadata - http://www-106.ibm.com/developerworks/xml/library/x-think14.html From travis@enthought.com Thu Jan 9 20:52:16 2003 From: travis@enthought.com (Travis N. Vaught) Date: Thu, 9 Jan 2003 14:52:16 -0600 Subject: [ANN] Third Austin Python Users Group Meeting Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0097_01C2B7EE.B4001940 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Greetings, Apologies for the short notice, but we've finalized the time for the January Austin Python User's Group meeting. Alan Runyan is the speaker this month. He'll be primarily discussing Plone (http://plone.org - Plone is cool). Where: Enthought, Inc. 515 Congress Ste. 1614 When: Monday, January 13, 2003 6:30 PM Enthought is located downtown at 6th and Congress in the Bank of America building. We're located on the 16th floor in Suite 1614. If you're coming from IH 35, you can just exit 6th Street and head West 5-6 blocks. Free parking is somewhat scarce downtown, but the dedicated can find it. For everyone else, the Littlefield parking garage is next to our building. Its entrance is between 5th and 6th streets on Brazos. Our building officially closes to the public at 6:00, but tell security that you're going to a meeting at Enthought, and they will let you in. Email travis@enthought.com to RSVP or with any questions. Also, you may subscribe to apug@scipy.org, our mailing list, at http://scipy.net/mailman/listinfo/apug . If you don't RSVP, come anyway. Bring a friend. ------=_NextPart_000_0097_01C2B7EE.B4001940 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Greetings,

 

Apologies for the = short notice, but we've finalized the time for the January Austin Python = User’s Group meeting.

 

Alan Runyan is the = speaker this month.  He'll be primarily discussing Plone (http://plone.org – Plone is = cool).

 

Where:  = Enthought, Inc.

        515 Congress

        Ste. = 1614

 

When:   = Monday, January 13, 2003

        6:30 PM

 

Enthought is located downtown at 6th and = Congress in the Bank of America building.  We're located on the 16th floor in = Suite 1614.  If you're coming from IH 35, you can = just exit 6th Street and head West 5-6 blocks.  Free parking is somewhat scarce = downtown, but the dedicated can find it.  For everyone else, the Littlefield = parking garage is next to our building.  Its entrance is between 5th and = 6th streets on Brazos.  Our building officially closes to the public at 6:00, but tell security that you're going to a meeting at Enthought, and they = will let you in.

 

Email travis@enthought.com to RSVP or = with any questions.  Also, you may subscribe to apug@scipy.org, our mailing list, at http://scipy.net/mailman/= listinfo/apug . If you don’t RSVP, come anyway.  Bring a = friend.

 

------=_NextPart_000_0097_01C2B7EE.B4001940-- From guido@python.org Thu Jan 9 23:07:01 2003 From: guido@python.org (Guido van Rossum) Date: Thu, 09 Jan 2003 18:07:01 -0500 Subject: PyCon call for papers -- deadline looming! Message-ID: There's still time to submit abstracts to the Python Conference in DC (March 26-28). The submission deadline for proposals is January 15. http://www.python.org/pycon/cfp.html Don't miss presenting at this unique event! --Guido van Rossum (home page: http://www.python.org/~guido/) From richardjones@optushome.com.au Thu Jan 9 23:07:20 2003 From: richardjones@optushome.com.au (Richard Jones) Date: Fri, 10 Jan 2003 10:07:20 +1100 Subject: SC-Track Roundup 0.5.4 - an issue tracking system Message-ID: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D SC-Track Roundup 0.5.4 - an issue tracking system =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This is a bugfix release for version 0.5.x - if you're upgrading from before 0.5, you *must* read doc/upgrading.txt! Unfortunately, the Zope frontend for Roundup is currently broken, with no fix in the forseeable future. Roundup requires python 2.1.3 or later for correct operation. Users of the sqlite backend are encouraged to upgrade sqlite to version 2.7.3. We've had a good crack at bugs (thanks to all who contributed!): =2D key the templates cache off full path, not filename =2D implemented whole-database locking =2D hyperlinking of special text (url, email, item designator) in messages =2D fixed time default in date.py =2D fixed error in cgi/templates.py (sf bug 652089) =2D fixed handling of missing password (sf bug 655632) =2D applied patches for handling Outlook quirks (thanks Andrey Lebedev) (multipart/alternative, "fw" and content-type "name") =2D fire auditors and reactors in rdbms retire (thanks Sheila King) =2D better match for mailgw help "command" text =2D handle :add: better in cgi form parsing (sf bug 663235) =2D handle all-whitespace multilink values in forms (sf bug 663855) =2D fixed searching on date / interval fields (sf bug 658157) =2D fixed form elements names in search form to allow grouping and sorting= =20 on "creation" field =2D display of saved queries is now performed correctly Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=3D31577 About Roundup =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Roundup is a simple-to-use and -install issue-tracking system with=20 command-line, web and e-mail interfaces. It is based on the winning design= =20 from Ka-Ping Yee in the Software Carpentry "Track" design competition. Note: Ping is not responsible for this project. The contact for this projec= t=20 is richard@users.sourceforge.net. Roundup manages a number of issues (with flexible properties such as=20 "description", "priority", and so on) and provides the ability to: (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable "out of the box" with any python 2.1+ installation. It doesn't even need to be "installed" to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and six database back-ends (anydbm, bsddb, bsddb3, sqli= te, metakit and gadfly).=20 From pyth@trillke.net Fri Jan 10 14:44:19 2003 From: pyth@trillke.net (holger krekel) Date: Fri, 10 Jan 2003 15:44:19 +0100 Subject: Minimal Python project Message-ID: Minimal Python Discussion, Coding and Sprint -------------------------------------------- We announce a mailinglist dedicated to developing a "Minimal Python" version. Minimal means that we want to have a very small C-core and as much as possible (re)implemented in python itself. This includes (parts of) the VM-Code. Building on the expected gains in flexibility we also hope to use distribution techniques such as PEP302 to ship only a minimal set of modules and load needed modules on demand. As Armin Rigo of PSYCO fame takes part in the effort, we are confident that MinimalPython will eventually run faster than today's CPython. And because Christian Tismer takes part, we are confident that we will find a radical enough approach which also fits Stackless :-) We are very interested in learning about and integrating prior art. And in hearing any doubtful or reinforcing opinions. Expertise is welcomed in all areas. So if you have an interest or even code regarding 'minimal python' please join the list: http://codespeak.net/mailman/listinfo/pypy-dev discussions previously took place on python-de and in private mails. We will repost some core ideas (in english) for further discussion. In a few months we'd like to do a one-week Sprint in Germany focusing on releasing first bits of Minimal Python. best wishes, Armin Rigo, Christian Tismer, Holger Krekel From dalke@dalkescientific.com Sat Jan 11 02:44:52 2003 From: dalke@dalkescientific.com (Andrew Dalke) Date: Fri, 10 Jan 2003 19:44:52 -0700 Subject: ReseekFile and MultiDict Message-ID: I've developed two new modules people may find interesting. They can be found at http://www.dalkescientific.com/Python/ . Both modules have been placed in the public domain. The first is ReseekFile. This wraps a file handle to allow seeks back to the beginning. It is very useful in Internet work when you need to check that the the input stream is in the proper format before passing it to to the parser. Example: >>> # Check first if the file starts with 'ERROR:' >>> # and if so, raise an exception >>> import urllib2, ReseekFile >>> infile = urllib2.urlopen("http://somewhere/") >>> infile = ReseekFile(infile) >>> s = infile.readline() >>> if s.startswith("ERROR:"): >>> raise Exception(s[:-1]) >>> infile.seek(0) >>> infile.nobuffer() >>> ... proces the input file as normal .. The second is MultiDict This implements two types of dictionary-like objects where there can be more than one entry with the same key. One is OrderedMultiDict, which preserves the order of all entries across all keys. The other is UnorderedMultidict, which only preserves the order of entries for the same key. Example: >>> import MultiDict >>> od = MultiDict.OrderedMultiDict() >>> od["Name"] = "Andrew"; od["Color"] = "Green" >>> od["Name"] = "Karen"; od["Color"] = "Brown" >>> od["Name"] 'Karen' >>> od.getall("Name") ['Andrew', 'Karen'] >>> for k, v in od.allitems(): ... print "%r == %r", (k, v) ... 'Name' == 'Andrew' 'Color' == 'Green' 'Name' == 'Karen' 'Color' == 'Brown' >>> ud = MultDict.UnorderedMultiDict(od) >>> for k, v in ud.allitems(): ... print "%r == %r", (k, v) ... 'Name' == 'Andrew' 'Name' == 'Karen' 'Color' == 'Green' 'Color' == 'Brown' >>> Andrew dalke@dalkescientific.com -- Need usable, robust software for bioinformatics or chemical informatics? Want to integrate your different tools so you can do more science in less time? Contact us! http://www.dalkescientific.com/ From edcjones@erols.com Sat Jan 11 09:29:23 2003 From: edcjones@erols.com (Edward C. Jones) Date: Sat, 11 Jan 2003 04:29:23 -0500 Subject: ReseekFile and MultiDict In-Reply-To: References: Message-ID: Andrew Dalke wrote: > I've developed two new modules people may find interesting. They > can be found at http://www.dalkescientific.com/Python/ . Both modules > have been placed in the public domain. ... > The second is MultiDict > > This implements two types of dictionary-like objects where there can be > more than one entry with the same key. One is OrderedMultiDict, which > preserves the order of all entries across all keys. The other is > UnorderedMultidict, which only preserves the order of entries for the > same key. I also have a MultiDict module at http://members.tripod.com/~edcjones/pycode.html Ed Jones From robin@alldunn.com Sat Jan 11 23:56:14 2003 From: robin@alldunn.com (Robin Dunn) Date: Sat, 11 Jan 2003 15:56:14 -0800 Subject: ANN: wxPython 2.4.0.1 Message-ID: I'm pleased to annouce that the 2.4.0.1 release of wxPython is ready for download from http://wxpython.org/. wxPython is the Python binding to the wxWindows C++ cross platform GUI library, which supports creating GUI applications on WIndows, Linux and Mac OS X with a native look and feel. This release is primarily a bugfix release and a transition from the 2.3.x series to the "stable" 2.4.x series of releases. However there have been a few releases made since I last widely announced it so I will summarize the new features in the recent releases below Updated XRCed and wxTimeCtrl contribs. Show a couple new wxGrid features in the demo. Added wxHtmlFilter. wxASSERT and related C++ runtime diagnostics are now converted to Python exceptions. When an assert happens a wxPyAssertionError (which derives from AssertionError) exception is created and when control returns back to the Python code that invoked the C++ API it will be raised. The same exception restrictions are in place as before, namely that exceptions can't cross from one Python layer through C++ to another Python layer. That simply means that if you want to catch wxPyAssertionError or any other exception that you need to do it before control returns to C++ at the end of your event handler or callback code. There is some test code in demo/wxButton.py you can use to play with this new feature. Added some methods to wxApp (SetAssertMode and GetAssertMode) that let you control how C++ assertions are processed. Valid modes are: wxPYAPP_ASSERT_SUPPRESS, wxPYAPP_ASSERT_EXCEPTION, and wxPYAPP_ASSERT_DIALOG. Using _SUPPRESS will give you behavior like the old "final" builds and the assert will be ignored, _EXCEPTION is the new default described above, and _DIALOG is like the default in 2.3.3.1 and prior "hybrid" builds. You can also combine _EXCEPTION and _DIALOG if you wish, although I don't know why you would. You can now overload OnInitGui, OnExit and OnAssert in your classes derived from wxApp. Added GetSelectedCells, GetSelectionBlockTopLeft, GetSelectionBlockBottomRight, GetSelectedRows, GetSelectedCols nethods to wxGrid. Added Python == and != operators for some basic classes. Fixed the Python wrappers for wxInputStream so they no longer block when reading from a wxProcess on wxGTK. They now work more or less as they did before 2.3.3.1 but the dual meaning of eof() has been removed. There is now a CanRead() method that lets you know if there is data waiting to be read from the pipe. Fixed method name clash in wxIEHtmlWin, renamed Refresh to RefreshPage. Added Throbber from Cliff Wells to the library and the demo. Windows installer prompts to uninstall old version first. Added wxPython.lib.evtmgr by Robb Shecter, which is an easier, more "Pythonic" and more OO method of registering handlers for wxWindows events using the Publish/Subscribe pattern. Added wxPython.lib.popupctl by Gerrit van Dyk which is a combobox-like gizmo for poping up arbitrary controls. It is currently using wxDialog because of some issues with wxPopupWindow... Added wxPython.lib.gridmovers by Gerrit van Dyk which facilitates the dragging of columns and/or rows in a wxGrid. Added wxPython.lib.multisash by Gerrit van Dyk which is a nice implementation of allowing the user to split a window any number of times either horizontally or vertically, and to close the split off windows when desired. Added helpviewer tool that displays HTML books similarly to how MS HTMLHelp viewer does. Changed how the wxPythonDocs tarball is built and added a script to launch the doc viewer. -- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython! From wichert@wiggy.net Sun Jan 12 13:18:48 2003 From: wichert@wiggy.net (Wichert Akkerman) Date: Sun, 12 Jan 2003 14:18:48 +0100 Subject: pyrad 0.4 - native python RADIUS implementation Message-ID: pyrad is an implementation of a RADIUS client and server as described in RFC2865, 2866, and others. It takes care of all the details like building RADIUS packets, sending and receiving them, and en-/decoding responses. (RADIUS is a common protocol used for authentication, authorisation and accounting for remote access (and similar) services). This release adds new features and introduces an API change: a RADIUS server implementation was added, as well as the basis of a proxy server. Changes since previous release ------------------------------ * Fix last case of bogus exception usage * Move RADIUS code constants to packet module * Add support for decoding passwords and * generating reply packets to Packet class * Add basic RADIUS server and proxy implementation Example ------- Here is an example of a client doing authentication request: import pyrad.packet from pyrad.client import Client from pyrad.dictionary import Dictionary srv=Client(server="radius.my.domain", secret="s3cr3t", dict=Dictionary("dicts/dictionary", "dictionary.acc")) req=srv.CreatePacket(code=pyrad.packet.AccessRequest, User_Name="wichert", NAS_Identifier="localhost") req["User-Password"]=req.PwCrypt("password") reply=srv.SendPacket(req) if reply.code==pyrad.packet.AccessAccept: print "access accepted" else: print "access denied" print "Attributes returned by server:" for i in reply.keys(): print "%s: %s" % (i, reply[i]) And an example for a trivial RADIUS server: from pyrad import dictionary, packet, server class FakeServer(server.Server): def _HandleAuthPacket(self, fd, pkt): server.Server._HandleAuthPacket(self, fd, pkt) reply=self.CreateReplyPacket(pkt) reply.code=packet.AccessAccept self.SendReplyPacket(fd, reply) srv=FakeServer(dict=dictionary.Dictionary("dictionary")) srv.hosts["127.0.0.1"]=server.RemoteHost("127.0.0.1", "s3cr3t", "localhost") srv.BindToAddress("") srv.Run() Requirements ------------ pyrad requires Python 2.0 or later. Author, copyright, availability ------------------------------- pyrad was written by Wichert Akkerman The current version and documentation can be found at its homepage: http://www.wiggy.net/code/pyrad.xhtml Copyright 2002,2003 Wichert Akkerman. All rights reserved. pyrad is distributed under the BSD license. Please see the source archive for the full license text. -- Wichert Akkerman http://www.wiggy.net/ A random hacker From ahaas@airmail.net Sun Jan 12 17:21:54 2003 From: ahaas@airmail.net (Art Haas) Date: Sun, 12 Jan 2003 11:21:54 -0600 Subject: [ANNOUNCE] Second release of PythonCAD now available Message-ID: I'd like to announce the second release of PythonCAD, a CAD package for open-source software users. As the name implies, PythonCAD is written entirely in Python. The goal of this project is to create a fully scriptable drafting program that will match and eventually exceed features found in commercial CAD software. PythonCAD is released under the GNU Public License (GPL). PythonCAD requires Python 2.2. The interface is GTK 2.0 based, and uses the PyGTK module for interfacing to GTK. The design of PythonCAD is built around the idea of separating the interface from the back end as much as possible. By doing this, it is hoped that both GNOME and KDE interfaces can be added to PythonCAD through usage of the appropriate Python module. Addition of other interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The second release fixes a few of the shortcomings in the initial release. Setting linetype properties, color choice, and drawing entity style are now done from the "Draw" menu. This release also adds some missing functionality, such as the ability to change the linetype, color, and style of the drawing entities, and the ability to move entities from one layer to another. The Python code has had numerous doc strings added, and various bug fixes have been applied. Visit the PythonCAD web site for more information about what PythonCAD does, and aims to be. http://www.pythoncad.org Come and join me in developing PythonCAD into a world class drafting program! Art Haas -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. -- Benjamin Franklin, Historical Review of Pennsylvania, 1759 From jiba@tuxfamily.org Sat Jan 11 17:26:46 2003 From: jiba@tuxfamily.org (Jiba) Date: Sat, 11 Jan 2003 18:26:46 +0100 Subject: [ANN] Soya 3D 0.2.1 Message-ID: Soya 3D 0.2.1 is out! WHERE? http://oomadness.tuxfamily.org/en/soya LICENSE? GPL WHAT IT IS? Soya 3D is a 3D engine for Python, written in C and Python. It rests on OpenGL for 3D and SLD for initialization. Several advanced features are proposed like landscapes, raypicking,... and a set of tutorials is also included. Jiba From nieder@mail.ru Mon Jan 13 00:54:43 2003 From: nieder@mail.ru (Ricardo Niederberger Cabral) Date: 12 Jan 2003 16:54:43 -0800 Subject: ANN: imgSeek 0.5 released Message-ID: Hello, After speed improvements, major feature additions and bug fixes, I am proud to announce that imgSeek 0.5 is available for download at http://prdownloads.sourceforge.net/imgseek/imgSeek-0.5.tar.gz?download What is it? ----------- imgSeek is a photo collection manager and viewer with content-based search and many other features. The query is expressed either as a rough sketch painted by the user or as another image you supply (or an image in your collection). The searching algorithm makes use of multiresolution wavelet decompositions of the query and database images. Requires PyQT 3.5. Generously hosted by SourceForge at http://imgseek.sourceforge.net/ Please report bugs, rants, feature wishes or code contributions to the email bellow. Regards, -- Ricardo Niederberger Cabral From remi@cherrypy.org Mon Jan 13 09:08:51 2003 From: remi@cherrypy.org (Remi Delon) Date: Mon, 13 Jan 2003 10:08:51 +0100 Subject: CherryPy-0.8 released Message-ID: We're pleased to announce the release of CherryPy-0.8. This release adds a brand new HTTP server that supports SSL, XML-RPC, threading, forking and process pool. The documentation has also been improved: the tutorial now has a section about deploying a CherryPy server for production and several HowTos have been added. ------------------------------------------ About CherryPy: CherryPy is a Python-based tool for developing dynamic websites. It uses many powerful concepts together, which makes it unique in its approach to website development. CherryPy sits between an application server and a compiler. You write source files, compile them with CherryPy and CherryPy generates an executable containing everything to run the website (including an HTTP server). It is released under the GPL license. CherryPy has been used in production for more than a year and it has proven fast and robust. Key properties/features of CherryPy are: - Based exclusively on Python (runs everywhere Python runs) - Delivers fast, robust, and scalable websites - Developers can use OOP as well as AOP (Aspect Oriented Programming) concepts to develop web sites - True separation of content and presentation - Simple but powerful templating language - "HTML editor safe" templating language (templates can go back and forth between designers and developers) - Powerful standard libraries to make your life easy Other properties/features are: - Can be linked to many databases (Oracle, Sybase, MySql, PostgreSql, ...) - Can run behind another webserver (Apache, ...) - Easy clustering and load-balancing set up for high-traffic websites - Built-in caching capability - SSL support (based on PyOpenSSL) - XML/XSL support (based on 4Suite) - Built-in XML-RPC support Remi. http://www.cherrypy.org From laurie@tratt.net Mon Jan 13 16:27:01 2003 From: laurie@tratt.net (Laurence Tratt) Date: Mon, 13 Jan 2003 16:27:01 +0000 Subject: ASV 0.5 - a library for manipulating simple database formats such as CSV Message-ID: I am pleased to be able to announce the third public version (0.5) of my ASV module, a mature pure Python module for inputting, manipulating and outputting simple database formats. Included is a command line interface for the quick conversion of file formats e.g. TSV -> CSV. As standard, ASV can read and write CSV (Comma Separated Values), TSV (Tab Separated Values) and colon separated value formats although it is simple to write your own input/output classes to cope with the bizarre variations that people seem to find themselves faced with from time to time. As the 'main' format, the CSV handler has been designed to cope gracefully with a wide variety of input formats. The design of ASV specifically allows conversion between different formats (eg TSV -> CSV). This new version of ASV is a small bug fix release and should be entirely backwards compatible with the previous release. I reccomend that all ASV users upgrade to this version. The download URL for ASV is: http://tratt.net/laurie/python/asv/ Please feel free to mail me with any comments you may have at laurie@tratt.net Laurie

ASV 0.5 - a library for manipulating simple database formats such as CSV (03-Dec-02) From p-nowak@eelink.net Tue Jan 14 00:52:00 2003 From: p-nowak@eelink.net (Paul Nowak) Date: 13 Jan 2003 16:52:00 -0800 Subject: Writing an Open Source Implementation of FoxPro Message-ID: Hello, I have been doing some thinking about writing an open source implementation of FoxPro. I write mostly in Python and I been thinking Python has too many similarities and strengths not to take a close look at basing the FoxPro project on Python. Some of the benefits of a Python approach include: - The Python interpreter is similar to the FoxPro interpreter in basic parse and execute function; - Python works on multiple platforms; - Python core code is easy to read and well-designed; - Python has a large community and so does FoxPro -- getting some cross over will probably be good for both camps. - The FoxPro community would welcome this project I think. Just wondering what the group comments on this idea are. Paul From bryan-news@pyzine.com Tue Jan 14 09:09:58 2003 From: bryan-news@pyzine.com (Bryan Richard) Date: Tue, 14 Jan 2003 01:09:58 -0800 Subject: [ANN] Py 1.3 Ships Message-ID: Py 1.3 -------- Py Parlour Press[1], in conjunction with It's About Time Productions, announces availability of the third (1.3) issue of Py. The new issue contains 100% more oozing Pythonikal goodness, including: A Python Game Postmortem: Freedom Force http://store.pyzine.com/article.phtml?a=7 Extending Python with C, Part III (Alex Martelli) http://store.pyzine.com/article.phtml?a=1 Generating Web Menus with menugen (Mike Soulier) http://store.pyzine.com/article.phtml?a=3 POOPy: Creating New Objects with Inheritance (Greg Lindstrom) http://store.pyzine.com/article.phtml?a=6 Programming and Oxford Physics: Python, Pascal, or C (Michael Williams) http://store.pyzine.com/article.phtml?a=5 Python Gaming with Pygame (Pete Shinners) http://store.pyzine.com/article.phtml?a=2 What's It For? On the Use of Python Idioms (Raymond Hettinger) http://store.pyzine.com/article.phtml?a=4 Py Weblogs ---------- We're also pleased to announce two new Py weblogs, where Publisher Bryan Richard and new Managing Editor Kendall Clark spew great quantities of hot air, daily, about Python, Py, and the world at large: Publisher's weblog[2] http://pyzine.com/#weblog Editor's weblog[3] http://pyzine.com/log/ Fire up your browsers and RSS newsreaders and keep track of all the happenings in the Py world. The Next Issue -------------- Py's new Managing Editor, Kendall Clark, is busy begging, borrowing, and stealing content for future issues. Want to maximize your Python whuffie?[4] One way is to write a piece (or even a column) for Py. Contact Kendall Clark (kendall@monkeyfist.com) and he'll pester you endlessly with ideas, suggestions, and edits. Upcoming Py issues will focus on Python web development & infrastructure, weblogging & RSS, and burgeoning world of friendly Python forks. Py Store -------- For subscriptions, article abstracts, previous issues, and bootlegged copies of Py3K, visit the Pyzine.com store: http://store.pyzine.com/ Subscriptions include 4 issues of Py in the newly expanded format: 32 pages of fresh, steaming Python content by some of the most respected writers of the community. U.S. subscriptions are $40; Canadian subs are $60; all others $75. All prices subject to the whims of the publisher. About Py -------- Py is a print technical journal for Python developers. A lack of competition does not keep Py from being the best -- quite the opposite, in fact. About Py Parlour Press ---------------------- >From the fringes of the publishing industry comes Py Parlour Press. Concerned only with producing the finest publications money can buy, this is outlaw tech publication at its finest. NOTES ----- [1] http://pyzine.com/ [2] RSS version: http://pyzine.com/index.xml [3] RSS version: http://pyzine.com/log/index.xml [4] http://www.thestandard.com/article/display/0,1151,19498,00.html From langyear02@vendian.org Tue Jan 14 16:48:46 2003 From: langyear02@vendian.org (Mitchell N Charity et al) Date: Tue, 14 Jan 2003 11:48:46 -0500 Subject: The Year In Scripting Languages Lua/Perl/Python/Ruby/Tcl 2002 Message-ID: This is a joint review of 2002 for the programming languages Lua, Perl, Python, Ruby, and Tcl. It was a cooperative effort by people from the five communities. An HTML version is available at http://www.vendian.org/language_year/ . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lua in 2002 2002 was a very busy year for Lua [1]. A major new version (5.0) was discussed, planned, implemented, and released in alpha and beta versions. We also saw a marked increase of the size and participation of the Lua community. Details on this and other events that happened to Lua in 2002 follow. * Work on a new version The plans for a new version (4.1) and their discussion in the mailing list [2], which had officially started with the release of an alpha version in July 2001 and several work versions since then, finally converged to a comprehensive mature proposal for Lua 5.0 in April. An alpha version was released in August and a beta version was released on December; the final version of Lua 5.0 expected to be released by February 2003. Lua 5.0 is an important step in the evolution of Lua (hence the leap from 4.0 directly to 5.0). Lua 5.0 includes several new features, such as lexical scoping, Lua coroutines and support for external multithreading and coroutines, metatables and metamethods, fine control of global name resolution, tail calls, fast register-based virtual machine, safe garbage-collector metamethods, new error handling protocol, and more. All this is of course done respecting our design goals: simplicity, efficiency, portability, and low embedding cost. * Choosing a new license Starting with Lua 5.0, Lua will be released under the MIT license [3]. Up to now we had our own license [4], very similar to but not identical to the zlib license [5] and others. The community pointed to us that the license was sometimes a source of confusion and misunderstanding. So we decided that having a standard license would clear the issue and allow more people, specially in the industry, to choose Lua without being concerned with legal matters. * Community participation The active participation of the Lua community -- both in the mailing list and in the lua-users wiki [6] -- was an important ingredient in making all this happen. The community is also organizing itself. Since May, it maintains a web interface to the mailing list archive [7] that can be searched and also referred to in lua-l: postings now have a permanent link and this helps to answer recurring questions. This web interface is much faster than the one at Yahoo Groups that exists since March 1999 (and also has no annoying ads). A newsgroup interface to the mailing list [8] was created at gname.org in July by their own initiative. The mailing list remains the premier forum for discussing Lua. It has now over 700 subscribers (435 direct subscribers plus 284 registered at Yahoo Groups). Novice and experts participate actively in the discussions, which are instructive and friendly. The wiki at lua-users also experienced a marked growth in 2002 and is becoming a major source of detailed technical information about Lua, some of it distilled and condensed from lua-l postings. Many people contributed new pages, corrected and expanded existing ones, and helped to maintain several pages moved from www.lua.org. The wiki also now contains the details and implementations of feature proposals. As intended when it was launched, the wiki has become the ideal companion for the mailing list. A small part of the community got together in person in February, at a Lua Library Design Workshop [9] held at Harvard University. The move in Lua 5.0 to namespaces in libraries was one consequence of this meeting. The workshop also provided an opportunity to meet Roberto Ierusalimschy [10], Lua's chief architect. * Lua in 2003 2003 will bring the official release of Lua 5.0 and also probably Lua 5.1, at least in work stage. Our main focus in Lua 5.1 is the implementation of incremental garbage collection to replace the current atomic mark-and-sweep. The need for this was identified by the community, specially those using Lua for games. We shall probably also see a new draft of the long-waited Lua book by Roberto, updated for Lua 5. * References 1. http://www.lua.org/ 2. http://www.lua.org/lua-l.html 3. http://www.lua.org/license.html 4. http://www.lua.org/copyright.html 5. http://www.opensource.org/licenses/zlib-license.html 6. http://lua-users.org/wiki/ 7. http://lua-users.org/lists/lua-l/ 8. http://news.gmane.org/thread.php?group=gmane.comp.lang.lua.general 9. http://lua-users.org/wiki/LuaLibraryWorkshop 10. http://www.lua.org/authors.html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Perl While 2002 was a year during which the Perl 6 design development process grown up, Perl 5 was not left behind. A new major version, Perl 5.8.0, was released, introducing major features. * Perl 5.8.0 released Perl 5.8.0 was released after more than two years of work. Among its new features [1], the most important ones are a full support for Unicode, a new implementation of threads, a completely reworked I/O subsystem, and support for 64-bit architectures. This release was also a personal win from the point of view of the Perl developers, because it was extensively tested, due to a much improved test suite, and to volunteers to run it on a daily basis on a wide range of OSes and configurations. There's also more in Perl than Perl itself. Numerous projects based on Perl have also started or have significantly evolved. Among them, I have to mention at least the popular mod_perl Apache module [2] which allows to embed Perl into a web server. * The Community The Perl community is so dynamic and well-organized that I can't choose where to begin. Well, the spinal nerve of this community is probably the Comprehensive Perl Archive Network (or CPAN [3]), central repository for a whole universe of Perl modules. But the community is organized among several axes : on Internet, you'll find an extensive set of mailing lists [4], newsgroups in the comp.lang.perl.* hierarchy, news and weblogs [5], help and idea sharing for beginners and for gurus at perlmonks [6], and I'm sure I'm forgetting a load of resources. There are also two noticeable high-quality publications : the Perl Review [7] and the Perl Journal [8]. In the real world, numerous Perl users groups (known as the Perl mongers [9]) have succeeded in cementing this community as well as promoting the language. Among the factual successes are the organization of the Yet Another Perl Conferences [9], that will continue in 2003, and the funding of the Perl 6 core team through the Perl Foundation [10] (Perl 6 being the next major step in Perl, redesigned and reimplemented from the ground up). * Perl 5 in 2003 The development version of Perl (5.9.0) is being actively worked on, and development releases are to be expected, as well as a new maintenance release, Perl 5.8.1, aimed at fixing the most outstanding bugs discovered in Perl 5.8.0. Currently, it appears that those bugs pertain (quite logically) to the newest features : threads and Unicode. The to-do lists are not small, and, with the start of the Perl 6 project, Perl needs contributors more than ever : as a popular saying reminds us, patches are welcome. If you want to follow what's happening in the world of Perl development, you can read the weekly summaries of the developers' mailing lists, published on perl.com [11] for Perl 6 and Parrot (Parrot being the future Perl 6 virtual machine) and on use.perl [5] for Perl 5. In the process we hope to bring Perl to higher levels to maturity, and to have fun. At least that's how the future looks from there. * References 1. http://dev.perl.org/perl5/news/2002/07/18/580ann/ 2. http://perl.apache.org/ 3. http://cpan.org/ 4. http://lists.perl.org/ 5. http://use.perl.org/ 6. http://www.perlmonks.org/ 7. http://www.theperlreview.com/ 9. http://www.tpj.com/ 9. http://www.yapc.org/ 10. http://www.perl-foundation.org/ 11. http://www.perl.com/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Python: Year in Review The Python community spent a good part of 2002 learning how to use new-style classes, introduced with Python 2.2, and polishing their implementation with a couple of maintenance releases. We also released an alpha version of Python 2.3 on the last day of the year. * Python 2.2 released The major new feature of Python 2.2, which was actually released just before Christmas 2001, is new-style classes. This feature eliminates many of the differences between Python's builtin types (list, dict, &c.) and user-defined types implemented with class statements. It allows programmers to subclass builtin types in Python and makes it easier to define new classes in C. New-style classes introduced many subtle differences in class semantics and many new features for classes, including a super function, class and static methods, and properties. Backwards compatibility was addressed in a fairly clean way: Both new-style classes and so-called "classic" classes are available in the interpreter via different metaclasses. The classic metaclass is used unless the class inherits from the new builtin type "object" or explicitly declares its metaclass. See Guido van Rossum's essay "Unifying types and classes in Python 2.2" for a more thorough discussion of new-style classes. http://www.python.org/2.2.2/descrintro.html There were four maintenance releases during the calendar year. The currently recommended versions of Python are 2.2.2 and 2.1.3. The 2.2.2 release seems to be quite stable, with more than 100 bugs fixed since the original 2.2 release. The 2.1.x releases this year fixed a few critical bugs. * Python in 2003 The goals for Python 2.3 are modest compared to new-style classes. The alpha release on Dec. 31 introduced only minor language changes, like a new boolean type. Most of the improvements are to the standard library, including a new BerkeleyDB interface, a logging module styled after log4j, a family of new datetime types, a pair of set types, and a new random number generator (Mersenne Twister). The module import mechanism was also improved, with a new set of hooks and support for zip archives. The custom object allocator, which has been an optional, compile-time feature for a couple of releases, has been enabled by default for 2.3. It is a fast, special-purpose allocator for small blocks that sits on top of the platform malloc. It saw a major overhaul to improve stability and performance between 2.2 and 2.3 See Andrew Kuchling's "What's New in Python 2.3" document for more information about the release. http://www.python.org/doc/2.3a1/whatsnew/ One reason (among many) for the more modest goals of Python 2.3 is a sense in the community that the language is changing too quickly. The perception of a large or vocal part of the community is that stability, performance, and libraries will provide more benefit than new core language features. When Guido proposed the addition of a boolean type on comp.lang.python, the thread ran on for a couple of weeks and 375 messages with a vigorous opposition. It seems fair to observe, however, that many people believe that Python changes too quickly and that the new features they need are important enough to add anyway. * Notable developments The year saw a lot of development activity in the larger Python community. I've tried to include some highlights from important or interesting projects, but I'm sure there are omissions. - Boost.Python version 2, a C++ library that enables seamless interoperability between C++ and Python http://www.boost.org/libs/python/doc/ - Chandler, Mitch Kapor's foundation announced plans to develop a personal information manager written in Python http://www.osafoundation.org/ - Leo, an outlining editor that doubles as a programmer's editor and a literate programming tool http://sourceforge.net/projects/leo/ - Mailman 2.1, a mailing list manager http://www.list.org/ - omniORBpy 2.0, a robust high performance CORBA ORB for Python http://omniorb.sourceforge.net/ - Pyrex, a specialized language for writing C extension modules that extends Python with C datatype declarations http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ - Psyco 0.4.1, a specializing compiler for Python http://psyco.sourceforge.net/ - reStructuredText, the long-awaited markup language for Python docstrings and almost any other kind of text http://docutils.sourceforge.net/rst.html - Twisted 1.0, an event-driven networking framework http://twistedmatrix.com/ - Wing IDE 1.1 and up, a development environment for Python http://wingide.com/ - wxPython, a cross platform GUI toolkit based on wxWindows http://wxpython.org/ - Zope 2.5, 2.6, and an alpha release of Zope 3 an application server specializing in content management http://www.zope.org/ Four Python conferences were held in 2002, including a couple of European conferences. Many new books were published including the well-regarded Python Cookbook and the first two books on Jython, the Java implementation of Python. * Keeping up with Python news Some valuable summarizes in increasing order of frequency: Bi-weekly summaries of python-dev mailing list http://www.python.org/dev/summary/ Dr. Dobb's (weekly) Python URL http://www.ddj.com/topics/pythonurl/ Daily Python URL http://www.pythonware.com/daily/index.htm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ruby.year(2002): A report from the Ruby community Ruby [1] continued to delight its practitioners and, perhaps, tempt those who work in other languages, throughout 2002. Increased traffic on the ruby-talk mailing list suggests that more and more people from around the world are discovering Ruby and the joys it brings to programming, and visions of Ruby's future have enthused Rubyists everywhere. * Web Application Development with Ruby Web application development with Ruby is beginning to come into its own, and many web development tools achieved milestone stability releases. Web developers now have several options, including eRuby [2] (for embedding Ruby code directly into HTML documents), Amrita [3] (an alternative that uses templates to cleanly separate logic and presentation) and complete site-development frameworks like CGIKit [4] and ILE [5]. The mod_ruby [2] module for Apache is also fast and stable. * Virtual Machines The quest for improved performance also sparked a number of new Ruby projects. There are now several virtual machine (VM) development efforts, including Cardinal [6] (a Ruby front-end to Parrot), JRuby [7] (a Java implementation of the Ruby interpreter) and an as-yet-unnamed VM that Matz, the creator of Ruby, and his co-conspirators are keeping a closely guarded secret. * Improved Support for Windows and Mac OS X A lot of focus has been placed on enhancing Ruby's usability with non-Unix operating systems. The Ruby distribution for Windows [8] includes many popular Ruby extensions, as well as an HTML Help version of Thomas and Hunt's Programming Ruby, providing a very easy way for users to get up and running with either the stable or development release of Ruby. Also, beginning with the 10.2 (Jaguar) release, Ruby is now a standard part of the Mac OS X operating system. * New Versions The year ended with the release of Ruby 1.6.8, which is promised to be the last release in the 1.6.x series. The end of 2002 also saw a "preview" release of Ruby 1.8. In addition to enhancements in the Ruby language itself, the upcoming 1.8 release will incorporate several new modules into Ruby's standard library. Test::Unit [9], a rock-solid, object oriented automated unit testing framework will be included in the standard distribution. Another planned addition is REXML [10], a clean and intuitive XML processing library. * Ruby in Print There were many signs of the rising popularity of Ruby in 2002. A number of new English language books, such as Ruby in a Nutshell (Yukihiro Matsumoto), Teach Yourself Ruby in 21 Days (Mark Slagell), The Ruby Way (Hal Fulton) and Ruby Developer's Guide (Michael Neumann, Robert Feldt and Lyle Johnson), were published this year. In Japan, an additional 11 Ruby books were published (bringing the total in Japanese to 27). * Ruby Conference A notable event was the second annual Ruby Conference, held in November 2002 in Seattle, WA, USA. There were about fifteen presentations, as well as a keynote speech by Matz. Slides of those talks are available online at http://www.zenspider.com/Languages/Ruby/RubyConf2002/ . * Ruby in 2003 The upcoming year promises a number of exciting new developments. In addition to the previously mentioned Ruby 1.8, one of the most eagerly anticipated projects is FreeRIDE [11], a powerful cross-platform IDE for Ruby. This software is being designed and built by a large group of volunteers and is itself a great testimony to the strong spirit of the Ruby community. * Challenges In addition to the many successes, we as a community face a number of challenges. One is the need for better documentation and documentation tools. A related problem that a good deal of the documentation for Ruby libraries is only available in Japanese, and as a result there is substantial interest in having English translations of those texts. Another challenge for the Ruby community is the need for more well defined methods of packaging and distribution for Ruby libraries and extension modules. * More about Ruby Ruby's home page is the official source for downloads as well as information about CVS and mailing list access. The newly redesigned Ruby Application Archive [12] is an online catalog of Ruby libraries and extension modules. The Ruby Weekly News [13] is posted every week to the ruby-talk mailing list and provides a nice summary of what people are talking about. For a more comprehensive account, archives of the mailing list [14] are available as well. Finally, an important resource for Ruby developers is the Ruby Garden [15]. The Ruby Garden is a portal site that provides message boards, online polls and links to other popular Ruby web sites including the Ruby Garden Wiki [16]. * References 1. http://www.ruby-lang.org/ 2. http://www.modruby.net/ 3. http://www.brain-tokyo.jp/research/amrita/ 4. http://www.spice-of-life.net/download/cgikit/index_en.html 5. http://virtualschool.edu/ile/ 6. http://www.rubygarden.org/ruby?CardinalProject 7. http://jruby.sourceforge.net/ 8. http://rubyinstaller.sourceforge.net/ 9. http://testunit.talbott.ws/ 10. http://www.germane-software.com/software/rexml/ 11. http://www.rubyide.org/ 12. http://www.ruby-lang.org/raa/ 13. http://www.rubygarden.org/rurl/html/index.html 14. http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml 15. http://www.rubygarden.org/ 16. http://www.rubygarden.org/ruby?HomePage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl 2002 was a significant year for the Tcl community - culminating in the release of Tcl/Tk 8.4 after a long gestation period. * Tcl 8.4 released The 8.4 release includes a number of significant features, including * a new Virtual File System (VFS) layer that allows (in principle) filesystem activity to be diverted away from the native operating system to something else; drivers exist for a number of underlying "access methods", including FTP, HTTP, Metakit, WebDAV, etc. * 64 bit support - both files and arithmetic, also on 32-bit systems * major performance improvements - 8.4 is the fastest Tcl version yet * enhanced thread support, stability, and performance * Unicode and I18N improvements * three new Tk widget types, most other widgets have been enhanced * native MacOS X Aqua support Details of these and other changes can be found at [1]. Or start your Tcl explorations from this new URL (redirect): http://www.tcl.tk/ The other significant development in the Tcl world was in the area of portability and deployment. The introduction of VFS to the core enables Starkits [2], which provide easy single-file deployment of applications and packages (like Java jar files, but with more power). They can be interpreted using either Tclkit, a single file Tcl/Tk interpreter available on numerous platforms, or ActiveTcl, the ActiveState Tcl distribution. An archive of Starkits is available at [3]. * The Community The Tcl community continues to be an active and vibrant group of very diverse characters, supported by a number of forums: * Tclers' Wiki - over 3500 pages of useful information (mostly, but not exclusively) related to Tcl/Tk and associated technology [4] * Tclers' Chat, typically with a number of Tcl "experts" online at most times - available by browser [5] or a tkchat application [6] * comp.lang.tcl newsgroup and mailing lists, see selection at [7] * Tcl-URL! - a summary of highlights posted weekly on comp.lang.tcl The Tcl community holds on to its tradition of welcoming both newbies and interaction with people from other language communities. A good starting point is the comp.lang.tcl newsgroup. * Notable developments The last year saw the continued use of Tcl/Tk in a very wide variety of applications (both Open Source and commercial), including: * ActiveTcl / TclDevKit / Komodo - Tcl/Tk core and tools development at ActiveState [8] * the Tcl/Tk Plugin - revival of web browser plugin based on Tcl/Tk 8.4 and taking advantage of new features [9] and supporting both Internet Explorer and Mozilla (on a wide variety of platforms) * Tclkit - standalone single-file runtime with Tcl, Tk, Incrtcl, Metakit, TclVFS, zlib [11] * AOLServer - high-performance web/content server used by AOL [10] * Critcl - embedding C/C++ in Tcl, on-the-fly compiled or precompiled for easy deployment [12] * gnocl - is a GTK+ and Gnome extension that provides easy to use commands to quickly build GTK+ and Gnome compliant user interfaces, it interoperates with Tk [19] * InstallBase - a multi-platform GUI installer in Tcl/Tk and designed to work on Windows, Mac, and almost any flavor of UNIX / Linux [18] * MOODS - graphical monitoring application for Linux [13] * Privaria - a Secure, Firewall-Friendly Platform for Peer-to-Peer Networking [14] * SnackAmp - a multi-platform audio music (mp3, ogg ,wav ...) player and organizer for large music collections [15] * TCLBridge - a powerful component designed to allow seamless integration of Tcl/Tk and any ActiveX capable language, such as Visual Basic 6 and any of the Microsoft .NET languages [16] * Toucan - a Desktop IDE for developing Palm OS applications [17] * Wikit - a wiki implementation used to power the Tclers' Wiki, but also can be used to embed a wiki in applications for documentation/help [20] There are more applications and extensions than space to mention them. See news:comp.lang.tcl.announce for an overview. * Tcl in 2003 2003 is likely to be a year of consolidation - Tcl/Tk 8.4.1 is out, solid, and becoming the standard Tcl version; plans for 8.5 and/or 9 are under consideration. The coming year is also likely to see more work in the area of repositories/archives, more interfaces to other languages for Tcl/Tk, and yet more platforms supported. * References 1. http://www.tcl.tk/software/tcltk/8.4.html 2. http://www.equi4.com/starkit 3. http://mini.net/sdarchive/ 4. http://wiki.tcl.tk/ 5. http://mini.net/cgi-bin/chat.cgi 6. http://wiki.tcl.tk/tkchat 7. http://aspn.activestate.com/ASPN/Tcl/Mail 8. http://www.activestate.com/Tcl 9. http://tclplugin.sf.net/ 10. http://www.aolserver.com/ 11. http://www.equi4.com/tclkit 12. http://www.equi4.com/critcl 13. http://jfontain.free.fr/moodss/ 14. http://eepatents.com/privaria/ 15. http://snackamp.sourceforge.net/ 16. http://www.tclbridge.com/ 17. http://toucan.sourceforge.net/ 18. http://installbase.sourceforge.net/ 19. http://www.dr-baum.net/gnocl/ 20. http://wiki.tcl.tk/wikit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thanks to the authors Luiz Henrique de Figueiredo (Lua) Rafael Garcia-Suarez (Perl) Jeremy Hylton (Python) The Ruby Community (Ruby) Jeff Hobbs, Steve Landers, and Jean-Claude Wippler (Tcl) Additional thanks to Piers Cawley, Jarkko Hietaniemi, Jeremy Hylton, Lyle Johnson, Dan Sugalski, Greg Sullivan, and Jean-Claude Wippler. A copy of this email is available at http://www.vendian.org/language_year/ There are many useful and interesting languages not included here. If you write a similar summary, I would be glad to include it on the webpage. You might also consider similar collaborations within other super-communities. Please feel free to forward this email appropriately, but I suggest you wait a day or so to avoid duplication. Mitchell Charity From sdeibel@wingide.com Wed Jan 15 19:43:26 2003 From: sdeibel@wingide.com (Stephan R.A. Deibel) Date: Wed, 15 Jan 2003 14:43:26 -0500 (EST) Subject: Python Success Stories Message-ID: Hi, Archaeopteryx sponsors a Python Advocacy website and we've just released the first batch of Python Success Stories that we've collected as part of this effort: http://pythonology.org/success Many of these will also appear in printed form in a booklet from O'Reilly Associates. The stories can be reused on other websites. If you are interest in doing so please see: http://pythonology.com/success&help=1 Or, if you want to contribute your own story, see: http://pythonology.com/successguide Thanks, - Stephan ------------------------------------------------------------------------ Wing IDE for Python Archaeopteryx Software, Inc www.wingide.com Take Flight! From fdui@openlight.com Thu Jan 16 04:26:51 2003 From: fdui@openlight.com (fdui@openlight.com) Date: Wed, 15 Jan 2003 23:26:51 -0500 Subject: Flightdeck-UI MVM 0.1.2 + Library 0.1.5 released Message-ID: *** The Flightdeck-UI project is looking for testers and user feedback *** on all platforms. If you come up with your own themes and control *** files, they may be included in the distribution. In addition, *** links to good screenshots can be added to the Flightdeck-UI site. *** The MVM application can also show your name, organization, URL and *** a brief description for any control file or theme that you create. The goal of the Flightdeck-UI project is to apply ideas from aircraft instrumentation design to general purpose user interfaces. New features added to MVM allow any numerical value published on almost any website to be monitored by the application. Example control files (supplied with the distribution) illustrate the monitoring of current outdoor temperatures in the U.S. and Europe. MVM can be quickly configured to track data from several sources (for example your favorite stock, the local weather, the number of visits to your website, etc.). It will then sit in some corner of your desktop, allowing you to read this information with an occasional glance. MVM includes a graphical editor and theme support. Go see the screenshots at "http://www.openlight.com/fdui/screens.html". MVM is built on top of the Flightdeck-UI library, which provides widgets based on the basic instruments of flight. See the project homepage ("http://www.openlight.com/fdui/") to download the software, read more information on the current as well as future Flightdeck-UI widgets, learn the rationale behind the MVM monitoring approach, etc. The README files for both the application and the library, as well as two whitepapers are available from the project homepage. MVM and the Flightdeck-UI library are both open source/free software. They have been tested under Linux (RedHat 7.2) and a little under Windows 95. Questions can be emailed to originator of this message. Your ideas and participation will be appreciated! From dalke@dalkescientific.com Thu Jan 16 18:14:48 2003 From: dalke@dalkescientific.com (Andrew Dalke) Date: Thu, 16 Jan 2003 11:14:48 -0700 Subject: ANN: NCBI EUtils client Message-ID: We have developed a client-side interface to NCBI's "EUtils" server, which is a web service for querying their Entrez databases, including GenBank and PubMed. It is available from http://www.dalkescientific.com/EUtils/ and distributed under the Biopython license, http://www.biopython.org/License.shtml Example: Get all protein sequences related to protein GI:4579714 >>> import EUtils >>> from EUtils import HistoryClient >>> client = HistoryClient.HistoryClient() >>> result = client.post(EUtils.DBIds("protein", "4579714")) >>> related = result.neighbor_links("protein") >>> related_dbids = related.linksetdbs["protein_protein"].dbids >>> proteins = client.post(related_dbids) >>> len(proteins) 223 >>> infile = proteins.efetch(retmode = "text", rettype = "fasta") >>> >>> fasta = infile.read() >>> print fasta[:788] >gi|27450749|gb|AAO14677.1|AF508258_1 rhodopsin [Pyrocystis lunula] MAPIPDGFTYGQWSLVYNSLSFGIAGMGCATIFFWLQLPNVSKSYRTALTITGLVTAIATYHYVRIFNSW VDAFKVVNVNGGDYTVTLLGAPFNDAYRYVDWLLTVPLLLIELILVMKLPKAETVKLSWNLGVASAVMVA LGYPGEIQDDLLVRWFWWAMAMIPFYYVVVTLVNGLSDATAKQPDSVKSLVVTARYLTVISWLTYPGVYI IKSMGLAGNIATTYEQVGYSVADVVAKAVFGVLIWAIAAGKSDEEEKNGLLG >gi|6319528|ref|NP_009610.1| Homolog to HSP30 heat shock protein Yro1p; Yro2p [Saccharomyces cerevisiae] MSDYVELLKRGGNEAIKINPPTGADFHITSRGSDWLFTVFCVNLLFGVILVPLMFRKPVKDRFVYYTAIA PNLFMSIAYFTMASNLGWIPVRAKYNHVQTSTQKEHPGYRQIFYARYVGWFLAFPWPIIQMSLLGGTPLW QIAFNVGMTEIFTVCWLIAACVHSTYKWGYYTIGIGAAIVVCISLMTTTFNLVKARGKDVSNVFITFMSV IMFLWLIAYPTCFGITDGGNVLQPDSATIFYGIIDLLILSILPVLFMPLANYLGIERLGLIFDEEPAEHV GPVAEKKMPSPASFKSSDSDSSIKEKLKLKKKHKKDKKKAKKAKKAKKAKKAQEEEEDVATDSE >>> Andrew Dalke dalke@dalkescientific.com -- Need usable, robust software for bioinformatics or chemical informatics? Want to integrate your different tools so you can do more science in less time? Contact us! http://www.dalkescientific.com/ From knight@baldmt.com Thu Jan 16 22:53:34 2003 From: knight@baldmt.com (Steven Knight) Date: Thu, 16 Jan 2003 16:53:34 -0600 (CST) Subject: ANNOUNCE: SCons 0.10 is now available Message-ID: SCons is a software construction tool (build tool, or make tool) written in Python. It is based on the design which won the Software Carpentry build tool competition in August 2000. Version 0.10 of SCons has been released and is available for download from the SCons web site: http://www.scons.org/ Or through the download link at the SCons project page at SourceForge: http://sourceforge.net/projects/scons/ RPM and Debian packages and a Win32 installer are all available, in addition to the traditional .tar.gz and .zip files. WHAT'S NEW IN THIS RELEASE? IMPORTANT: Release 0.10 contains the following interface changes: - The meaning of the third argument passed to user-defined Scanner functions has changed. It was formerly the target node being built, and is now a list of directories (a path) which may be searched for files found during the scan. - The .sconsign files are no longer ASCII text, they are now a pickled (binary) Python data structure. This release adds the following features: - SCons now prints a description of Python functions being executed as actions to update a target. - Scanners now support a "recursive" attribute that specifies the Scanner will be re-applied to files found during the scan. - A new Clean() method supports removing user-specified files when using the -c option. - New SetJobs() and GetJobs() method support setting or fetching the default number of jobs. - The MinGW tool chain is now supported. - A new --debug=includes option has been added. The following fixes have been added: - SCons now symlinks or copies files from Repositories on different file systems, when hard links won't work. - The Install() method prints something when the -n option is used. - When the -n option is used, SCons no longer creates duplicate source files in a BuildDir(). - The Program() Builder (and other multiple-step Builders) now work properly when only the source file is specified. - A bug when building a file whose basename matched the directory in which it lived has been fixed. - The -c options will now properly remove symlinks. - The Environment.get() now returns None by default. - Error messages now all start with "scons: ***". - Warning messages now all start with "scons: warning:". Performance has been improved as follows: - Scanners are now called once and only once per file. - Internal checks for whether a file has a Builder have been significantly sped up. - Unnecessary internal imports have been removed. The following changes have been made to the SCons packaging: - The scons-local packages no longer contain Python bytecode (*.pyc) files. The documentation has been improved: - The initial explanation of SConscript files has been improved. - A misformatted table in the StaticObject description has been fixed. - New features have been documented. ABOUT SCONS Distinctive features of SCons include: - a global view of all dependencies; no multiple passes to get everything built properly - configuration files are Python scripts, allowing the full use of a real scripting language to solve difficult build problems - a modular architecture allows the SCons Build Engine to be embedded in other Python software - the ability to scan files for implicit dependencies (#include files); - improved parallel build (-j) support that provides consistent build speedup regardless of source tree layout - use of MD5 signatures to decide if a file has really changed; no need to "touch" files to fool make that something is up-to-date - easily extensible through user-defined Builder and Scanner objects - build actions can be Python code, as well as external commands An scons-users mailing list is available for those interested in getting started using SCons. You can subscribe at: http://lists.sourceforge.net/lists/listinfo/scons-users Alternatively, we invite you to subscribe to the low-volume scons-announce mailing list to receive notification when new versions of SCons become available: http://lists.sourceforge.net/lists/listinfo/scons-announce ACKNOWLEDGEMENTS Special thanks to Derrick 'dman' Hudson, Steve Leblanc, Lachlan O'Dea, and Anthony Roach for their contributions to this release. On behalf of the SCons team, --SK From thanos@0x01.com Wed Jan 15 20:13:18 2003 From: thanos@0x01.com (thanos vassilakis) Date: 15 Jan 2003 12:13:18 -0800 Subject: How-To install and use PSO services under Windows NT/2000/XP Message-ID: A new document by Vadim Shaykevich showing how to install and use PSO services under Windows NT/2000/XP http://sourceforge.net/docman/display_doc.php?docid=14746&group_id=49265 From drifty@bigfoot.com Fri Jan 17 22:43:03 2003 From: drifty@bigfoot.com (Brett C.) Date: 17 Jan 2003 14:43:03 -0800 Subject: python-dev Summary for 2003-01-01 through 2003-01-15 Message-ID: +++++++++++++++++++++++++++++++++++++++++++++++++++++ python-dev Summary for 2003-01-01 through 2002-01-15 +++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ between January 1, 2003 and January 15, 2003 (inclusive). It is intended to inform the wider Python community of on-going developments on the list that might interest the wider Python community. To comment on anything mentioned here, just post to python-list@python.org or comp.lang.python in the usual way; give your posting a meaningful subject line, and if it's about a PEP, include the PEP number (e.g. Subject: PEP 201 - Lockstep iteration). All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join python-dev! This is the ninth summary written by Brett Cannon (and fashionably late, no less!). All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_; you can safely ignore it (although I suggest learning reST; its simple and is accepted for PEP markup). Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the original itself. .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. contents:: ====================== Summary Announcements ====================== This summary has been written in the first-person. Aahz had suggested I write in third-person, but I just can't stand it. =) A new project named `Minimal Python`_ whose goal is to write a Python interpreter using a minimal amount of C and maximizing the amount of code written in Python. As of now it is just a mailing list but some interesting points have already been made and it has some major Python programmers involved with it so it will more than likely succeed. Leaving out `Broken strptime in Python 2.3a1 & CVS`_ for two reasons. One, the only lesson in that thread is that when C does not give you a good standard, rewrite the code in Python and come up with one. Two, since the whole thing revolves around my code I would be more biased than I normally am. =) Also, some of the threads have notes with them mentioning how I could not find them in the Mailman archive. And go to PyCon_ (especially since I am going to be giving a tutorial on reST_)! .. _Minimal Python: http://codespeak.net/mailman/listinfo/pypy-dev .. _Broken strptime in Python 2.3a1 & CVS: http://mail.python.org/pipermail/python-dev/2003-January/031983.html .. _PyCon: http://www.python.org/pycon/ =================================================== `PEP 303: Extend divmod() for Multiple Divisors`__ =================================================== __ http://mail.python.org/pipermail/python-dev/2002-December/031511.html Splinter threads: - map, filter, reduce, lambda (can't find thread in Mailman archive) As mentioned in the `last summary`_, this thread sparked a huge response to the built-ins in Python (if you don't remember what all the built-ins are, just execute ``dir(__builtins__)`` in the interpreter). It started with Christian Tismer calling for the deprecation of ``divmod()`` since he "found that divmod compared to / and % is at least 50 percent *slower* to compute", primarily because ``divmod()`` is a function and the overhead that comes from being that. Guido responded and agree that, in hindsight, "Maybe it wasn't such a good idea". But since it isn't broken he is not for replacing it since "At this point, any change causes waste". Besides, Tim Peters came up with the great compromise of removing " divmod() when [Tim's] dead. Before then, it stays." Guido would rather have the energy spent on adding the ability for the language to recognize that it "is a built-in so it can generate more efficient code". This led to Christian suggesting changing Python so that built-ins like ``divmod()`` that can easily be written in Python be done so and thus remove the C version without any backwards-compatibility issues. Guido's response was to "first make some steps towards the better compiler [Guido] alluded to. Then we can start cutting." Tim in an email said that "If we have to drop a builtin, I never liked reduce ". This then led to Barry Warsaw saying he could stand to lose ``apply()``. Then Raymond Hettinger nominated ``buffer()`` and ``intern()`` as things that could stand to go away. Michael Hudson suggested ``map()`` and ``filter()``. Guido said ``apply()`` could stand getting a PendingDeprecationWarning since the new calling conventions (``fxn(*args, **kwargs)``) replace ``apply()``'s use. He almost mentioned how he wanted something like ``foo(1, 2, 3, *args, 5, 6, 7, **kw)`` since the ``5, 6, 7`` is currently not supported. But the call for the removal of ``lambda`` is what really set things off. People in support of the removal said that nested scoping removed a huge reason for having ``lambda``. But functional programmers said that they wouldn't let ``lambda`` be taken away. It was agreed it had its uses, but the name was not relevant to its use and its syntax is non-standard and should be changed in Python 3000. Someone suggested renaming it ``def``, but Guido said no since "Python's parser is intentionally simple-minded and doesn't like having to look ahead more than one token" and using ``def`` for ``lambda`` would break that design. Barry suggested ``anon`` which garnered some support. It was also suggested to have ``lambda`` use parentheses to hold its argument list like a good little function. And then all of this led to a discussion over features in Python that are not necessarily easy to read but are powerful. Some said that features such as list comprehensions, the ``*/**`` calling syntax, etc., were not good since they are not syntactically obvious. This was argued against by saying they are quite useful and are not needed for basic programming. .. _last summary: http://www.python.org/dev/summary/2002-12-16_2002-12-31.html ================== `Holes in time`__ ================== __ http://mail.python.org/pipermail/python-dev/2003-January/031836.html Tim Peters brought up an inherent problem with the new datetime_ type and dealing with timezones and daylight savings. Imagine when DST starts; the clock jumps from 1:59 to 3:00. Now what happens if someone enters a time that does not use DST? The implementation has to handle the possibility of something inputting 2:00 and instantly pushing forward an hour. But what is worse is when DST ends. You go from 1:59 back to 1:00! That means you pass over everything from 1:00 to 1:59 twice during that day. Since it is flat-out impossible to tell, what should be done in this case? Originally ``datetime`` raised a ValueError. It has now been changed to "go through 1:00am to 1:59am twice" according to Aahz. If you want to read a paper on the history of time go to http://www.naggum.no/lugm-time.html as recommended by Neil Schemenauer. .. _datetime: http://www.python.org/dev/doc/devel/lib/module-datetime.html =========================================== `no expected test output for test_sort?`__ =========================================== __ http://mail.python.org/pipermail/python-dev/2003-January/031889.html This thread was originally started by Skip Montanaro to try to figure out why ``test_sort`` was failing to catch an error when run through ``regrtest.py``. But Skip quickly realized ``regrtest.py`` was using the wrong directories. What makes this thread worth mentioning is a question I posed about whether it was worth converting tests over to PyUnit. Guido said not for the sake of converting, but if you were going to be improving upon the tests, then moving a testing suite over to PyUnit was a good idea. It was also said that all new testing suites should use PyUnit (although doctest is still acceptable, just not preferred). Walter Dörwald started `patch #662807`_ to use for converting tests to PyUnit. So give a hand if you care to. .. _patch #662807: http://www.python.org/sf/662807 ============ binutils ============ (Can't find in Mailman archive) Andrew Koenig told python-dev of a problem with binutils_ 2.13 way back in the `2002-089-16 through 2002-09-01 summary`_. Well, it appears that 2.13.2 fixes the issues. .. _2002-089-16 through 2002-09-01 summary: http://www.python.org/dev/summary/2002-08-16-2002-09-01.html =========================== The meaning of __all__ =========================== (Can't find in Mailman archive) Jack Jansen asked what the proper use of ``__all__``; a discussion on the PyObjC_ mailing list sparked this question. The answer is that ``__all__`` is used for the public API of a module. .. _PyObjC: http://pyobjc.sourceforge.net/ ====================================== PEP 301 implementation checked in ====================================== (Can't find in Mailman archive; http://mail.python.org/pipermail/python-list/2003-January/137270.html goes to python-list discussion) AM Kuchling announced that the `PEP 301`_ implementation by Richard Jones. The web server handling everything is at `amk.ca`_ off of a DSL line so don't hit it too hard. An example of how to change a Distutils ``setup.py`` file is given in the e-mail. .. _PEP 301: http://www.python.org/peps/pep-0301.html .. _amk.ca: http://www.amk.ca/cgi-bin/pypi.cgi ======================================= bz2 problem deriving subclass in C ======================================= (Can't find in Mailman archive) This thread was originally about a patch by Neal Norwitz and how to properly deal with deallocating in C code. Apparently this has nipped several people in the bum and has changed since the introduction of new-style classes. It appears that if you are deallocating a base type, you call its ``tp_dealloc()`` function; if it is a new-style class, you call ``self->ob_type->tp_free()``. ==================== `Cross compiling`__ ==================== __ http://mail.python.org/pipermail/python-dev/2003-January/031848.html (Link only part of thread; rest missing) Splinter threads: - `Bastion too `__ - `What attempts at security should/can Python implement? `__ - `Whither rexec? `__ - `tainting `__ Originally a thread about cross-compilation on OS X to Windows by Timothy Wood, this ended up changing into a thread about security in Python. As has come up multiple times before, rexec_'s lack of actual security for new-style classes came up. This then led to a question of whether Bastion_ was secure as well. The answer was no and have now been subsequently sabotaged on purpose by Guido; they now require you to manually edit the code to allow them to work. A discussion on how to make Python secure came up. Various points were made such as how to deal with introspection and how people might try to get around being locked out of features. Tainting was also mentioned for strings. If you need some security in your app, take a look at mxProxy_. Its design is similar to how Zope3_ handles security. .. _rexec: http://www.python.org/doc/current/lib/module-rexec.html .. _Bastion: http://www.python.org/doc/current/lib/module-Bastion.html .. _mxProxy: http://www.egenix.com/files/python/mxProxy.html .. _Zope3: http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage =========================== `tutor(function|module)`__ =========================== __ http://mail.python.org/pipermail/python-dev/2003-January/031893.html (Only part of thread; rest missing from archive) Christopher Blunk proposed the idea of having a built-in ``examples()`` function or something similar that would spit out example code on how to use something. There was a discussion as to whether it was reasonable for Python to try to keep up a group of examples in the distribution. It was agreed, though, that more code examples would be good to have *somewhere*. One place is in the Demo_ directory of the source distribution. Problem with that is it is only available in the source distribution and it is not vigorously maintained. Both of these are solvable, but it didn't look like anyone was taking the reigns to cause this to happen. Another was to push people to give to an online repository (such as the `Python Cookbook`_) to keep it centralized and accessible by anyone. Problem with that is it creates a dependency on something outside of PythonLab's control. The last option was adding it to the module documentation. This is the safest since it means it becomes permanent and everyone will have access to it. But it has the same drawback as all of these other suggestions; you can't access it in the interpreter as easily as you can ``help()``. The thread ended with no conclusion beyond cleaning up the ``Demos`` directory and adding more examples to the official documentation would be nice. .. _Demo: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Demo/ .. _Python Cookbook: http://aspn.activestate.com/ASPN/Python/Cookbook/ ========================================= `PEP 297: Support for System Upgrades`__ ========================================= __ http://mail.python.org/pipermail/python-dev/2003-January/031838.html MA Lemburg asked if Guido would be willing to let an implementation of `PEP 297`_ into Python 2.3. He said yes and would also be willing to add it to 2.2.3 and even 2.1.4 if that version ever comes about. A discussion of how to handle the implementation began. The agreed upon directory name became ``site-package-`` with ```` being the full version: major.minor.micro. ``site.py`` will be modified so that if the current version of Python is different from the version of the directory that it won't add it to ``sys.path``. There was the brief idea of deleting the directory as soon as the version did not match, but that was thought of being harsh and unneeded. .. _PEP 297: http://www.python.org/peps/pep-0297.html ================================ `PyBuffer* vs. array.array()`__ ================================ __ http://mail.python.org/pipermail/python-dev/2003-January/031841.html (Only part of thread; rest missing from archive) Splinter threads: - `Slow String Repeat `__ Bill Bumgarner asked whether ``PyBuffer*`` or ``array.array()`` was the proper thing to use because one is like a huge string and the other is unsigned ints. Guido basically said to just use strings like everyone else for byte storage. Bill said he would just live with the dichotomy. This thread also brought up a question of performance for the code ``array.array('B').fromlist([0 for x in range(0, width*height*3)])``. Was cool to watch various people take stabs as speeding it up. Written in Python, the fast way was to change it to ``array.array('B', [0])*width*height*3``; doing several decent-sized calls minimized ``memcpy()`` calls in the underlying C code. Raymond Hettinger came up with a fast way to do it in C. ========================== `new features for 2.3?`__ ========================== __ http://mail.python.org/pipermail/python-dev/2003-January/031837.html Neal Norwitz wanted to get the tarfile_ module into Python 2.3. This led to Guido saying he wanted to get Docutils_ and better pickling for new-style classes in as well. The Docutils idea was shot down because it was stated it currently is not ready for inclusion. 2.4 is probably the version being shot for. The pickle idea raised security ideas (this is becoming a trend for some reason on the list lately). In case you didn't know, you shouldn't run pickled code you don't trust. .. _tarfile: http://python.org/sf/651082 ================ `sys.path[0]`__ ================ __ http://mail.python.org/pipermail/python-dev/2003-January/031896.html Thomas Heller had a question about the documented handling of ``sys.path[0]``. This quickly led to the point that the value, when specified and not the empty string, is a relative path; not necessarily the desired result. And so `patch #664376`_ was opened to make it be absolute. .. _patch #664376: http://www.python.org/sf/664376 =================== `Misc. warnings`__ =================== __ http://mail.python.org/pipermail/python-dev/2003-January/031884.html MA Lemburg noticed that ``test_ossaudiodev`` and ``test_bsddb3`` were not expected skips on his Linux box. He wondered why they were not exepected to be skipped on his platform. This led to a discussion over the expected skip set and how it is decided what is going to be skipped (experts on the various OSs make the call). ============================== `Raising string exceptions`__ ============================== __ http://mail.python.org/pipermail/python-dev/2003-January/031907.html It looks like string exceptions are going to raise PendingDeprecationWarning; you have been warned. ====================== `PEP 290 revisited`__ ====================== __ http://mail.python.org/pipermail/python-dev/2003-January/032003.html Kevin Altis was cleaning up wxPython_ and all the references to the ``string`` module and pointed out that the stdlib probably could stand to have a similar cleaning as well. Guido said, though, that it is better to choose a module you are familiar with and do a complete style clean-up instead of doing a library-wide clean-up of a single thing. .. _wxPython: http://www.wxpython.org/ ============================ `Assignment to __class__`__ ============================ __ http://mail.python.org/pipermail/python-dev/2003-January/032016.html Kevin Jacobs got bitten by the change to non-heap objects that prevents the assigning to ``__class__`` (it was recently backported to the 2.2 branch). He asked if there was any way to bring it back; Guido said no because of various layout issues in the C struct and such. ================================= `Parallel pyc construction`__ ================================= __ http://mail.python.org/pipermail/python-dev/2003-January/032060.html Paul Dubois ran into an problem on a 384 processor system with .pyc file corruption. He wanted a way to just skip the creation of .pyc files entirely since his programs run for so long that initial start-up times are inconsequential and that is the point of .pyc files. Neal Norwitz is working on `patch #602345`_ to implement a command-line option. .. _patch #602345: http://www.python.org/sf/602345 ============================================== `Extension modules, Threading, and the GIL`__ ============================================== __ http://mail.python.org/pipermail/python-dev/2003-January/032017.html This thread was briefly mentioned in the `last summary`_. But it had changed into a discussion of Python external thread API. Mark Hammond commented how he had bumped up against its limitations in multiple contexts. Mark thought it would be useful to define an API where one wanted the ability to say "I'm calling out to/in from an external API". This would be a large project, though, and so Mark was not up to doing it on his own. David Abrahams, though, stepped up and said he was willing to help. So did Anthony Baxter. Tim Peters had his own twist by wanting to be able to call from a thread into a Python thread without knowing a single thing about that state of Python at that point, e.g. don't even know that that interpreter is done initializing. Mark saw the way to go about solving all of this by writing a PEP, write a new C API to solve this issue that is optional and used by extension modules wanting to use the new features, and then define a new TLS (Thread Local Storage; thank you acronymfinder.com). Mark thought the TLS would only be needed for thread-state. Someone suggested ACE_ as a TSS (Thread State Storage) implementation which can cover all the platforms that Python needs covered. But Mark suggested coming up with a "pluggable TLS" design. .. _ACE: http://doc.ece.uci.edu/Doxygen/Beta/html/ace/classACE__TSS.html ============================================ `Interop between datetime and mxDateTime`__ ============================================ __ http://mail.python.org/pipermail/python-dev/2003-January/032100.html MA Lemburg expressed interest in trying to get mxDateTime_ to play nice with datetime_. The idea of having a base type like the new basestring in Python 2.3 was suggested. But there was pickling issues with datetime, MA wanting to keep mxDateTime compatible with Python 1.5.2, and getting everyone to work in a consistent way through the base type. Another instance where interfaces would be handy. .. _mxDateTime: http://www.lemburg.com/files/python/mxDateTime.html =========================== `properties on modules?`__ =========================== __ http://mail.python.org/pipermail/python-dev/2003-January/032106.html Neil Schemenauer wanted to be able to make module variables be properties. Samuele Pedroni stepped up and said the issue for this to work was "about instance-level property apart the module thing details". He also pointed out that it would mean you could directly import a property which would cause unexpected results, thus killing the idea. Guido was disappointed he didn't get to wield his BDFL pronouncement stick and smack the idea down . ====================================== `Fwd: Re: PEP 267 improvement idea`__ ====================================== __ http://mail.python.org/pipermail/python-dev/2003-January/032165.html Oren Tirosh forwarded an e-mail from python-list@python.org to python-dev about `PEP 267`_ and various strategies. One was using negative keys for signaling guaranteed key lookup failure. Oren also played with inlining. He also said that since interned strings are now out of Python as of 2.3 (thanks to Oren) that the namespace could "have only interned strings as entry keys and avoid the need for a second search pass on first failed lookup". He even considered creating a special dict type for namespaces. .. _PEP 267: http://www.python.org/peps/pep-0267.html From pyth@devel.trillke.net Sat Jan 18 16:05:59 2003 From: pyth@devel.trillke.net (holger krekel) Date: Sat, 18 Jan 2003 17:05:59 +0100 Subject: [ann] rlcompleter2 interactive completion Message-ID: ------------------------------------------------------- rlcompleter2.py python command line completion (v0.94) ------------------------------------------------------- i am glad to announce a new module for python command line completion. It aims to further improve the python interactive experience. This is all you need to know about the user interface: which you can hit while hacking away in your interactive python session. You need to have >readline< installed and working. And using it with Python 2.2.2 gives best results. For a list of features, download and installation information please refer to http://codespeak.net/~hpk/rlcompleter2 ------------------------------------------------------- some features ------------------------------------------------------- - completion on any valid Python statement/expression - many convenient completions, e.g. func( presents function signatures and docs module. presents module docstring (among others) func autocompletes '(' or '()' obj completes '.' if obj is module or instance - when you hit multiple times you'll get increasing details about multiple completions - the completer tries to autodetect your terminal height and width. - shows type information for multiple matches. types are abbreviated by three characters. please report back any problems and bugs, have fun, holger krekel, 18th January 2003 From jason@jorendorff.com Sun Jan 19 17:58:55 2003 From: jason@jorendorff.com (Jason Orendorff) Date: 19 Jan 2003 09:58:55 -0800 Subject: path module v1.0 released Message-ID: The 'path' module provides an object-oriented wrapper for file pathnames. Less typing than os.path, more fun, and a few new tricks. Download path v1.0: http://www.jorendorff.com/articles/python/path Quick example: import os from path import path home = path(os.environ['HOME']) for f in home.walk(): if f.endswith('~') and f.isfile(): os.remove(f) Please send feedback to jason at jorendorff dot com.

path 1.0 - Python path module, an OO wrapper for os.path. From Rimon Barr Sun Jan 19 19:38:01 2003 From: Rimon Barr (Rimon Barr) Date: Sun, 19 Jan 2003 14:38:01 -0500 (EST) Subject: spyce v1.3.5 released Message-ID: Spyce v1.3.5 released on 19 January 2002 SPYCE is a server-side language that supports simple and efficient Python-based dynamic HTML generation. Those who are familiar with JSP, PHP, or ASP and like Python, should have a look at Spyce. Its modular design makes it very flexible and extensible. It can also be used as a command-line utility for static text pre-processing. Get it at: http://spyce.sourceforge.net Taglib and Spylambda modules now loaded implicitly, but only when tags and spyce lambdas are used, respectively, for improved performance. Makefile install rule made more portable; removed -D switch that is not available on MacOS X and FreeBSD versions of install. The automaton module was improved to allow the easy definition of an entire state-machine, and the EOFError exception is now properly handled when file-based Spyce caching is turned on. Change log v1.3.5 taglib and spylambda modules loaded implicitly only when needed (i.e. when tags or spyce lambdas are actually used in a given file) make install made more portable; removed install -D switch EOFError now handled for file-based spyce caching (strange Windows bug?) improvements to automaton module Enjoy, Rimon. From altis@semi-retired.com Mon Jan 20 07:09:23 2003 From: altis@semi-retired.com (Kevin Altis) Date: Sun, 19 Jan 2003 23:09:23 -0800 Subject: ANN: PythonCard 0.7 Message-ID: PythonCard is a GUI construction kit for building cross-platform desktop applications on Windows, Mac OS X, and Linux. Release 0.7 includes over 40 sample applications and tools to help users build applications in Python, including codeEditor, findfiles, and resourceEditor (layout editor). A list of changes since release 0.6.9 is at the end of this message. All the information you need about PythonCard can be found on the project web page at: http://pythoncard.sourceforge.net/ The installation instructions and walkthroughs are available on the main documentation page: http://pythoncard.sourceforge.net/documentation.html You can download the latest release at: http://sourceforge.net/project/showfiles.php?group_id=19015 For a list of most of the samples that have been built with PythonCard and screenshots of them in action go to: http://pythoncard.sourceforge.net/samples/samples.html The kind people at SourceForge host the project: http://sourceforge.net/projects/pythoncard/ If you want to get involved the main contact point is the Mailing list: http://lists.sourceforge.net/lists/listinfo/pythoncard-users PythonCard requires Python 2.2.x (2.2.2 recommended) or later and wxPython 2.3.3.1 or later (2.4.0.1 recommended). wxPython can be downloaded at http://www.wxpython.org/ Additional Notes: Remember to backup or just delete your old PythonCardPrototype directory before installing a new version, so that the old files aren't still in the package directory. If you installed a previous version of PythonCard on Windows using the binary installer, then you should be able to remove the old package via the Add/Remove Programs Control Panel. The distutils installer will put the framework, components, docs, samples, and tools in Python22\Lib\site-packages. Of course, on Linux and Mac OS X that path will be slightly different and have forward slashes. I built this release using distutils from Python 2.3a1. Thanks to Thomas Heller for helping me get the build working. Windows users should get a PythonCard menu in the Start->Programs menu with links to the documentation, samples, codeEditor, findfiles, and resourceEditor. The tools and most of the samples will now keep their config and data file info in the ".pythoncard" directory created by the framework. On Unix, the directory will be ~/.pythoncard. On Windows, the directory varies as described in the following post: http://aspn.activestate.com/ASPN/Mail/Message/PythonCard/1496793 So, if you run a PythonCard app with any of the runtime tools and select "Save Configuration" from the "Debug" menu, the window positions and sizes of your runtime windows (Shell, Message Watcher, etc.) will be saved in ".pythoncard/pythoncard_config.txt" not the PythonCardPrototype directory. Likewise, when you change the text style used by the codeEditor via the "Styles..." menu item under the "Format" menu, the modification will be saved in ".pythoncard/stc-styles.rc.cfg" ka --- Kevin Altis altis@semi-retired.com http://radio.weblogs.com/0102677/ --- changelog since release 0.6.9, 2002-10-23 Release 0.7 2003-01-15 added "Create Component Docs..." menu item to widgets sample for creating "component_documentation" directory added home directory config support, so user configs are no longer stored in PythonCardPrototype added numericArrayToImage function to graphic module BitmapCanvas can now draw numpy arrays renamed all variables named list and dict to listX and dictX to avoid built-in type name confusion numerous conversions to conform to PEP 290 replaced use of types module for type checks with built-in type factory - isinstance(i, int) replaced string module functions with string methods replaced '== None' with 'is None' and '!= None' with 'is not None' added many features to jabberChat sample added additional *. wildcards for Linux like *.TXT *.JPG, *.JPEG since Unix filenames are case-sensitive fixed stack in rpn calculator (Randy Lea) added CodeEditor component to resourceEditor added caseinsensitive_listKeySort function to util.py module used by flatfileDatabase for sorting list of dictionaries added caseinsensitive_sort function to util.py module added wordwrap function to util.py module fixed command event in slider component added new samples pages to main web site added code folding to CodeEditor component added openFileDialog and saveFileDialog wrappers to dialog.py added clipboard module added life sample added spirograph sample added wxNO_FULL_REPAINT_ON_RESIZE style to TextArea and CodeEditor components added dirwalk generator function to utils.py changed findfiles to use dirwalk fixed closeField event in RightTextField component fixed script launching to handle spaces in directory names added Phil Edwards' PySSHed sample added simpleIEBrowser sample to test IEHtmlWindow component added IEHtmlWindow component fixed default backgroundColor handling in resourceOutput.py From andrew.mcmurry@astro.uio.no Mon Jan 20 17:12:39 2003 From: andrew.mcmurry@astro.uio.no (Andrew McMurry) Date: 20 Jan 2003 18:12:39 +0100 Subject: Python-IDL Message-ID: For users of Python and RSI's Interactive Data Language here is an interoperability tool, which allows you to execute IDL commands from python, and access the results. http://www.astro.uio.no/~mcmurry/python-idl/ This could be useful if you have lots of legacy IDL code that you wish to use with a much nicer language as the front end. Python-IDL should currently be considered beta-level code. Complex uses of it may not work. Please inform me of any problems. IDL is a commercial product (and a trademark) of Research Systems Inc. Andrew From fmc@inf.ufg.br Tue Jan 14 11:22:20 2003 From: fmc@inf.ufg.br (Fabio M. Costa) Date: Tue, 14 Jan 2003 09:22:20 -0200 (=?X-UNKNOWN?Q?Hor=2E_de_ver=E3o_leste_da_Am=2E_Sul?=) Subject: Middleware2003: Call for Contributions: Tutorials deadline: 15/Jan Message-ID: ACM/IFIP/USENIX INTERNATIONAL MIDDLEWARE CONFERENCE http://middleware2003.inf.puc-rio.br Rio de Janeiro, Brazil, 16-20 June 2003 CALL FOR CONTRIBUTIONS SUBMISSION DEADLINES ==================== Tutorial Proposals: 15 January 2003 (!) Work in Progress Papers, Workshop Papers, and Posters: 20 February 2003 Following the success of past editions of the conference, Middleware2003 will host a number of high quality workshops and tutorials, as well as work-in-progress and posters sessions. We are currently seeking quality submissions for these events. Please see details below. TUTORIALS ========= Traditionally, Middleware hosts a one day tutorial program. Proposals for high-quality tutorials in all middleware-related areas, from academic research to industrial applications, are solicited. Tutorial levels may be introductory, intermediate, or advanced. Topics of broad interest are preferred. Further information: http://middleware2003.inf.puc-rio.br/tutorials.htm WORKSHOPS ========= 1) Middleware for Pervasive and Ad-Hoc Computing http://www.smartlab.cis.strath.ac.uk/MPAC/ 2) Reflective and Adaptive Middleware Systems http://tao.doc.wustl.edu/~corsaro/RM2003/ 3) Middleware for Grid Computing http://virtual01.lncc.br/mgc2003 4) Model-driven Approaches to Middleware Applications Development (MAMAD) http://www.dstc.edu.au/mamad-2003/ 5) QoS-enabled Component-Oriented Programming - Supporting Composable QoS http://www.cs.wustl.edu/~nanbor/QOSCOP/ WORK-IN-PROGRESS ================ Work-in-Progress (or WiP) papers should describe on-going work and interim results. Submissions should be no longer than 2500 words. All submissions will be peer reviewed. Accepted papers will have a short presentation slot in the conference program and will be published in IEEE Distributed Systems Online. Further information: http://middleware2003.inf.puc-rio.br/wip.htm POSTERS ======= Posters are meant for publicizing current research initiatives as well as interesting new systems implemented using middleware technology. Reports of preliminary experience from middleware use cases are solicited. A 500-word summary of the poster's contents should be submitted by February 20th, 2003. Along with the notification of acceptance, authors will receive formatting instructions for the posters to be presented at the conference. Further information: http://middleware2003.inf.puc-rio.br/posters.htm ORGANIZATION ============ General Chair: Carlos J.P. Lucena (PUC-Rio, Brazil) Program co-Chairs: Douglas Schmidt (UC Irvine, USA) Markus Endler (PUC-Rio, Brazil) Local Arrangements co-Chairs: Alexandre Sztajnberg (UERJ, Brazil) Renato Cerqueira (PUC-Rio, Brazil) WiP and Posters Chair: Guruduth S. Banavar (IBM T.J. Watson, USA) Advanced Workshops Chair: Gordon Blair (Lancaster University, UK) Tutorials Chair: Frank Buschmann (Siemens AG, Germany) Publicity co-Chairs: Fabio Costa (UFG, Brazil) Fabio Kon (IME-USP, Brazil) FOR MORE INFORMATION ==================== For further information, please visit the conference home page: http://middleware2003.inf.puc-rio.br or http://gsd.ime.usp.br/middleware2003. For questions regarding the conference program, contact the PC chairs, Douglas Schmidt (schmidt@cs.wustl.edu) or Markus Endler (endler@inf.puc-rio.br). For other questions contact the local arrangements chairs, Alexandre Sztajnberg (alexszt@uerj.br) or Renato Cerqueira (rcerq@inf.puc-rio.br). --- Middleware2003 is sponsored by Sony Corporation --- From alet@unice.fr Tue Jan 21 10:16:17 2003 From: alet@unice.fr (Jerome Alet) Date: Tue, 21 Jan 2003 11:16:17 +0100 Subject: ANN: LiveCut v0.3 Message-ID: I'm pleased to announce that LiveCut v0.3 is out. This release fixes a problem which prevented the program to start on some systems. LiveCut is a graphical helper for people who have to synchronize different media sources like audio or video sources, slides, text transcriptions, while making movies or SMIL presentations. It allows you to easily mark the time at which events happen, and generates a simple text file which can be reused either manually or automatically later (e.g., in an SMIL generator). LiveCut is available under the terms of the GNU General Public License from : http://www.librelogiciel.com/software/ Learn more about it, view screenshots, download the latest tarballs or CVS versions from the site above. (You also need wxPython and a recent Python version) Please report any bug to : Jerome Alet Thank you for reading From info@wingide.com Wed Jan 22 03:06:34 2003 From: info@wingide.com (Wing IDE Announce) Date: Tue, 21 Jan 2003 22:06:34 -0500 (EST) Subject: Wing IDE for Python 1.1.8 Message-ID: Hi, Wing IDE version 1.1.8 is now available. This release includes: * Better support for debugging processes that reload changed code modules on the fly * A number of bug fixes and minor enhancements Wing IDE is a commercial software development environment for the Python programming language. Its productivity features include a code editor with auto-completion, goto-definition, source index, and syntax highlighting; a source browser with module and class oriented views; and a powerful and flexible graphical debugger. Wing supports web development with Zope, Plone, CGI, and Apache mod_python. It can be used for GUI development with PyQt, wxPython, Tkinter, and PyGtk. Wing also supports pygame, numpy, debugging within an embedded interpreter, and debugging to a remote host. More info: http://wingide.com/ Downloads: http://wingide.com/downloads Trial Licenses: http://wingide.com/wingide/demo Change Log: http://wingide.com/pub/wingide/1.1.8/CHANGELOG.txt Please send any problem reports and feedback to support@wingide.com. Thanks, The Wing IDE Team ------------------------------------------------------------------------ Wing IDE for Python Archaeopteryx Software, Inc www.wingide.com Take Flight! From LogiplexSoftware@earthlink.net Wed Jan 22 23:05:13 2003 From: LogiplexSoftware@earthlink.net (Cliff Wells) Date: 22 Jan 2003 15:05:13 -0800 Subject: ANN: DSV 1.4.0 Message-ID: DSV 1.4.0 is available for download: http://python-dsv.sf.net This is a bugfix release with no new features. Most importantly, removed a superfluous but *very* expensive function call from the import wizard that effectively doubled import times. Will now be profiling more frequently, or at least whenever runtimes double What is it? Python-DSV is a Python module for importing and exporting DSV (delimiter separated values) files. DSV is a generalization of CSV (comma separated values). CSV is a common file format used by many programs to import and export data. Features: - Pure Python - Optional wxPython GUI - Optional heuristics for determining file format - Handles embedded quotes, delimiters and newlines - Customizable error handling - Simple to use - Portable (tested on Linux and Windows) Requirements: - Python 2.0 or greater Optional: - wxPython 2.3 or greater (if you use the GUI) -- Cliff Wells, Software Engineer Logiplex Corporation (www.logiplex.net) (503) 978-6726 x308 (800) 735-0555 x308 From cgjunkaddr@attbi.com Thu Jan 23 06:10:08 2003 From: cgjunkaddr@attbi.com (Chetan Gadgil) Date: Thu, 23 Jan 2003 06:10:08 GMT Subject: ANN: kobra - a native .NET wrapper library Message-ID: Hi I have written a .NET wrapper library using Managed C++. Still under development, but still, usable in many ways. http://www.gadgil.net/DotNetWrapperForPython.htm Chetan Gadgil cgjunkaddr at attbi dot com From djc@object-craft.com.au Thu Jan 23 10:37:08 2003 From: djc@object-craft.com.au (Dave Cole) Date: 23 Jan 2003 21:37:08 +1100 Subject: Sybase module 0.36pre3 released Message-ID: WHAT IS IT: The Sybase module provides a Python interface to the Sybase relational database system. It supports all of the Python Database API, version 2.0 with extensions. NOTES: This is another incremental improvement to FreeTDS support. You can build for FreeTDS like this: python setup.py build_ext -D HAVE_FREETDS -U WANT_BULKCOPY python setup.py install The module is available here: http://www.object-craft.com.au/projects/sybase/download/sybase-0.36pre3.tar.gz The module home page is here: http://www.object-craft.com.au/projects/sybase/ CHANGES SINCE 0.35: * Removed references to CS_PENDING and CS_BUSY in Sybase.py. * Bind CS_VARBINARY_TYPE as CS_BINARY_TYPE. * Do not attempt to ct_cancel() when handling an exception if have not connected to the server. Bug fix in Sybase.py. * Seems like FreeTDS reports the wrong maxlength in ct_describe() for CS_NUMERIC_TYPE and CS_DECIMAL_TYPE. Ignore FreeTDS and assume a maxlength of sizeof(CS_NUMERIC). Bugfix in databuf.c. * Use correct T_STRING_INPLACE type in structure member descriptions. The code does not use Python API for these members. * Debug output for DataFmt now includes scale and precision. * More definitions added to freetds.h; CS_SRC_VALUE, CS_CLEAR. -- http://www.object-craft.com.au From uwe.schmitt@procoders.net Thu Jan 23 16:03:58 2003 From: uwe.schmitt@procoders.net (Uwe Schmitt) Date: 23 Jan 2003 16:03:58 GMT Subject: python sandbox References: Message-ID: [ This is a repost of the following article: ] [ From: "Uwe Schmitt" ] [ Subject: Re: python sandbox ] [ Newsgroups: comp.lang.python ] [ Message-ID: ] Hi, I wrote a simple sandbox for executing pyhton code in a restricted environment. The code can be downloaded from http://www.procoders.net/download.php?fname=SandBox.py I appreciate any comments. I'm especially interested if my restrictions are secure or if they can be circumvented. Greetings, Uwe. -- Dr. rer. nat. Uwe Schmitt Computer science is no more about Computers, uwe.schmitt@num.uni-sb.de than astronomy is about telescopes. (Dijkstra) http://www.procoders.net -- Dr. rer. nat. Uwe Schmitt Computer science is no more about Computers, uwe.schmitt@num.uni-sb.de than astronomy is about telescopes. (Dijkstra) http://www.procoders.net From robin@alldunn.com Thu Jan 23 23:26:42 2003 From: robin@alldunn.com (Robin Dunn) Date: Thu, 23 Jan 2003 15:26:42 -0800 Subject: ANN: wxPython 2.4.0.2 Message-ID: wxPython 2.4.0.2 is now available for download. This release is primarily to get several bug fixes out to users, but I have also added some new contributed modules as well. You can get the new files from http://wxPython.org/dowload.php, or directly from the Sourceforge project page at https://sourceforge.net/project/showfiles.php?group_id=10718 I have also made unsupported evaluation wxPython builds for Win32 and GTK for Python 2.3a1 available. You can get them from the bottom of the Sourceforge page above. -- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython! From rjones@ekit-inc.com Fri Jan 24 06:46:35 2003 From: rjones@ekit-inc.com (Richard Jones) Date: Fri, 24 Jan 2003 17:46:35 +1100 Subject: SC-Track Roundup 0.5.5 - an issue tracking system Message-ID: ================================================= SC-Track Roundup 0.5.5 - an issue tracking system ================================================= This is a bugfix release for version 0.5.x - if you're upgrading from before 0.5, you *must* read doc/upgrading.txt! Unfortunately, the Zope frontend for Roundup is currently broken, with no fix in the forseeable future. Roundup requires python 2.1.3 or later for correct operation. Users of the sqlite backend are encouraged to upgrade sqlite to version 2.7.3. We've had a good crack at bugs (thanks to all who contributed!): - fixed rdbms searching by ID (sf bug 666615) - fixed metakit searching by ID - detect corrupted index and raise semi-useful exception (sf bug 666767) - open server logfile unbuffered - revert StringHTMLProperty to not hyperlink text by default - several fixes to CGI form handling - fix unlink journalling bug in metakit backend - fixed hyperlinking ambiguity (sf bug 669777) - fixed cookie path to use TRACKER_WEB (sf bug 667020) (thanks Nathaniel Smith for helping chase it down and Luke Opperman for confirming fix) Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup is a simple-to-use and -install issue-tracking system with command-line, web and e-mail interfaces. It is based on the winning design from Ka-Ping Yee in the Software Carpentry "Track" design competition. Note: Ping is not responsible for this project. The contact for this project is richard@users.sourceforge.net. Roundup manages a number of issues (with flexible properties such as "description", "priority", and so on) and provides the ability to: (a) submit new issues, (b) find and edit existing issues, and (c) discuss issues with other participants. The system will facilitate communication among the participants by managing discussions and notifying interested parties when issues are edited. One of the major design goals for Roundup that it be simple to get going. Roundup is therefore usable "out of the box" with any python 2.1+ installation. It doesn't even need to be "installed" to be operational, though a disutils-based install script is provided. It comes with two issue tracker templates (a classic bug/feature tracker and a minimal skeleton) and six database back-ends (anydbm, bsddb, bsddb3, sqlite, metakit and gadfly). From erellon@narod.ru Fri Jan 24 12:54:33 2003 From: erellon@narod.ru (erellon) Date: 24 Jan 2003 04:54:33 -0800 Subject: ANNT: PyANT v0.30 released Message-ID: PyANT is a project for porting Jakarta's ANT ideas to Python. The main advantage it has over Java is speed and support for Python scripts. PyANT written in pure Python. Project intended for developers who wants to automate their projects building and testing process Project link here: http://www.sf.net/project/pyant Changes since last version: - added "property handlers" logic, now getting property with name which is URL-like syntax is a link shows data from that url. Handlers for "http, ftp and file" presents right now. Handler "registry" for Win32 registry keys present as TODO task. Example: should print PyANT project homepage - added CVS task just like in ANT - added more other tasks and fixed others Note: Project files available as ZIP and EXE-self installer with Inno Setup files Please do not use CVS tree right now, it's not up to date right now, I am going to complete it, ASAP. Ivan Begtin aka Erellon (erellon%narod.ru) From altis@semi-retired.com Sat Jan 25 01:20:16 2003 From: altis@semi-retired.com (Kevin Altis) Date: Fri, 24 Jan 2003 17:20:16 -0800 Subject: ANN: OSCON 2003 (Python 11) call for participation Message-ID: From: O'Reilly Conferences [mailto:oraconf@ora-info.ora.com] Sent: Thursday, January 23, 2003 3:56 PM Subject: oscon 2003 call for participation 2003 O'Reilly Open Source Convention Call For Participation Embracing and Extending Proprietary Software http://conferences.oreilly.com/oscon/ O'Reilly & Associates invites programmers, developers, strategists, and technical staff to submit proposals to lead tutorial and conference sessions at the 2003 Open Source Software Convention, slated for July 7-11 in Portland, OR. Proposals are due February 15, 2003. For more information please visit our OSCON website http://conferences.oreilly.com/oscon/ The theme this year is "Embracing and Extending Proprietary Software." Few companies use only one vendor's software on desktops, back office, and servers. Variety in operating systems and applications is becoming the norm, for sound financial and technical reasons. With variety comes the need for open unencumbered standards for data exchange and service interoperability. You can address the theme from any angle you like--for example, you might talk about migrating away from commercial software such as Microsoft Windows, or instead place your emphasis on coexistence. Convention Conferences Perl Conference 7 The Python 11 Conference PHP Conference 3 Convention Tracks Apache XML Applications MySQL and PostgreSQL Ruby Please read the O'Reilly OSCON CFP Press Release http://press.oreilly.com/oscon2003_cfp.html From tbryan@python.net Sat Jan 25 17:20:50 2003 From: tbryan@python.net (Tom Bryan) Date: Sat, 25 Jan 2003 17:20:50 GMT Subject: TriZPUG January Meeting: Current - Exploring a real world program Message-ID: The Triangle Zope/Python User Group (TriZPUG) will hold its third meeting this Wednesday, January 29, at 6:30 p.m. in Raleigh, NC. We will be meeting in the DELTA conference room(s) at Venture III, who has kindly permitted us to use their meeting room, on NCSU's Centennial Campus. Directions to Venture III are below. Hunter Matthews will be giving a talk about one of his projects: Current. Hope to see you there! Title: Current - Exploring a real world program =============================================== Current is a open-source reverse engineered up2date server (for Red Hat linux systems). It is implemented entirely in python, and uses several different kinds of technology. Data storage, network service, logging/debugging, cryptography, security and future growth are all areas covered in most programming books, but rarely do they give you an idea of what real users in real situations will hand you. This talk will attempt to do that. Directions to the TriZPUG Meeting: ============================ Note that we will be meeting in a different location from our previous meetings. If you need directions to NCSU's Centennial Campus, try the following link http://centennial.ncsu.edu/howtogethere/htgh.htm If you need directions to the Venture III building, follow this link http://lts.ncsu.edu/about/venture3.html, but skip step #3 since the meeting is after hours. For more about TriZPUG: ======================= Web page http://dev.zope.org/Members/tbryan/TriZPUG/FrontPage Mailing list http://starship.python.net/mailman/listinfo/triangle-zpug From hpk@trillke.net Sat Jan 25 23:53:21 2003 From: hpk@trillke.net (holger krekel) Date: Sun, 26 Jan 2003 00:53:21 +0100 Subject: ann: Minimal PyPython sprint Message-ID: ------------------------------------------------------ Not-So-Mini Sprint towards Minimal PyPython 17th-23rd Feb. 2003 "Trillke-Gut", Hildesheim, Germany ------------------------------------------------------ Everybody is invited to join our first sprint for PyPython. Or was it Minimal Python? Nevermind! We will have one or - if needed - two big rooms, beamers for presentations (and movies?), a kitchen, internet and a piano. There is a big park and some forest in case you need some fresh air. Short Ad-Hoc presentations about our areas of interest, projects or plain code will certainly be appreciated. ------------------------------------------------------ Goals of the first Minimal PyPython Marathon ------------------------------------------------------ - codify ideas that were recently discussed on the pypy-dev codespeak list. - port your favorite C-module to Python (and maintain it :-) - rebuild CPython C-implementations in pure python, e.g. the interpreter, import mechanism, builtins ... - build & enhance infrastructure (python build system, webapps, email, subversion/cvs, automated testing, ...) - further explore the 'ctypes' approach from Thomas Heller to perform C/Machine-level calls from Python without extra C-bindings. - settle on concepts - focus on having releasable results at the end - have a lot of fun meeting like minded people. ------------------------------------------------------ Current Underlying Agreements (TM) ------------------------------------------------------ Please note, that we have reached some agreement on a number of basic points: a) the Python language is not to be modified. b) simplicity wins. especially against optimization. c) if in doubt we follow the CPython/PEP lead. d) CPython core abstractions are to be cleanly formulated in simple Python. e) Macro-techniques may be used at some levels if there really is no good way to avoid them. But a) to c) still hold. f) our Pythonic core "specification" is intended to be used for all kinds of generational steps e.g to C, Bytecode, Objective-C, assembler and last-but-not-least PSYCO-Specialization. g) if in doubt we follow Armins and Christians lead regarding the right abstraction levels. And any other python(dev) people taking responsibility. h) there are a lot of wishes, code, thoughts, suggestions and ... names :-) ------------------------------------------------------ How to proceed if you are interested ------------------------------------------------------ If you want to come - even part-time - then please subscribe at http://codespeak.net/mailman/listinfo/pypy-sprint where organisational stuff will be communicated. The sprint-location's city is called Hildesheim which is close to Hannover (200 km south of Hamburg). Code-related discussions continue to take place on the pypy-dev list. For people who don't want or can't spend the money for external rooms i can probably arrange something but it will not be luxurious. FYI there are already 7-8 people who will come among them Christian Tismer, Armin Rigo and Michael Hudson. ------------------------------------------------------ Disclaimer ------------------------------------------------------ There is no explicit commercial intention behind the organisation of the sprint (yet). On the implicit hand socializing with like-minded people tends to bring up future opportunities. The physical sprint location is provided by the people living in this house: http://www.trillke.net/images/trillke_schnee.png although snow is gone for the moment. and-who-said-the-announcement-would-be-minimal'ly y'rs, holger From martin@v.loewis.de Sun Jan 26 10:35:18 2003 From: martin@v.loewis.de (Martin v. =?iso-8859-15?q?L=F6wis?=) Date: 26 Jan 2003 11:35:18 +0100 Subject: PyXML 0.8.2 is released Message-ID: Version 0.8.2 of the Python/XML distribution is now available. It should be considered a beta release, and can be downloaded from the following URLs: http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.2.tar.gz http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.2.win32-py2.2.exe http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.2-2.2.Suse81.i386.rpm Changes in this version, compared to 0.8.1: * Updated to Expat 1.95.6. * Support more DOM L3 features in minidom: isWhitespaceInElementContent, schemaType, isId, DOMImplementationSource * Various bug fixes, including - 609641: minidom nodes not pickleable - 618156: Use character references in XMLGenerator if necessary - 622286: marshal.wddx: 'recordset' element typo - 624420: Can't create 2nd Sax2.Reader - 665486: Implement SAX skippedEntity for Expat The Python/XML distribution contains the basic tools required for processing XML data using the Python programming language, assembled into one easy-to-install package. The distribution includes parsers and standard interfaces such as SAX and DOM, along with various other useful modules. The package currently contains: * XML parsers: Pyexpat (Jack Jansen), xmlproc (Lars Marius Garshol), sgmlop (Fredrik Lundh). * SAX interface (Lars Marius Garshol) * minidom DOM implementation (Paul Prescod, others) * 4DOM and 4XPath from Fourthought (Uche Ogbuji, Mike Olson) * Schema implementations: TREX (James Tauber) * Various utility modules and functions (various people) * Documentation and example programs (various people) The code is being developed bazaar-style by contributors from the Python XML Special Interest Group, so please send comments and questions to . Bug reports may be filed on SourceForge: http://sourceforge.net/tracker/index.php?group_id=6473&atid=106473 For more information about Python and XML, see: http://www.python.org/topics/xml/ -- Martin v. Löwis http://www.informatik.hu-berlin.de/~loewis From nospam@bigfoot.com Mon Jan 27 20:33:42 2003 From: nospam@bigfoot.com (Gillou) Date: Mon, 27 Jan 2003 21:33:42 +0100 Subject: PyANT v0.30 released References: Message-ID: "erellon" a écrit dans le message de news: mailman.1043681659.3133.clpa-moderators@python.org... [...] > who wants to automate their projects building and testing process > Project link here: > http://www.sf.net/project/pyant No, here ! http://sourceforge.net/projects/pyant From ianb@colorstudy.com Tue Jan 28 09:04:32 2003 From: ianb@colorstudy.com (Ian Bicking) Date: 28 Jan 2003 03:04:32 -0600 Subject: ANN: SQLObject 0.2 Message-ID: SQLObject is an object-relational mapper (i.e., a database/SQL wrapper) that supports MySQL and PostgreSQL. Version 0.2 is the first public release. The software can be found at: http://colorstudy.com/software/SQLObject Features: - Takes advantage of new-style classes (both properties and metaclasses). Hi-Fi Python! (Python 2.2 required) - No external formats or configuration (e.g. XML); your tables are described with the class definition. - Accessing a column appears the same as accessing any other attribute. - Accompanying SQLBuilder allows WHERE clauses to be coded (somewhat) naturally in Python without SQL. - Caching (or no caching, no pressure). - Fully documented (interface documentation plus source comments). - Simple (naive?) transaction support for PostgreSQL. - Conforms to traditional schema; should be adapter to legacy schemas. - Understands basic relations. - The string "get" does not appear in any method. - 100% larger version number than previous version. License: LGPL Author: Me -- Ian Bicking Colorstudy Web Development ianb@colorstudy.com http://www.colorstudy.com PGP: gpg --keyserver pgp.mit.edu --recv-keys 0x9B9E28B7 4869 N Talman Ave, Chicago, IL 60625 / (773) 275-7241 From itamar@itamarst.org Wed Jan 29 16:32:32 2003 From: itamar@itamarst.org (Itamar Shtull-Trauring) Date: Wed, 29 Jan 2003 11:32:32 -0500 Subject: ANN: Twisted 1.0.2, the framework of your Internet Message-ID: Twisted is an event-driven networking framework for server and client applications. More detailed information can be found after the "What's New" section. For more information, visit http://www.twistedmatrix.com, join the list http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python or visit us on #twisted at irc.freenode.net. What's New in 1.0.2 =================== - Serial port support. - GPS (global positioning system), supporting NMEA 0183 and Rockwell Zodiac devices. - GTK2 event loop. - Improved event scheduling support. - Many new examples, including an example of Cocoa (Mac OS X) integration. - Fancy Win32 installer, with Start menu integration. - Large number of improvements to the SSH server. In addition, Twisted now ships with a command-line ssh client (conch), with same options as openssh client. Also included is a Tk GUI ssh client, that does not require a terminal emulator, and a program for generating ssh keys. - Simplified HTTP client API, for fetching URLs. - Dict protocol implementation (RFC 2229). - Improvements to cReactor, a networking event loop implemented in C. - Lenient mode for microdom, which allows parsing very non-standard HTML, and many improvements to the DOM support. - Trial, a unit testing framework, replaces use of Python's unittest.py. The API is almost identical to Python's. - Google querying support. - Shoutcast protocol support. - Client XML-RPC support. - Many improvements to Twisted's DNS support, both client and server. - Bug fixes, more tests and documentation. What is Twisted? ================ Twisted is an event-driven framework for building networked clients and servers. It contains a powerful and simple networking core, a full-featured suite of interoperable protocols, among them a powerful web server and applications framework. Twisted supports many event loops for both server apps and GUI integration on the client side, including: - Win32 events, including GUI support - GTK+ - GTK+ 2 - Qt - wxPython - Tkinter - Java Twisted can run protocols over TCP, SSL, UDP, multicast, Unix sockets and subprocesses. It also includes scheduling support, threading integration, RDBMS event loop integration and other basic requirements for networked applications. Also included are implementations of many protocols. In some cases this includes complete frameworks providing facilities on top of the base protocol: - SSH - FTP - HTTP, including a complete web framework - XML-RPC - SOAP server framework - NNTP and complete NNTP server framework - SOCKSv4 (server only) - SMTP - IRC - telnet - POP3 - AOL's instant messaging TOC - OSCAR, used by AOL-IM as well as ICQ (client only) - DNS - MouseMan serial mice, and GPS devices - Twisted Perspective Broker, a remote object protocol From kbk@shore.net Wed Jan 29 22:16:25 2003 From: kbk@shore.net (Kurt B. Kaiser) Date: Wed, 29 Jan 2003 17:16:25 -0500 Subject: [Announce] IDLEfork 0.9a2 Release Message-ID: The IDLEfork 0.9 Alpha 2 release is now available for download at: http://sourceforge.net/projects/idlefork/ The distribution is available as a Windows Installer, as a Python2 RPM, and in source form as a .tar.gz. Please read the release notes (which include installation instructions) at Sourceforge for additional details. 0.9 Alpha 2 Highlights ====================== The shell is now annotated to indicate a restart, and can be restarted from the Shell window. There is a new Shell menu. Expanded Additional Help feature: Can now use a web URL and browse for local help files. Help sources have been moved to the main Help menu. Exceptions under debugger control now show the correct traceback. Fixed class and path browsers to work with Python 2.3. Multiple bug fixes and usability enhancements, see the Changes section of the SF release docs. IDLEfork ======== IDLEfork is an official experimental branch of Python's Integrated DeveLopment Environment, IDLE. The biggest change in IDLEfork is to execute Python code in a separate process, which is /restarted/ for each Run (F5) initiated from an editor window. This enhancement of IDLE has often been requested, and is now finally available. The magic "reload/import *" incantations are no longer required when editing/testing a module two or three steps down the import chain. The IDLE Debugger has been extended to support the new design, and its operation will be familiar to those who have used it previously. The breakpoint feature has been enhanced, and breakpoints are now persistent across IDLE sessions. When a module is open in an Edit window, its breakpoints are active. There is also a new GUI configuration manager which makes it easy to select fonts, colors, keybindings, and startup options. IDLEfork will be merged back into the Python distribution in the near future (probably at 2.3), replacing the current version of IDLE. For this reason we are interested in getting as much testing time as possible before the merge. As David Scherer aptly put it in the original IDLEfork README, "It is alpha software and might be unstable. If it breaks, you get to keep both pieces." If you find bugs let us know about them by using the IDLEfork Bug Tracker. See the IDLEfork home page at http://idlefork.sourceforge.net for details. Patches are always appreciated at the IDLEfork Patch Tracker, and Change Requests at the RFE Tracker at https://sourceforge.net/tracker/?group_id=9579&atid=359579 Thanks for trying IDLEfork. From hpk@trillke.net Wed Jan 29 23:28:11 2003 From: hpk@trillke.net (holger krekel) Date: Thu, 30 Jan 2003 00:28:11 +0100 Subject: ANN: rlcompleter2 0.95 Interactive Completion Message-ID: rlcompleter2-0.95 Python readline aka completion ------------------------------------------------------- There are some small bugfixes and enhancements with the 0.95 version. Moreover, i rearranged/extended the website, added an issue tracker (roundup) for bugs and feature wishes and a development mailistlist. Please find it all here: http://codespeak.net/rlcompleter2/ I don't quite expect much traffic on the mailing list but it might be a good place to discuss further runtime introspection developments. One of my ideas is to make the completer 'embeddable' into an application. A frontend could then connect to a running application and you could live-inspect your system (with tab-completion). Apart from a terminal frontend a web based app could provide navigation and browsing through live objects (including their documentation). Anybody interested in stuff like this is invited to join the mailing list. thanks for your attention, holger From lkcl@samba-tng.org Fri Jan 31 00:13:09 2003 From: lkcl@samba-tng.org (Luke Kenneth Casson Leighton) Date: Fri, 31 Jan 2003 00:13:09 +0000 Subject: [ANN] custom 0.6 released Message-ID: Custom 0.6 ------ custom is an e-commerce solution for small to medium-sized businesses that provides: - a customisable web front-end for customers and Point-of-Sale staff to place orders - for warehouse staff to manage stock - for accountants and sales staff to manage and generate invoices - for purchasing managers to keep track of suppliers and competitive pricing. Download -------- http://sf.net/projects/custom [The rest of the README.txt can be found in the top-level directory, it's getting a bit long i'd rather keep it short on this list so you don't get bored! ] Changes since last announcement: - use of the python-htmltmpl package to split out site HTML format from the content (very good system, htmltmpl). - the move to frame-based pages caused a bit of chaos: very nice but causes havoc with the fifty or so HTML links all needing their own target frames to be specified ... - new feature: Product Codes from suppliers can now also be stored on a per-product basis. WARNING: if updating from pre-0.5 to 0.6, you MUST make a backup of your MySQL database and then run the db/update1.sql script which will reformat your products into the new table format. l. From sabbey@u.washington.edu Fri Jan 31 06:34:29 2003 From: sabbey@u.washington.edu (Brian Sabbey) Date: Thu, 30 Jan 2003 22:34:29 -0800 (PST) Subject: ANN: Pyacc 0.1 -- Python Yacc Parser Message-ID: Pyacc is a Python interface/extension to the Berkeley Yacc parser generator. Pyacc reads a grammar, specified with Python documentation strings (similar to SPARK and PLY), and uses Yacc to produce the LALR(1) parsing tables. Unlike Yacc, Pyacc does not generate C code for a parser. Instead, the parser is built into the Pyacc Python module, and no C compilation is required to create a parser for a new grammar. I created Pyacc because I wanted a Python parser that: * can efficiently parse LALR(1) grammars. * allows strings and regular expressions to be embedded directly into the grammar rules. * uses function documentation strings to specify grammar rules. * is (I imagine) very fast, since most of it is just yacc. * does not produce code that needs to be run or compiled. A simple example: from pyacc import Parser def add(t): 'exp : exp "+" exp' # literals are put directly into grammar rules return t[0] + t[2] def number(t): r'exp : re"\d+" ' # regular expressions are preceded by 're' return int(t[0]) print Parser().parse("2+3+4") ==> 9 Pyacc can be obtained from http://staff.washington.edu/sabbey/pyacc From ahaas@airmail.net Fri Jan 31 16:33:14 2003 From: ahaas@airmail.net (Art Haas) Date: Fri, 31 Jan 2003 10:33:14 -0600 Subject: [ANNOUNCE] Third release of PythonCAD now available Message-ID: I'd like to announce the third release of PythonCAD, a CAD package for open-source software users. As the name implies, PythonCAD is written entirely in Python. The goal of this project is to create a fully scriptable drafting program that will match and eventually exceed features found in commercial CAD software. PythonCAD is released under the GNU Public License (GPL). PythonCAD requires Python 2.2. The interface is GTK 2.0 based, and uses the PyGTK module for interfacing to GTK. The design of PythonCAD is built around the idea of separating the interface from the back end as much as possible. By doing this, it is hoped that both GNOME and KDE interfaces can be added to PythonCAD through usage of the appropriate Python module. Addition of other interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The third release adds some new functionality to the program. Construction lines can be easily drawn tangent to circles and arcs, as well as drawn perpendicular to the various entities in a drawing. The thickness of drawing entities like line segments and circles is now drawn on the screen, too. Splitting the entities in the drawing can now be done by clicking on them at the point where they are to be split, or entities can be split at points where they intersect one another. This splitting functionality works only for "real" entities in a drawing like segments and circles; there is no splitting of the construction objects. This release also includes many internal improvements in the code. Many routines were revised to conform to current code standards, numerous routines were simplified, and some routines were completely re-written. These cleanups fixed various bugs, as well as making the code easier to understand in places. Visit the PythonCAD web site for more information about what PythonCAD does and aims to be. http://www.pythoncad.org Come and join me in developing PythonCAD into a world class drafting program! Art Haas -- They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety. -- Benjamin Franklin, Historical Review of Pennsylvania, 1759