From dvkeeney at gmail.com Sat Jan 1 05:39:22 2005 From: dvkeeney at gmail.com (David) Date: Sat Jan 1 16:21:28 2005 Subject: SPyRE version 0.6 -> Simple Pythonic Rendering Engine In-Reply-To: <6e04113a041230132624301f00@mail.gmail.com> References: <28648792-5A3F-11D9-85EE-000D93AD379E@mac.com> <6e04113a041230132624301f00@mail.gmail.com> Message-ID: <6e04113a0412312039666b20f7@mail.gmail.com> The "Pitcher's Duel" project has released SPyRE (Simple Pythonic Rendering Engine) version 0.6. This is a lightweight rendering engine for OpenGL. Provide OpenGL code to draw the model, and the SPyRE engine will display the model in an interface that provides zooming, panning and rotation of camera position using mouse and keyboard. Our goal is to use the engine for a baseball simulation, but it should be generic enough for a variety of applications. Changes in this release include bug fixes to the only reported bug (an initialization problem), and to a glitch in the pivoting code. This release has 'epydoc' documentation, more detailed than the prior docs, and rewritten summary docs. The project includes demos such as a fountain of sparks, a swarming behavior model, a random walk example, a whirlpool effect using gravity and drag, and an example of chaos theory, and a lighted shaded forest scene. The project page is at http://sourceforge.net/projects/pduel/spyre/ To use SPyRE, you also need to have installed Python, OpenGL, pyOpenGL, and PyGame. From olsongt at verizon.net Sun Jan 2 04:50:16 2005 From: olsongt at verizon.net (olsongt@verizon.net) Date: Sun Jan 2 16:10:13 2005 Subject: ANN: PyXR 0.9.4 - Cross-Referenced HTML from Python Source Message-ID: <20050102035016.MCON4717.out011.verizon.net@outgoing.verizon.net> PyXR 0.9.4 - Cross-Referenced HTML from Python Source PyXR generates pretty-printed HTML pages from python source files to make source browsing easier. It provides extensive cross-referencenced hyperlinks that integrate with the Python Library Reference as well as other python source files. Its cross-referencing capabilities are vastly superior to other source pretty-printing packages that I've seen. 0.9.4 provides compatibility with the new language semantics in Python 2.4 and addresses changes to the format of the Library Reference Manual, in addition to a littany of smaller fixes. Previous versions WILL NOT work with python 2.4. This release does provide backward compatibility to python versions as early as 2.2 and should work on all major OSes. PyXR is available for download here: http://sourceforge.net/projects/pyxr/ PyXR'ed markup of Python 2.4's source is available here: http://pyxr.sourceforge.net/PyXR/ Detailed release notes are available here: http://pyxr.sourceforge.net/ Enjoy! From remi at cherrypy.org Mon Jan 3 18:47:09 2005 From: remi at cherrypy.org (remi@cherrypy.org) Date: Tue Jan 4 15:59:57 2005 Subject: Ann: CherryPy-2.0-beta released Message-ID: <1104774429.032507.276350@c13g2000cwb.googlegroups.com> Hello everyone, I am happy to announce the release of CherryPy-2.0-beta. CherryPy-2 is a pythonic, object-oriented web development framework. CherryPy-2 is a redesign of CherryPy-1 (the unpythonic features have been removed): no more compilation step, pure python source code (no more "CherryClass") Here is a sample Hello, World in CherryPy-2: # from cherrypy import cpg # class HelloWorld: # @cpg.expose # def index(self): # return "Hello world!" # cpg.root = HelloWorld() # cpg.server.start() Main properties: - this code starts a multi-threaded HTTP server that dispatches requests to methods - requests like "http://domain/dir/page?arg1=val1&arg2=val2" are mapped to "dir.page(arg1='val1', arg2='val2')" - requests are mapped to an object tree that is "mounted" on cpg.root (for instance: "cpg.root.user", "cpg.root.user.remi", ...) - method must be explicitely exposed with a decorator "@cpg.expose" (or "index.exposed = True" for Python-2.3) - methods can return a generator instead of a string (useful when generating big pages) Here is a non-exhaustive list of CherryPy-2 features: multi-threaded HTTP server, XML-RPC server, sessions, form handling, authentication, unicode support, gzip-compression, virtual hosting, WSGI adapter (experimental) The design of CherryPy-2 allows to easily write/use pluggable "filters" or "modules": - filters perform operations on the request/response such as gzip-compression or string encoding - modules are web applications (like a blog or a web forum) than can be easily "mounted" anywhere you want in your website CherryPy-2 is already used in production by several sites and is supported by an active community. Remi. http://www.cherrypy.org From walter at livinglogic.de Mon Jan 3 23:30:13 2005 From: walter at livinglogic.de (=?ISO-8859-1?Q?Walter_D=F6rwald?=) Date: Tue Jan 4 15:59:58 2005 Subject: XIST 2.8 released Message-ID: <41D9C775.60500@livinglogic.de> XIST 2.8 has been released! What is it? =========== XIST is an extensible HTML/XML generator written in Python. XIST is also a DOM parser (built on top of SAX2) with a very simple and Pythonesque tree API. Every XML element type corresponds to a Python class, and these Python classes provide a conversion method to transform the XML tree (e.g. into HTML). XIST can be considered "object oriented XSL". What's new in version 2.8? ========================== * XIST requires Python 2.4 now. * ll.xist.ns.specials.x has been renamed to ll.xist.ns.specials.ignore. ll.xist.utils.findAttr has been renamed to ll.xist.utils.findattr. * ll.xist.xfind.item no longer handles slices. * XFind has been enhanced to support item and slice operators, i.e. if foo is an XFind operator, foo[0] is an operator that will produce the first node from foo (if there is one). Negative values and slices are supported too. * Operators can be chained via division: html.a/html.b is an operator that can be passed around and applied to a node. * XIST requires the new core module and makes use of the new "cooperative displayhook" functionality defined there: If you install the displayhook you can tweak or replace ll.xist.presenters.hookpresenter to change the output. For changes in older versions see: http://www.livinglogic.de/Python/xist/History.html As the package structure has changed, there is a new version of every other LivingLogic package too. Furthermore the web pages have been redesigned. Where can I get it? =================== XIST can be downloaded from http://ftp.livinglogic.de/xist/ or ftp://ftp.livinglogic.de/pub/livinglogic/xist/ Web pages are at http://www.livinglogic.de/Python/xist/ ViewCVS access is available at http://www.livinglogic.de/viewcvs/ For information about the mailing lists go to http://www.livinglogic.de/Python/xist/Mailinglists.html Bye, Walter D?rwald From alberanid at libero.it Mon Jan 3 23:47:12 2005 From: alberanid at libero.it (Davide Alberani) Date: Tue Jan 4 15:59:58 2005 Subject: IMDbPY 1.6 released Message-ID: <3rhcrc.ko3.ln@snoopy.mio> IMDbPY 1.6 is available (tgz, deb, rpm, exe) from: http://imdbpy.sourceforge.net/ IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database. This release fixes a lot of bugs; moreover every reference to movies and persons in fields like "plot" or "biography" is collected. IMDbPY aims to provide an easy way to access the IMDb's database using a Python script. Platform-independent and written in pure Python, it's independent from the data source (since IMDb provides two or three different interfaces to their database). IMDbPY is mainly intended for programmers and developers who want to build their Python programs using the IMDbPY package, but some example scripts - useful for simple users - are included. -- Davide Alberani [PGP KeyID: 0x465BFD47] http://erlug.linux.it/~da/ From richardjones at optushome.com.au Tue Jan 4 05:02:25 2005 From: richardjones at optushome.com.au (Richard Jones) Date: Tue Jan 4 15:59:59 2005 Subject: Roundup Issue Tracker release 0.7.10 Message-ID: <200501041502.26000.richardjones@optushome.com.au> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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. 0.7.10 is a bug fix release: - - reset ID counters if the database is cleared (thanks William) - - apply IE caching "fix" to automatically serve up all pages expired - - fix typo (sf patch 1076629) - - fix hyperlinking of items (sf bug 1080251) - - fix roundup-admin find command handling of Multilinks - - fix some security assertions (sf bug 1085481) (see doc/upgrading.txt for notes) - - don't set the title to nothing from incoming mail (thanks Bruce Guenter) - - fix py2.4 strftime() API change bug (sf bug 1087746) - - fix indexer searching with no valid words (sf bug 1086787) - - updated searching / indexing docs - - fix "(list)" popup when list is one item long (sf bug 1064716) - - have RDBMS full-text indexer do AND searching (sf bug 1055435) - - handle spaces in String index params in batching (sf bug 1054224) If you're upgrading from an older version of Roundup you *must* follow the "Software Upgrade" guidelines given in the maintenance documentation. Roundup requires python 2.1.3 or later for correct operation. To give Roundup a try, just download (see below), unpack and run:: python demo.py Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup 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 seven database back-ends (anydbm, bsddb, bsddb3, sqlite, metakit, mysql and postgresql). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFB2hVRrGisBEHG6TARAs95AJ49L+Zq08Ke+boDzz9ovesE7OIDfwCdGJil KoNOVk8A5NJVIcMv6tqWem4= =0YDd -----END PGP SIGNATURE----- From ian at excess.org Tue Jan 4 07:01:37 2005 From: ian at excess.org (Ian Ward) Date: Tue Jan 4 15:59:59 2005 Subject: ANN: Urwid 0.8.6 Message-ID: <20050104060137.GA7963@badash.excess.org> Announcing Urwid 0.8.6 ---------------------- Urwid home page: http://excess.org/urwid/ Tarball: http://excess.org/urwid/urwid-0.8.6.tar.gz Current Urwid users PLEASE NOTE: ================================ This version of Urwid changes the default foreground and background for areas of the screen with no attributes. You may need to AttrWrap(..) some of your widgets for your program to look the same. New in this release: ==================== - Improved support for CJK double-byte encodings: BIG5, UHC, GBK, GB2312, CN-GB, EUC-KR, EUC-CN, EUC-JP (JISX 0208 only) and EUC-TW (CNS 11643 plain 1 only) - Added support for ncurses' use_default_colors() function to curses_display module (Python >= 2.4). register_palette(..) and register_palette_entry(..) now accept "default" as foreground and/or background. If the terminal's default attributes cannot be detected black on light gray will be used to accommodate terminals with always-black cursors. "default" is now the default for text with no attributes. This means that areas with no attributes will change from light gray on black (curses default) to black on light gray or the terminal's default. - Modified examples to not use black as background of Edit widgets. - Fixed curses_display curs_set call so that cursor is hidden when widget in focus has no cursor position. About Urwid =========== Urwid is a curses-based UI library for Python. It features fluid interface resizing, CJK support, multiple text layouts, simple attribute markup, powerful scrolling list boxes, flexible edit boxes and HTML screen shots. From fuzzyman at gmail.com Wed Jan 5 11:32:07 2005 From: fuzzyman at gmail.com (Fuzzyman) Date: Wed Jan 5 15:58:25 2005 Subject: Movable Python Message-ID: <1104921127.684996.135050@z14g2000cwz.googlegroups.com> Movable Python has just been released on sourceforge. Movable Python is a frozen distribution of Python. It will run python scripts without needing to be installed. http://sourceforge.net/projects/movpy http://www.voidspace.org.uk/python/movpy Fancy trying out Python 2.4 without installing it ? Want a distribution of python you can carry around on a flash card ? Need to test scripts with several versions of python ? Movable Python may be for you. Features include : * Lightweight GUI for choosing scripts to run * Interactive interpreter mode * Understands many of the python command line options * Configurable distribution builder * Pre built environments come with IPython and psyco * The standard distribution includes wxPython and SPE (the python IDE) making it an ideal 'Build, Test and Run' environment * Additional modules can be easily added - either when building distribution or to a prebuilt environments The docs are online at voidspace. The distribution builder (source) and two prebuilt environments (for python 2.4) can be downloaded from sourceforge. Distributions are built using py2exe. Running PyDistFreeze.py (the 'source') needs py2exe installed. This also means the source and distributions are currently windoze only. We are interested in porting to mac (with py2app) and Linux (cx_freeze ?). This was previously available as testenv 'Test Environment'.. Recent changes include : 2005/01/02 Version 0.4.4 More changes by Michael When not using IPython, interactive() will find locals() for itself. (Meaning interactive() can be called in user scripts) Added the 'manuals' folder to the distribution. Added the -p command line option, to switch on psyco. Switched to using compile/eval rather than exec/execfile. (Better for psyco *and* more meaningful error messages) A fix so that errors will report the right line number with '-x'. Changed config file to include winsound and unicodedata. Modifications to PyDistFreeze.py and movpy.py to make them compatible with python 2.2. A built in 'setup.py' for python 2.2. (can now autobuild distributions on python 2.2) IPython should now work on machines that don't have it installed ! (ipythondir is now set and config file supplied) If you don't select a file from the GUI, it now drops into interactive mode. Can supply path to config.txt in command line to PyDistFreeze.py Tweaked the directory finding function - which finds directories we will search. Fixed it so that movpyw doesn't generate error logs with '-' if launched from GUI with no file. Added PyDistFreeze.bat IDLE now works, so added idle.bat. 2004/12/31 Version 0.4.3 Support for IPython as alternative interactive shell. External config file ('config.txt' in 'lib/' directory) - for setting default command line options. Added 'credits' and 'copyrights' as builtins (for IPython). 2004/12/28 Version 0.4.2 Another set of changes by Michael Foord. Added support for command line arguments -h, -V, -u, -i, -x, -, -c (hey that's a lot for one evening !) The main script 'movpy.py' is now kept in an external file. 'include_modules' now supports sub-packages. Added back support for encodings. packagepaths.pth added for sub-package support with 'include_packages'. 2004/12/29 Version 0.4.1 Lots of changes by Michael Foord. They include : addition of customize.py addition of syspaths.pth Cleans up intermediate files. Copies packages properly. Only copies the microsoft Visual C 7 dlls if built with Python 2.4. Addition of unicows dll is optional. Addition of spe.bat. Builds the windows version - movpyw.exe Added the manifest files. Added the build option. 2004/12/19 Version 0.4 Several important changes by Bruno Thoorens. These include : Lightweight GUI frontend added to movpy.exe. setup.py incorporated into main script - name changes to PyDistFreeze.py Icon added. 2004/12/18 Version 0.3 More work with Stani. '.pth' files now supported. Importing from '.pyc' etc. as well as straight '.py' files. Added external config file, using ConfigObj. 2004/12/17 Version 0.2 Renamed 'Movable Python'. (Executable is 'movpy.exe') Cleaned up a lot - now imports subpackages properly. Thanks to Stani of SPE for encouragement and suggestions. (including the name) 2004/12/14 Version 0.1 Test version called 'testenv' - Python test environment. Works better than expected. Thanks to Bruno Thoorens and Stani for help and debugging. From michaels at rd.bbc.co.uk Wed Jan 5 13:41:23 2005 From: michaels at rd.bbc.co.uk (Michael Sparks) Date: Wed Jan 5 15:58:25 2005 Subject: ANN: Kamaelia's Axon 1.0.1 released Message-ID: Axon 1.0.1 has been released! What is it? =========== Axon is a collection of pure python modules from the Kamaelia project which allow you to build concurrent systems in a compositional manner using communicating python generators. Components are python generators are augmented by inbox and outbox queues (lists) for communication in a CSP like fashion. Put another way this allows you to build complex systems out of small concurrent components in a fashion similar to unix pipelines, except rather than being limited to just stdin/stdout you can have whatever inputs/outputs you desire. (The defaults are inbox/outbox, control/signal) Axon should be relatively feature complete and the API stable, given its design has been fleshed by use in the Kamaelia project. Given Kamaelia components for building network servers, pygame wrappers & vorbis playback have been written using Axon so far, we expect that Axon should be useful for other areas where multiple activities need to be handled within a single thread, whilst allowing the code to remain looking more or less single threaded. Documentation is generated directly from the test suite output. What's new in version 1.0.1? ============================ * API documentation has been added (though a work in progress!) Where can I get it? =================== Axon is a sub-project of the BBC R&D Kamaelia project, which means Axon is downloadable from http://sourceforge.net/projects/kamaelia/ Web pages are here: http://kamaelia.sourceforge.net/Docs/Axon.html http://kamaelia.sourceforge.net/ (includes info on mailing lists) ViewCVS access is available here: http://cvs.sourceforge.net/viewcvs.py/kamaelia/ Best Regards, Michael. -- Michael.Sparks@rd.bbc.co.uk British Broadcasting Corporation, Research and Development Kingswood Warren, Surrey KT20 6NP This message (and any attachments) may contain personal views which are not the views of the BBC unless specifically stated. From tim.one at comcast.net Wed Jan 5 22:55:04 2005 From: tim.one at comcast.net (Tim Peters) Date: Wed Jan 5 23:12:54 2005 Subject: Spread Module 1.5 alpha 1 released Message-ID: <20050105215522.7D6061E4004@bag.python.org> Release 1.5a1 of the Spread Module for Python is available from a new home: http://zope.org/Members/tim_one/spread About the Spread Module ----------------------- This package contains a simple Python wrapper module for the Spread toolkit (see below). It wraps Spread mailboxes and messages in Python objects with appropriate methods and attributes, and turns Spread errors into Python exceptions. Virtually all Spread features are accessible from Python. It's intended to be used with Spread 3.17.3 and Python 2.3.4, although other combinations are possible. A source tarball is available, and a Windows installer with a precompiled spread.pyd (which must be used with a Python in the 2.3 line). About Spread ------------ >From the Spread website (): Spread is a toolkit that provides a high performance messaging service that is resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions. Spread is designed to encapsulate the challenging aspects of asynchronous networks and enable the construction of scalable distributed applications, allowing application builders to focus on the differentiating components of their application. Changes since release 1.4 ------------------------- Very little has changed: an obscure alignment bug triggered by people who changed #define's in Spread's own header files was fixed, and the Windows setup was changed to work with Spread 3.17.3. See the download page for details. Since so little has changed, 1.5 final will probably be released next. From richardjones at optushome.com.au Wed Jan 5 23:51:55 2005 From: richardjones at optushome.com.au (Richard Jones) Date: Thu Jan 6 15:25:07 2005 Subject: Roundup Issue Tracker release 0.7.11 Message-ID: <200501060951.55094.richardjones@optushome.com.au> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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. 0.7.11 is a bug fix release: - - index args URL generation broken in .10 (sf bug 1096027) - - handle NotModified for non-static files (sf patch 1095790) - - fix permission lookup in query editing If you're upgrading from an older version of Roundup you *must* follow the "Software Upgrade" guidelines given in the maintenance documentation. Roundup requires python 2.1.3 or later for correct operation. To give Roundup a try, just download (see below), unpack and run:: python demo.py Source and documentation is available at the website: http://roundup.sourceforge.net/ Release Info (via download page): http://sourceforge.net/projects/roundup Mailing lists - the place to ask questions: http://sourceforge.net/mail/?group_id=31577 About Roundup ============= Roundup 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 seven database back-ends (anydbm, bsddb, bsddb3, sqlite, metakit, mysql and postgresql). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFB3G+LrGisBEHG6TARAqyAAJ9oE1XWDf2HrnMMQm/j8U3o4Pbj7wCfb+B5 7MeaSyo0z1obhhcK1U19Z/M= =xGfA -----END PGP SIGNATURE----- From bac at OCF.Berkeley.EDU Thu Jan 6 08:44:09 2005 From: bac at OCF.Berkeley.EDU (Brett C) Date: Thu Jan 6 15:25:08 2005 Subject: python-dev Summary for 2004-11-16 through 2004-11-30 Message-ID: <41DCEC49.9090908@ocf.berkeley.edu> python-dev Summary for 2004-11-16 through 2004-11-30 ++++++++++++++++++++++++++++++++++++++++++++++++++++ This is a summary of traffic on the `python-dev mailing list`_ from November 16, 2004 through November 30, 2004. It is intended to inform the wider Python community of on-going developments on the list. To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list@python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! This is the fifty-third summary written by Brett Cannon (Another quarter begins). To contact me, please send email to brett at python.org ; I do not have the time to keep up on comp.lang.python and thus do not always catch follow-ups posted there. All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo =); you can safely ignore it, although I suggest learning reST; it's simple and is accepted for `PEP markup`_ and gives some perks for the HTML output. Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the `original text file`_. .. _PEP Markup: http://www.python.org/peps/pep-0012.html The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation on new code; otherwise use the current documentation as found at http://docs.python.org/ . PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to forward the development and use of Python. But the PSF_ cannot do this without donations. You can make a donation at http://python.org/psf/donations.html . Every penny helps so even a small donation (you can donate through PayPal or by check) helps. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. contents:: .. _last summary: http://www.python.org/dev/summary/2004-11-01_2004-11-15.html .. _original text file: http://www.python.org/dev/summary/2004-11-16_2004-11-30.ht ===================== Summary Announcements ===================== PyCon_ is coming up! Being held March 23-25 in Washington, DC, registration is now open at http://www.python.org/pycon/2005/register.html for credit card users (you can pay by check as well; see the general info page for the conference). .. _PyCon: http://www.python.org/pycon/2005/ ========= Summaries ========= --------------------------------------------- Would you like the source with your function? --------------------------------------------- Would you like all functions and classes to contain a __pycode__ attribute that contains a string of the code used to compile that code object? Well, that very idea was proposed. You would use a command-line switch to turn on the feature in order to remove the memory and any performance overhead for the default case of not needing this feature. Some might ask why this is needed when inspect.getsource and its ilk exist. The perk is that __pycode__ would always exist while inspect.getsource is a best attempt but cannot guarantee it will have the source. Beyond a suggested name change to __source__, various people have suggested very different uses. Some see it as a convenient way to save interpreter work easily and thus not lose any nice code snippet developed interactively. Others see a more programmatic use (such as AOP "advice" injection). Both are rather different and led to the thread ending on the suggestion that a PEP be written that specifies what the intended use-case to make sure that need is properly met. Contributing threads: - `__pycode__ extension `__ =============== Skipped Threads =============== - PEP 310 Status - python 2.3.5 release? look for 2.3.5 possibly in January - Current CVS, Cygwin and "make test" - syntactic shortcut - unpack to variably sizedlist mostly discussed `last summary`_ - Python 2.4, MS .NET 1.1 and distutils - Trouble installing 2.4 - Looking for authoritative documentation on packages, import & ihooks no docs exist, but feel free to write some! =) - String literal concatenation & docstrings literal string concatenation only works if the newline separating the strings is not significant to the parser - print "%X" % id(object()) not so nice does 'id' need to return only a positive? No, but it would be nice. - Bug in PyLocale_strcoll - Multilib strikes back - File encodings file.write does not work with Unicode strings; have to decode them to ASCII on your own From jdavid at itaapy.com Thu Jan 6 12:28:30 2005 From: jdavid at itaapy.com (=?ISO-8859-1?Q?=22J=2E_David_Ib=E1=F1ez=22?=) Date: Thu Jan 6 15:25:08 2005 Subject: itools 0.6.0 released Message-ID: <41DD20DE.4050503@itaapy.com> What is it? * itools.uri -- an API to manage URIs, to identify and locate resources. * itools.resources -- an abstraction layer over resources that let to manage them with a consistent API, independently of where they are stored. * itools.handlers -- resource handlers infrastructure (resource handlers are non persistent classes that add specific semantics to resources). This package also includes several handlers out of the box. * itools.xml -- XML infrastructure, includes resource handlers for XML, XHTML and HTML documents. Plus the Simple Template Language. * itools.i18n -- tools for language negotiation and text segmentation. * itools.workflow -- represent workflows as automatons, objects can move from one state to another through transitions, classes can add specific semantics to states and transitions. * itools.catalog -- An Index & Search engine. What's new? Resources - Now "get_resources" is an iterator that returns a resource (not a name) at a time. - Memory folders provide "get_atime". Handlers - Add the methods "get_handler_names", "get_handlers" and "has_handler". - The methods "get_resource", "has_resource", "set_resource", etc. have been removed. Access them throug the "resource" attribute, or use the equivalent handler methods ("get_handler_names", etc). - Now text handlers only must define the method "to_unicode", which now accepts the optional parameter encoding. - The methods "__str__" and "__unicode__" have been removed. Use instead "to_str" and "to_unicode". - Serialization and de-serialization code has been moved from "xml.Schema" to "handlers.IO". Now the code serializes and de-serializes to and from byte strings. XML - The architecture has been cleaned and simplified, specially for attributes, whose API has changed. - The new method "traverse2" makes "walk" obsolete. Simple Template Language - The "stl:if" and "stl:attributes" expressions accept the new "not" operator. This change makes the "stl:ifnot" statement obsolete. Catalog - Now the catalog follows the load/save logic. As a side effect the index and unindex operation has been speeded up but a factor of 2, aproximately. Workflow - Remove the "__init__" method from the "WorkflowAware" class to avoid conflicts with handler classes. Now the method "enter_workflow" must be called explicitly. Documentation - Re-write part of the introduction. - Re-organize the handler chapters. Explain some things for the first time, explain other things better. Links - Download and Documentation, http://www.ikaaro.org/ - Mailing list, http://in-girum.net/mailman/listinfo/ikaaro -- J. David Ib??ez Itaapy Tel +33 (0)1 42 23 67 45 9 rue Darwin, 75018 Paris Fax +33 (0)1 53 28 27 88 From FBatista at uniFON.com.ar Thu Jan 6 16:46:45 2005 From: FBatista at uniFON.com.ar (Batista, Facundo) Date: Fri Jan 7 17:52:11 2005 Subject: PyAr - Python Argentina 5th Meeting, Thursday, January 13th Message-ID: The Argentinian Python User Group, PyAr, will have its fifth meeting this Thursday, January 13th at 7:00pm. Please see http://pyar.decode.com.ar/Wiki/ProximaReunion for details (in Spanish.) Agenda ------ Despite our agenda tends to be rather open, this time we would like to cover these topics: - Planning of our first sprint: we actually have two main subjects: Messages Queues Manager with interfaces for SMTP (e-mail), SMPP (SMS) and MM7 (MMS); and Genetic Algorithms. - Website organization & content - Means of promoting the group's activities, in order to increase our member base. Where ----- We're meeting at Hip Hop Bar, Hip?lito Yirigoyen 640, Ciudad de Buenos Aires, starting at 19hs. We will be in the back room, so please ask the barman for us. About PyAr ---------- For more information on PyAr see http://pyar.decode.com.ar (in Spanish), or join our mailing list (Also in Spanish. For instructions see http://pyar.decode.com.ar/Members/ltorre/listademail) We meet on the second Thursday of every month. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA. La informaci?n contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener informaci?n confidencial o propietaria, cuya divulgaci?n es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no est? autorizado a divulgar, copiar, distribuir o retener informaci?n (o parte de ella) contenida en este mensaje. Por favor notif?quenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magn?tico) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telef?nica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electr?nicos pueden ser alterados, motivo por el cual Telef?nica Comunicaciones Personales S.A. no aceptar? ninguna obligaci?n cualquiera sea el resultante de este mensaje. Muchas Gracias. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20050106/f239e119/attachment.html From demian0311 at yahoo.com Fri Jan 7 07:36:04 2005 From: demian0311 at yahoo.com (demian0311@yahoo.com) Date: Fri Jan 7 17:52:11 2005 Subject: Ann: pix - simple web based gallery system Message-ID: <1105079764.722775.274370@z14g2000cwz.googlegroups.com> man python always amazes me. i was scratching an itch for a simple online gallery system and once again i'm amazed at how fast i could write a respectable gallery system and with a small amount of python code. less than 300 lines of code but it's useful enough that i thought i should stick it up on sourceforge. here it is: http://pix.sf.net From dial#####$#$#NOSPAM####$$##$tone at gmail.com Sat Jan 8 17:00:26 2005 From: dial#####$#$#NOSPAM####$$##$tone at gmail.com (Valentino Volonghi aka Dialtone) Date: Sun Jan 9 17:41:54 2005 Subject: [ANN] Weever 0.1 alpha released Message-ID: <1gq2wzj.c1q0h11wgnacjN%dial#####$#$#NOSPAM####$$##$tone@gmail.com> What is Weever? Weever is a skinnable internet forum written in python, Twisted and Nevow. This is the first alpha release. And currently only uses postgresql, however it is designed to support many database servers. Its pages are xhtml and css standard compliant. LICENSE: Weever is under the MIT license. Mailing Lists: https://lists.berlios.de/mailman/listinfo/weever-users for users https://lists.berlios.de/mailman/listinfo/weever-commits Currently it only has a minimal amount of features, others and better are planned like atom feed for each topic and thread view. Where to get it? Weever project page is at http://weever.berlios.de Project files at: http://developer.berlios.de/projects/weever/ Please remember that this software is in alpha state. If you find any bugs submit them here: http://developer.berlios.de/bugs/?group_id=2415 Thanks a lot -- Valentino Volonghi aka Dialtone Now Running MacOSX 10.3.7 Blog: http://vvolonghi.blogspot.com http://weever.berlios.de From python-url at phaseit.net Sun Jan 9 18:11:09 2005 From: python-url at phaseit.net (Josiah Carlson) Date: Mon Jan 10 15:14:30 2005 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 9) Message-ID: QOTW: Jim Fulton: "[What's] duck typing?" Andrew Koenig: "That's the Australian pronunciation of 'duct taping'." "I'm thinking that the I-Ching is a vast untapped resource for programming wisdom, plus it makes it funny." -- Mark Carter Nick Coghlan brings up the 'lambdas are going away in 3.0' topic, which has been discussed before: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/81e17b1d3ccba538 A user asks about a non-generator-based method for iteration using class __iter__ and next() methods: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/6336a00ad217888a Daniel Bickett asks about getting Twisted and wxPython working together, and receives both a threaded and non-threaded version: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/73f1e7758225afc3 A question about iterating over floats...be careful! http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/1278866159ac4429 A Boogieman asks whether Python is easily learned and what can be done with it. Quick answer: yes, and anything you are capable of doing: This Boogieman later asks about GUI toolkits: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/e67b776df72eb336 http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d502698b4adacd01 Erik Bethke writes Majong game after using Python for a month. Ahh, will the wonders of Python never cease? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/6d710e35007f0f32 Kamilche asks about getting warnings when not calling a function, and gets pointed to pychecker, something more of us should be using: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/dff810b7dacd247c Are people allowed to build commercial applications in Python? YES! http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/aa953388db68b196 Questions about asyncore brings up a web server in asyncore from _Python Web Programming_, and a pointer to Twisted. Alternatively, one could look at the asynchat or smtpd modules in the standard library as sources of inspiration: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/81360ec06013e36d ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Brett Cannon continues the marvelous tradition established by Andrew Kuchling and Michael Hudson of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ The Python Business Forum "further[s] the interests of companies that base their business on ... Python." http://www.python-in-business.org Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor@pythonjournal.com and editor@pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. deli.cio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topics/pythonurl/ http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From spkane at mac.com Mon Jan 10 01:45:58 2005 From: spkane at mac.com (Sean P. Kane) Date: Mon Jan 10 15:14:31 2005 Subject: ANN: Paranoia 1.2 released (Port of old BSD Game) References: Message-ID: <2005010916455893169%spkane@maccom> Paranoia 1.2 has been released! What is it? ======== Paranoia 1.2 is a port to Python from C of the old "paranoia" console game that used to be distributed with the bsd-games package, but has long since been removed. I ported this from C to Python as an exercise in learning Python and because I was suffering a serious bout of boredom and nostalgia. Paranoia is based on the role playing game, by the same name, that was very popular amoung a certain set during the 1980's and is making a resurgance today. Note that this release is as identical to the oringal game as I could make it within reason. I'm not a C coder, so I may have missed some functionality, but I don't think so. If you notice any errors or have any suggestions on cleaning up the Python code, please feel free to contact me. Where can I get it? ============== paranoia.py and the original c code that it is based on are currently avaliable from: http://homepage.mac.com/spkane/python/ Enjoy! > From cochrane at physics.uq.edu.au Mon Jan 10 04:10:06 2005 From: cochrane at physics.uq.edu.au (Paul Cochrane) Date: Mon Jan 10 15:14:32 2005 Subject: [ANN] PyScript 0.5 released Message-ID: <61de6b8e.0501091910.42fcd4e5@posting.google.com> PyScript is a python module for producing high quality postscript graphics. Rather than use a GUI to draw a picture, the picture is programmed using python and the PyScript objects. Some of the key features are: * All scripting is done in python, which is a high level, easy to learn, well developed scripting language. * All the objects can be translated, scaled, rotated, ... in fact any affine transformation. * Plain text is automatically kerned. * You can place abritrary LaTeX expressions on your figures. * You can create your own figure objects, and develop a library of figure primitives. * Output is publication quality. LICENSE: Released under the GPL The major change in this release is a complete rewrite of the Path object. The internals have completely changed and there have been some incompatible changes with previous versions but it's now much closer to what was envisaged for the object. There have also been many bug fixes and minor other improvements. For details see the PyScript web page: pyscript.sourceforge.net.

PyScript 0.5 - a python module for producing high quality postscript graphics; rather than use a GUI to draw a picture, the picture is programmed using python and the pyscript objects. (10-Jan-05) -- paultcochrane@users.sourceforge.net From aahzpy at panix.com Mon Jan 10 05:53:24 2005 From: aahzpy at panix.com (aahzpy@panix.com) Date: Mon Jan 10 15:14:32 2005 Subject: BayPIGgies: January 13, 7:30pm Message-ID: <20050110045324.GA16439@panix.com> WARNING: the last meeting of BayPIGgies at Stanford is currently scheduled for March. Our host, Danny Yoo, is leaving Stanford, and we need to find a new location. If you wish to assist with the search, please join the BayPIGgies mailing list. Meanwhile, let's all give hearty thanks to Danny for helping us find a stable meeting location for so long! The next meeting of BayPIGgies will be Thurs, January 13 at 7:30pm. Danny Yoo leads a discussion of Python coding tricks and techniques. Please join the BayPIGgies mailing list to discuss which sample code will be demonstrated. The web site will contain more details. BayPIGgies meetings are in Stanford, California. For more information and directions, see http://www.baypiggies.net/ Before the meeting, we may meet at 6pm for dinner in downtown Palo Alto. Discussion of dinner plans is handled on the BayPIGgies mailing list. Advance notice: The February 10 meeting agenda has not been set. Please send e-mail to baypiggies@baypiggies.net if you want to make a presentation. -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ "19. A language that doesn't affect the way you think about programming, is not worth knowing." --Alan Perlis From ianb at colorstudy.com Mon Jan 10 09:25:40 2005 From: ianb at colorstudy.com (Ian Bicking) Date: Mon Jan 10 15:14:33 2005 Subject: Chicago Python Users Group: Thu 13 Jan Meeting Message-ID: <41E23C04.5010307@colorstudy.com> The Chicago Python User Group, ChiPy, will have its next meeting on Thursday, 13 January 2005, starting at 7pm. For more information on ChiPy see http://chipy.org This month the topic will be An Introduction To Jython, presented by Brian Zimmer. Jython is an implementation of Python that runs on the Java Virtual Machine. Brian Zimmer has been using and developing Jython for over 4 years. He is the author of zxJDBC, the Python DB API implementation for Jython as well as recently taking over primary maintenance for the Jython project. Brian recently receive a grant from the Python Software Foundation for his project "Moving Jython Forward." There will also be time to chat, and many opportunities to ask questions. We encourage people at all levels to attend. Location -------- This month we will be meeting in the Monadnock Building Conference Room 826, 53 W Jackson St, in downtown Chicago. This is immediately adjacent to the blue line and an easy walk from all Metra stations and the CTA red line, at the corner of Jackson and Dearborn. Because the meeting is held after-hours for the building, we need to provide a list of attendees. Please send your name (as it appears on your ID) to tobis (at) mailbag dot com (if you aren't sure you'll be able to come, send your name anyway). If you drive, aim for the Congress Parkway exit from the Ryan (I-90/94) or the east end of the Eisenhower (I-290). About 5 blocks east and 2 blocks north once you enter the street grid is the entrance you are looking for. (Alternatively, exit Lakeshore at Congress and head west about 5 blocks.) There are numerous paid parking lots in the area. If you're adamantly opposed to parking structures sometimes a meter can be found, especially on the south side of Congress around Printer's Row. Refreshments will be provided, but unfortunately there will be no live network connection, so if you have something you want to show, bring it along on your laptop. About ChiPy ----------- We meet once a month, on the second Thursday of the month. If you can't come this month, please join our mailing list: http://lonelylion.com/mailman/listinfo/chipy From michaels at rd.bbc.co.uk Mon Jan 10 13:09:58 2005 From: michaels at rd.bbc.co.uk (Michael Sparks) Date: Mon Jan 10 15:14:33 2005 Subject: ANN: Kamaelia's Axon-1.0.2 For Series60 Released. Message-ID: Axon-1.0.2 For Series60 has been released! This is a modified version of Axon 1.0.2 working (with limited testing - the normal test suite passes) on the Nokia series 60 mobile phones. The key differences are: * The debug subsystem has been disabled * The directory structure has been flattened. What is Axon? ============= Axon is a collection of pure python modules from the Kamaelia project which allow you to build concurrent systems in a compositional manner using communicating python generators. Components are python generators are augmented by inbox and outbox queues (lists) for communication in a CSP like fashion. Put another way this allows you to build complex systems out of small concurrent components in a fashion similar to unix pipelines, except rather than being limited to just stdin/stdout you can have whatever inputs/outputs you desire. (The defaults are inbox/outbox, control/signal) Axon should be relatively feature complete and the API stable, given its design has been fleshed by use in the Kamaelia project. Given Kamaelia components for building network servers, pygame wrappers & vorbis playback have been written using Axon so far, we expect that Axon should be useful for other areas where multiple activities need to be handled within a single thread, whilst allowing the code to remain looking more or less single threaded. Documentation is generated directly from the test suite output. What's new in version 1.0.2-series60? ===================================== * Initial release for series 60 ???*?API?documentation?has?been?added?(though?a?work?in?progress!) * Examples from docs have been fully tested * Changes in distribution structure to simplify transferring onto Nokia mobiles. Licensing ========= Kamaelia is released under the Mozilla trilicense scheme (MPL/GPL/LGPL). Specifically you may choose to accept either the Mozilla Public License 1.1, the GNU General Public License 2.0 or the Lesser General Public License 2.1. Proprietary licensing details available upon request. Where can I get it? =================== Axon is a sub-project of the BBC R&D Kamaelia project, which means Axon is downloadable from http://sourceforge.net/projects/kamaelia/ Web pages are here: ???http://kamaelia.sourceforge.net/Docs/Axon.html ???http://kamaelia.sourceforge.net/?(includes?info?on?mailing?lists) ViewCVS access is available here: ???http://cvs.sourceforge.net/viewcvs.py/kamaelia/ Best Regards, Michael. -- Michael.Sparks@rd.bbc.co.uk British Broadcasting Corporation, Research and Development Kingswood Warren, Surrey KT20 6NP This message (and any attachments) may contain personal views which are not the views of the BBC unless specifically stated. From borco at go.ro Tue Jan 11 16:43:36 2005 From: borco at go.ro (ionutz) Date: Tue Jan 11 22:50:47 2005 Subject: ANN: PyComicsViewer-0.7 released Message-ID: <1105458216.186075.208540@f14g2000cwb.googlegroups.com> PyComicsViewer-0.7 has been released What is PyComicsViewer? ======================= Is a comics viewer written in python, PyGTK and PIL. I made it as I didn't fully like any of the existing viewers and I wanted something that works the same (nice) way on both Linux and Windows. Because of the way it was implemented, you can also use it like a kind of image browser/viewer, but this is not its primary destination. Browsing images from uncompressed directories is provided because resulted naturally from the implementation and because I've seen some people that distribute their scaned comics uncompressed. What's new in version 0.7? ========================== This is the first public release of the viewer. 90% of the functionality is already in place. Some things need better implementation and some are still to be implemented. However, you should be able to read cbr and cbz files with it. Licensing ========= PyComicsViewer is released under the GPL. Where can I get it? =================== You can download it from: http://borco.net/html/PyComicsViewer/ Cheers, Ionutz From fredrik at pythonware.com Tue Jan 11 21:17:53 2005 From: fredrik at pythonware.com (Fredrik Lundh) Date: Tue Jan 11 22:50:47 2005 Subject: ANN: cElementTree 0.8 (january 11, 2005) Message-ID: <002001c4f81a$a1d8e1c0$c200a8c0@wmc3fuze4sqif8> effbot.org proudly presents the cElementTree library, a fast and very efficient implementation of the ElementTree API, for Python 2.1 and later. On typical documents, it's 15-20 times faster than the Python version of ElementTree, and uses 2-5 times less memory. Here are some benchmark figures, using a number of popular XML tool- kits to parse a 3405k document-style XML file from disk. library memory time ------------------------------------------------------------ minidom (python 2.1) 80000k 6.5s minidom (python 2.4) 53000k 1.4s ElementTree 1.3 14500k 1.1s pyRXPU 11500k 0.22s cElementTree 0.8 5700k 0.058s ------------------------------------------------------------ readlines (read as text) 5050k 0.032s ------------------------------------------------------------ The library is available as C source code, and as Windows installers for all recent Python versions. Get your copy here: http://effbot.org/downloads#celementtree The cElementTree module uses some support functions from the standard ElementTree library, and will not work properly without it. If you haven't installed it already, you can get it from: http://effbot.org/downloads#elementtree enjoy /F From tim at zope.com Tue Jan 11 22:26:04 2005 From: tim at zope.com (Tim Peters) Date: Tue Jan 11 22:50:48 2005 Subject: ZODB 3.3.1 alpha 1 released Message-ID: <20050111212608.C677E3B8038@smtp.zope.com> I'm pleased to announce the release of ZODB 3.3.1 alpha 1 (ZODB 3.3.1a1). You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.3 A number of critical bugfixes have been made since 3.3 final, including several in the 3.3 ZEO cache. Please see the NEWS file for details: http://zope.org/Products/ZODB3.3/NEWS.html ZODB 3.3 supports Zope X3, and current Zope 2.8 trunk development. Zope 3 has outgrown the 3.3 line, and requires new features in ZODB 3.4 (for which no standalone release is yet available). ZODB 3.3 does not support any version of Zope 2.6 or 2.7. From spk00 at cox.net Wed Jan 12 06:01:46 2005 From: spk00 at cox.net (Sean P. Kane) Date: Wed Jan 12 14:55:22 2005 Subject: ANN: Paranoia 1.3 released (OO rewrite) References: Message-ID: <2005011121014616807%spk00@coxnet> Paranoia 1.3 has been released! What is it? ======== Paranoia 1.3 is a port to Python from C of the old "paranoia" console game that used to be distributed with the bsd-games package, but has long since been removed. I ported this from C to Python as an exercise in learning Python and because I was suffering a serious bout of boredom and nostalgia. Paranoia is based on the role playing game, by the same name, that was very popular amoung a certain set during the 1980's and is making a resurgance today. Note that this release is as identical to the oringal game as I could make it within reason. I'm not a C coder, so I may have missed some functionality, but I don't think so. If you notice any errors or have any suggestions on cleaning up the Python code, please feel free to contact me. Where can I get it? ============== paranoia.py and the original c code that it is based on are currently avaliable from: http://homepage.mac.com/spkane/python/ # HISTORY # ======= # # 1.3 - 11 Jan 2005 # + Massive Object Oriented re-working done by: Steven Bethard # + A few nice changes from Scott David Daniels # # 1.2.1 - 10 Jan 2005 # + Greatly improved next_page method based on code from Andy Gimblett - http://www.cs.swan.ac.uk/~csandy/ # # 1.2 - 03 Jan 2005 # + Initially started porting application Trust no one! Keep your laser handy! The Computer is your friend! From tundra at tundraware.com Wed Jan 12 10:22:44 2005 From: tundra at tundraware.com (Tim Daneliuk) Date: Wed Jan 12 14:55:22 2005 Subject: [ANN]: twander 3.160 Released And Available Message-ID: <2t6fb2-i8f.ln1@eskimo.tundraware.com> 'twander' Version 3.160 is now released and available for download at: http://www.tundraware.com/Software/twander The last public release was 3.146. Existing users are encouraged to upgrade to this release as it has a number of bug fixes and several nice new features including: - Mouse popups for all the menus (except Help). - Ability to force Unix-style paths under Windows when doing substitutions in command macros. (Very helpful for cygwin users.) - A smarter "adaptive" directory refresh mechanism. - A new "Shortcut" menu for fast navigation around the filesystem. Complete details of all fixes, changes, and new features can be found in the WHATSNEW.txt file included in the distribution. Users are strongly encouraged to join the twander-users mailing list as described in the documentation. What Is 'twander'? ------------------ 'twander' is a macro-programmable Filesystem Browser that runs on both Unix-like systems as well as Win32 systems. It embraces the best ideas of both similar GUI-driven programs (Konqueror, Windows Explorer) as well as text-based interfaces (Midnight Commander, List, Sweep). Or, If You Prefer The "Elevator Pitch" -------------------------------------- 'twander' is: - A better file browser for Unix and Win32. (Tested on FreeBSD, Linux, Win32.) - A way to make browsing the same on all the OSs you use. - A macro-programmable tool that lets *you* define the features. - A GUI navigation front-end for your shell. - A way to "can" workflows for your technically-challenged colleagues. - A way to free yourself from the shackles of the mouse. - A way to significantly speed up your day-to-day workflow. - A Python/Tkinter application - about 3100/1300 lines of code/comments - A RCT (Really Cool Tool) that will have you addicted in a day or two See the web page for more information, a screen shot, and the complete documentation. ------------------------------------------------------------------------------ Tim Daneliuk tundra@tundraware.com From fuzzyman at voidspace.org.uk Wed Jan 12 10:47:49 2005 From: fuzzyman at voidspace.org.uk (Fuzzyman) Date: Wed Jan 12 14:55:23 2005 Subject: PyCrypto 2.0, pysco 1.4 - Windows Binaries for 2.4 Message-ID: <41E4F245.5060709@voidspace.org.uk> The location of the prebuilt windows installer for PyCypto 2.0 (for python 2.4) has changed. Apologies for any confusion, this is because of a website reorganisation at Voidspace. The new location is : http://www.voidspace.org.uk/python/modules.shtml#pycrypto There is also a prebuilt windows installer for psyco 1.4 (for python 2.4). This is because there isn't yet a prebuilt binary available from sourceforge. http://www.voidspace.org.uk/python/modules.shtml#psyco Both built using the free, Microsoft, optimizing compiler. Following instructions from : http://www.vrplumber.com/programming/mstoolkit/index.html Regards, Fuzzy http://www.voidspace.org.uk/python/index.shtml From fuzzyman at voidspace.org.uk Wed Jan 12 11:25:29 2005 From: fuzzyman at voidspace.org.uk (Fuzzyman) Date: Wed Jan 12 14:55:23 2005 Subject: [Ann] PyName and downman Message-ID: <41E4FB19.8010707@voidspace.org.uk> A couple of new 'modules' available from Voidspace Pythonutils. PyName http://www.voidspace.org.uk/python/modules.shtml#pyname Slightly tongue in cheek, this isn't really a python module. It's three lists of English words containing 'py' - intended to be helpful to those choosing names for python projects. The word lists were produced from an initial file of about 8mb. Words selected all contain 'py', single words or hyphenated words, but no compound words. * pywordlist.txt All words contain 'py' 23kb - 1946 words * pywordlist2.txt All words starting or ending in 'py' 16kb - 1406 words * pywordlist3.txt All words as pywordlist2, but only words less than 10 chars long 5kb - 658 words. downman.py Version 0.2.1 14th December 2004 Simple Download Manager http://www.voidspace.org.uk/python/cgi.shtml#downman This is a simple download manager tool. It may be egotistical, but I like to know which of my projects are being downloaded (and which aren't). Simply make your files available in a single directory and have the links point to downman (see the download link for downman itself for an example) and downman will track the downloads. At the moment it only presents simple data - but all the raw data is collected to do per week/last month (or whatever) analysis. It will also manage links as well. See the example output at http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py Regards, Fuzzyman http://www.voidspace.org.uk/python/index.shtml From mike at pcblokes.com Wed Jan 12 12:26:55 2005 From: mike at pcblokes.com (Michael Foord) Date: Wed Jan 12 14:55:24 2005 Subject: [Ann] Voidspace Pythonutils Website Change and Updates Message-ID: <41E5097F.2070109@pcblokes.com> The Voidspace Pythonutil Pages have had a long overdue overhaul. The url of the Voidspace Pythonutils homepage has changed. It is now : http://www.voidspace.org.uk/python/index.html There are now separate pages for programs, modules, recipes, and CGIs. Several of the bigger modules and programs have their own pages. The following modules have also been updated : StandOut Version 2.1.0 6th Jan 2005 http://www.voidspace.org.uk/python/modules.shtml#standout This simple 'Flexible Output Object' has now been updated to work with sys.stderr as well as sys.stdout. It can log them separately or to the same file. StandOut is a simple way of adding 'variable verbosity levels' to your program *and* logging, just using normal print commands. guestbook.py http://www.voidspace.org.uk/python/cgi.shtml#guestbook Version 1.2.0 3rd December 2004 The Voidspace Python Guestbook has been updated. You can now use sendmail instead of smtplib as an option (my current host will only allow sendmail). License change (again!) - now the BSD license. Changed to use the UTF-8 encoding throughout. We ought to be able to accept 'foreign' (non-ascii) entries now. ConfigObj Version 3.2.3 2nd December 2004 Fixes a critical bug and a couple of minor improvements. ConfigObj is for simple but powerful config file parsing/creation. Fixed bug in creating non-flatfiles from scratch. (__comments__ KeyError). (critical bugfix) Tuple entries are written out as lists rather than being converted to strings. When an exception is raised, it's no longer printed first. Added the istrue method. Changed the license to BSD-License. As far as I know these are the only substantial changes to modules. A few others have had *minor* bugfix updates as well. Regards, Fuzzy http://www.voidspace.org.uk/python/index.shtml From ahaas at airmail.net Wed Jan 12 18:50:07 2005 From: ahaas at airmail.net (Art Haas) Date: Thu Jan 13 14:40:34 2005 Subject: [ANNOUNCE] Twenty-first release of PythonCAD now available Message-ID: <20050112175007.GC22649@artsapartment.org> I'm pleased to announce the twenty-first development 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 or newer. 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 PythonCAD interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The twenty-first release of PythonCAD adds the ability to save the visibility and locked status of entities when saving a drawing. This release also includes improved code for handling the undo/redo operations by simplifying various routines as well as making similiar routines in various modules consistent. Like all previous releases, numerous bug fixes and code improvements have been applied. A mailing list for the development and use of PythonCAD is available. Visit the following page for information about subscribing and viewing the mailing list archive: http://mail.python.org/mailman/listinfo/pythoncad 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 -- Man once surrendering his reason, has no remaining guard against absurdities the most monstrous, and like a ship without rudder, is the sport of every wind. -Thomas Jefferson to James Smith, 1822 From FBatista at uniFON.com.ar Wed Jan 12 20:07:14 2005 From: FBatista at uniFON.com.ar (Batista, Facundo) Date: Thu Jan 13 14:40:35 2005 Subject: PyAr - Python Argentina 5th Meeting, tomorrow Thursday, Decimal t alk included Message-ID: The Argentinian Python User Group, PyAr, will have its fifth meeting this Thursday, January 13th at 7:00pm. Please see http://pyar.decode.com.ar/Wiki/ProximaReunion for details (in Spanish.) Agenda ------ Despite our agenda tends to be rather open, this time we would like to cover these topics: - Planning of our first sprint: we actually have two main subjects: Messages Queues Manager with interfaces for SMTP (e-mail), SMPP (SMS) and MM7 (MMS); and Genetic Algorithms. - Website organization & content - Means of promoting the group's activities, in order to increase our member base. There will be also an introduction from me to the Decimal data type that debuted in Python 2.4 (but could be used in 2.3 as well). Where ----- We're meeting at Hip Hop Bar, Hip?lito Yirigoyen 640, Ciudad de Buenos Aires, starting at 19hs. We will be in the back room, so please ask the barman for us. About PyAr ---------- For more information on PyAr see http://pyar.decode.com.ar (in Spanish), or join our mailing list (Also in Spanish. For instructions see http://pyar.decode.com.ar/Members/ltorre/listademail) We meet on the second Thursday of every month. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA. La informaci?n contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener informaci?n confidencial o propietaria, cuya divulgaci?n es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no est? autorizado a divulgar, copiar, distribuir o retener informaci?n (o parte de ella) contenida en este mensaje. Por favor notif?quenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magn?tico) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telef?nica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electr?nicos pueden ser alterados, motivo por el cual Telef?nica Comunicaciones Personales S.A. no aceptar? ninguna obligaci?n cualquiera sea el resultante de este mensaje. Muchas Gracias. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20050112/71cf4ab8/attachment.html From uche.ogbuji at fourthought.com Thu Jan 13 01:35:28 2005 From: uche.ogbuji at fourthought.com (Uche Ogbuji) Date: Thu Jan 13 14:40:35 2005 Subject: ANN: Amara XML Toolkit 0.9.2 Message-ID: <1105576528.32542.163.camel@borgia> http://uche.ogbuji.net/tech/4Suite/amara ftp://ftp.4suite.org/pub/Amara/ Changes in this release: * Use local names rather than QNames for default bindings * Add attribute support to XPath * Add amara.binderytools.preserve_attribute_details rule * Reorg and fix demos and tests * Add Flextyper DTLL implementation * Add parsing functions binderytools.bind_string, binderytools.bind_stream * Add binderytools.pushbind. This one deserves some elaboration. The following is complete code for iterating through address labels in an XML document, while never loading more memory than needed to hold one label element: from amara import binderytools for subtree in binderytools.pushbind('/labels/label', source='labels.xml'): print subtree.label.name, 'of', subtree.label.address.city Amara XML Toolkit is a collection of Python tools for XML processing-- not just tools that happen to be written in Python, but tools built from the ground up to use Python idioms and take advantage of the many advantages of Python. Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite focuses more on literal implementation of XML standards in Python, Amara focuses on Pythonic idiom. It provides tools you can trust to conform with XML standards without losing the familiar Python feel. The components of Amara are: * Bindery: data binding tool (fancy way of saying: a very Pythonic XML API) * Scimitar: implementation of the ISO Schematron schema language for XML; converts Schematron files to Python scripts * domtools: set of tools to augment Python DOMs * saxtools: set of tools to make SAX easier to use in Python * Flextyper: user-defined datatypes in Python for XML processing There's a lot in Amara, but here are highlights: Amara Bindery: XML as easy as py -------------------------------- Based on the retired project Anobind, but updated to use SAX rather than DOM to create bindings. Bindery reads an XML document and returns a data structure of Python objects corresponding to the vocabulary used in the XML document, for maximum clarity. Bindery turns the document What do you mean "bleh" But I was looking for argument Into a set of objects such that you can write binding.monty.python.spam In order to get the value "eggs" or binding.monty.python[1] In order to get the value "But I was looking for argument". There are other such tools for Python, and what makes Anobind unique is that it's driven by a very declarative rules-based system for binding XML to the Python data. You can register rules that are triggered by XPattern expressions specialized binding behavior. It includes XPath support and supports mutation. Bindery is very efficient, using SAX to generate bindings. Scimitar: exceptional schema language for an exceptional programming language ----------------------------------------------------------------------------- Merged in from a separate project, Scimitar is an implementation of ISO Schematron that compiles a Schematron schema into a Python validator script. You typically use scimitar in two phases. Say you have a schematron schema schema1.stron and you want to validate multiple XML files against it, instance1.xml, instance2.xml, instance3.xml. First you run schema1.stron through the scimitar compiler script, scimitar.py: scimitar.py schema1.stron A file, schema1.py is generated and can be used to validate XML instances: python schema1.py instance1.xml Which emits a validation report. Amara DOM Tools: giving DOM a more Pythonic face ------------------------------------------------ DOM came from the Java world, hardly the most Pythonic API possible. Some DOM-like implementations such as 4Suite's Domlettes mix in some Pythonic idiom. Amara DOM Tools goes even further. Amara DOM Tools feature pushdom, similar to xml.dom.pulldom, but easier to use. It also includes Python generator-based tools for DOM processing, and a function to return an XPath location for any DOM node. Amara SAX Tools: SAX without the brain explosion ------------------------------------------------ Tenorsax (amara.saxtools.tenorsax) is a framework for "linerarizing" SAX logic so that it flows more naturally, and needs a lot less state machine wizardry. License ------- Amara is open source, provided under the 4Suite variant of the Apache license. See the file COPYING for details. Installation ------------ Amara requires Python 2.3 or more recent and 4Suite 1.0a3 or more recent. Make sure these are installed, unpack Amara to a convenient location and run python setup.py install -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286 UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html Use Universal Feed Parser to tame RSS - http://www.ibm.com/developerworks/xml/library/x-tipufp.html Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html A survey of XML standards - http://www-106.ibm.com/developerworks/xml/library/x-stand4/ The State of Python-XML in 2004 - http://www.xml.com/pub/a/2004/10/13/py-xml.html From richard at commonground.com.au Thu Jan 13 07:20:55 2005 From: richard at commonground.com.au (Richard Jones) Date: Thu Jan 13 14:40:36 2005 Subject: Roundup Issue Tracker release 0.8 beta 2 Message-ID: <47FF3996-652B-11D9-BCF6-000A95ABA188@commonground.com.au> I'm proud to release this 8th major feature release of Roundup. This is currently a DEVELOPMENT release, meaning it probably has bugs. If you want a STABLE release, use 0.7.x First up, big thanks go to alexander smishlajev who has done some really good work getting the i18n and new configuration components of this release going. Version 0.8 introduces far too many features to list here so I've put together a What's New page: http://roundup.sourceforge.net/doc-0.8/whatsnew-0.8.html This is a bugfix release, fixing: - note about how to run roundup demo in Windows (sf bug 1082090) - fix API for templating utils extensions - remove "utils" arg (sf bug 1081981) - back_sqlite.py is missing "import time" (sf bug 1081959) - fix (list) popup (sf bug 1083570) - fix some security assertions (sf bug 1085481) - 'roundup-server -S' always writes [trackers] section heading (sf bug 1088878) - fix port number as int in mysql connection info (sf bug 1082530) - fix setup.py to work with Several times now I've heard from users who cannot access ftp.4suite.org. It's a problem we've had since we migrated to a hosting solution with a heavy, managed firewall, to beef up security. We're trying to work out the FTP problems but meanwhile, don't forget that you can get 4Suite on SourceForge: http://sourceforge.net/project/showfiles.php?group_id=39954 I also just added HTTP download links for Amara XML Toolkit to: http://uche.ogbuji.net/tech/4Suite/amara/ In particular: http://uche.ogbuji.net/tech/4Suite/amara/Amara-0.9.2.zip http://uche.ogbuji.net/tech/4Suite/amara/Amara-0.9.2.tar.gz http://uche.ogbuji.net/tech/4Suite/amara/Amara-0.9.2.tar.bz2 -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286 UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html Use Universal Feed Parser to tame RSS - http://www.ibm.com/developerworks/xml/library/x-tipufp.html Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html A survey of XML standards - http://www-106.ibm.com/developerworks/xml/library/x-stand4/ The State of Python-XML in 2004 - http://www.xml.com/pub/a/2004/10/13/py-xml.html From ajw140NO at SPAMyork.ac.uk Fri Jan 14 12:45:47 2005 From: ajw140NO at SPAMyork.ac.uk (Andrew Wilkinson) Date: Fri Jan 14 16:37:06 2005 Subject: ANN: PyLinda 0.4 Message-ID: PyLinda 0.4 By Andrew Wilkinson Introduction --------------- Linda is an widely studied distributed computing environment, centred around the notion of a tuple space. A tuple space is a bag (also called a multi-set) of tuples. A tuple is an ordered, typed chunk of data. Tuple spaces exist independently of processes in the system, and the data placed into a tuple space also exist independently. See "Generative communication in Linda" (1985) and "Multiple tuple spaces in Linda" both by David Gelernter for more information on Linda. PyLinda is a simple implementation of a linda system, however it also includes several of the more recently proposed extensions to Linda in the form of multiple tuple spaces, garbage collection, sane non-blocking primitives and bulk tuple operations. Full details can be found at the website http://www-users.cs.york.ac.uk/~aw/pylinda The package can be downloaded from http://www-users.cs.york.ac.uk/~aw/pylinda/linda-0.4.tar.gz Changes In This Version --------------- - New Features ?*?Removed?SysV?shared?memory?and?made?Unix?Domain?Sockets?the?default?as they are quicker. ?*?A?new?flashy?website - Bug Fixes ?*?Fix?bug?where?some?sockets?would?not?be?in?blocking?mode?and?hence?cause an exception. Thanks to Dave St.Germain for the bug report. ?*?Fix?bug?where?Windows?didn't?define?MSG_DONTWAIT?in?the?socket?module. Thanks to Dr Andrew Perella for the bug report. ?*?Fix?bug?that?prevented?a?network?of?servers?from?being?formed.?Thanks?to Igor Chaves Cananea for the bug report and patch. From tim at zope.com Fri Jan 14 19:40:33 2005 From: tim at zope.com (Tim Peters) Date: Sat Jan 15 14:12:50 2005 Subject: ZODB 3.2.5 (final) released Message-ID: <20050114184034.A39E03B8038@smtp.zope.com> I'm pleased to announce the release of ZODB 3.2.5 (final). This corresponds to the ZODB (and ZEO) planned to ship with Zope 2.7.4 (final) this weekend. You can download a source tarball or Windows installer from: http://zope.org/Products/ZODB3.2 This is a pure bugfix release, fixing some relatively minor but longstanding problems. See the news file for details: http://zope.org/Products/ZODB3.2/NEWS ZODB 3.2.5 can be used with Zopes in the 2.7 line, at or after Zope 2.7.3. Note that ZODB 3.2.4 does not support development on Zope 2.8, Zope X3 or Zope 3 (they require the ZODB 3.3 line). From jim at zope.com Fri Jan 14 23:00:39 2005 From: jim at zope.com (Jim Fulton) Date: Sat Jan 15 14:12:51 2005 Subject: Collaborate at PyCon Message-ID: <41E84107.5060208@zope.com> PyCon is not just a conference to hear people present on Python and Python applications. It's also a place to meet and work with colleagues from around the world. Consider the following opportunities for collaboration: - Sprinting A sprint is a multi-day session of intense development organized around extreme programming (XP) ideas such as pair programming. There will be four days, March 19-22, before the regular conference to sprint on a variety of projects. To see what sprints are planned, see: http://www.python.org/moin/PyConDC2005/Sprints If you would like to lead a sprint, feel free to add the sprint to that page. If you want to participate in a sprint, visit a sprint-topic page and add your name to the list of attendees so that we know how many people are coming. If you have a question about the sprints, feel free to drop me a line. - Open Space Open space is a part of PyCon designed to provide opportunities for collaboration. There are two kinds of open space at Pycon, quiet and noisy. There will be a quiet room provided throughout the conference for people to access the network and to quietly hack with others (e.g. pair program). There will also be noisy rooms for people to have discussions or give informal presentations. The noisy rooms will host up to two presentations or discussions at a time. We'll provide the opportunity to sign up for 30-minute time slots. We'll allow sign up for half of the time slots before the conference. There will be a posted schedule with spaces to sign up for the remainder of the time slots during the conference. I'll provide more information on the open space schedule soon, after we finalize the rest of the conference schedule. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org From fredrik.lundh at gmail.com Sat Jan 15 12:17:49 2005 From: fredrik.lundh at gmail.com (Fredrik Lundh) Date: Sat Jan 15 14:12:52 2005 Subject: ANN: cElementTree 0.9.2 (january 15, 2005) Message-ID: <368a5cd505011503174f83c01d@mail.gmail.com> effbot.org proudly presents the cElementTree library, a fast and very efficient implementation of the ElementTree API, for Python 2.1 and later. On typical documents, it's 15-20 times faster than the Python version of ElementTree, and uses 2-5 times less memory. The 0.9.2 release is 10-20% faster than 0.8 on my benchmarks, and uses 5-15% less memory. Here are some benchmark results, using a number of popular XML tool- kits to parse a 3405k source file on my development machine: library memory time ------------------------------------------------------------ minidom (python 2.1) 80000k 6.5s minidom (python 2.4) 53000k 1.4s ElementTree 1.3 14500k 1.1s cElementTree 0.8 5700k 0.058s cElementTree 0.9 4900k 0.047s ------------------------------------------------------------ readlines (read as utf-8) 8850k 0.093s readlines (read as ascii) 5050k 0.032s ------------------------------------------------------------ For more information on this library, including download instructions, comparisions to other popular XML toolkits, and more, see: http://effbot.org/zone/celementtree.htm enjoy /F From python-url at phaseit.net Sat Jan 15 16:08:16 2005 From: python-url at phaseit.net (Cameron Laird) Date: Tue Jan 18 00:08:20 2005 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 15) Message-ID: QOTW: "Python: it tastes so good it makes you hungrier." -- EP "I don't consider 'throws Exception' to be sloppy, I consider it to be programmers voting with their feet." -- Roy Smith The Centre for Epidemiology and Research has released a high-quality suite of Python-based "Network-enabled epidemiology" tools. Among other packages, NetEpi leverages MxDateTime, Albatross, Numeric Python, pyPGSQL, and RPy: http://mail.python.org/pipermail/python-list/2004-December/257928.html Bengt Richter and John Lenton expertly handle binary data, the latter through reliance on mmap: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d9d74e3df5b7495d/ When tackling tedious capabilities like SSL, experts know to leverage the work--Twisted, Medusa, Apache, ...--of others: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/e0ae7d7e43dc606 When tackling tedious capabilities like FASTA, experts know to leverage the work--biopython, mmap, gdbm, ...--of others: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/cf9949fce8d51e7e/ So, you're on a desert island, no credit card, no modern OS, nothing but a thin telnet to the universal IP cloud--you can still practice Python: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/c6e33ffbc0726732 twander 3.160 boasts ... well, read for yourself the details of this quite-cool filesystem browser: http://www.tundraware.com/Software/twander No, you do NOT really want XQuery: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/86afefc7cdad4f6d/ Paul McGuire soberly illustrates pyparse's place in programming: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/387915357b5eb524 ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Brett Cannon continues the marvelous tradition established by Andrew Kuchling and Michael Hudson of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ The Python Business Forum "further[s] the interests of companies that base their business on ... Python." http://www.python-in-business.org Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor@pythonjournal.com and editor@pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. deli.cio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topics/pythonurl/ http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From max at alcyone.com Sun Jan 16 01:27:04 2005 From: max at alcyone.com (Erik Max Francis) Date: Tue Jan 18 00:08:21 2005 Subject: ANN: BOTEC 0.3 -- An astrophysical and orbital mechanics calculator Message-ID: Summary BOTEC is a simple astrophysical and orbital mechanics calculator, including a database of all named Solar System objects. Overview BOTEC is intended as a simple but useful calculator to assist with making astrophysical, orbital mechanics, and space navigation calculations. As the origin of the acronym applies, BOTEC is more of a "back-of-the-envelope calculator" rather than an industrial-strength calculator, although this may change in the future. BOTEC is primarily intended for people familiar with physics and Python, and as such is unlikely to be useful to the average enduser. BOTEC really consists of two parts: The BOTEC software, which knows what to do with the data, and the Solar System data itself, which is represented in a large data file (a Python pickle, actually). This is deliberately modularized so that the Solar System data BOTEC uses can be updated independently of thet software, and also that alternative data files (*e.g.*, hypothetical stellar systems for fictional purposes) can be supported. All values are strictly in SI units. Getting the software The current version of botec is 0.3. The latest version of the software is available in a tarball here: http://www.alcyone.com/software/botec/botec-latest.tar.gz. The official URL for this Web site is http://www.alcyone.com/software/botec/. Requirements BOTEC requires Python 2.3 or greater. In its present state, BOTEC will also not be of much use to endusers not familiar with Python, or people without some basic working knowledge of physics, astrophysics, orbital mechanics, and space navigation. License This code is released under the GPL. .... Release history [since 0.2] - 0.3, 2005 Jan 15. Separate transfers from maneuvers; support Oberth maneuvers. - 0.2.1, 2005 Jan 8. Various collected modifications. -- Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/ San Jose, CA, USA && 37 20 N 121 53 W && AIM erikmaxfrancis The quickest way of ending a war is to lose it. -- George Orwell From abpillai at gmail.com Tue Jan 18 07:27:58 2005 From: abpillai at gmail.com (Anand) Date: Tue Jan 18 22:55:13 2005 Subject: Bangalore, India - Python Meetup Message-ID: <1106029678.816988.15280@f14g2000cwb.googlegroups.com> The first meeting of the newly formed Bangalore India Python Meetup group is scheduled on Saturday, Jan 22nd. The group was formed on 28 Dec 2004 and has 12 members currently. Join the group here -> http://python.meetup.com/158/ Regards -Anand From jjl at pobox.com Tue Jan 18 22:49:30 2005 From: jjl at pobox.com (John J. Lee) Date: Tue Jan 18 22:55:13 2005 Subject: ANN: ClientCookie 1.0.2 released Message-ID: <87651u2ys5.fsf@pobox.com> http://wwwsearch.sourceforge.net/ClientCookie/ 1.0.2 is the first stable release of a "final" version, parts of which are in Python 2.4 as new module cookielib and updates to urllib2. 0.4.x is no longer actively maintained. This release requires Python 2.0 or newer. Python 1.5.2 is no longer supported. Notes about ClientCookie, cookielib and urllib2 1. The cookie handling parts of ClientCookie are in Python 2.4 standard library as module cookielib and extensions to module urllib2. 2. ClientCookie works with Python 2.4. 3. For new code to run on Python 2.4, I recommend use of standard library modules urllib2 and cookielib instead of ClientCookie. 4. Handler classes thst are missing from 2.4's urllib2 (eg. HTTPRefreshProcessor) may be used with 2.4's urllib2. IMPORTANT: For all other code, use ClientCookie exclusively: do NOT mix use of ClientCookie and urllib2! For a list of backwards-incompatible changes from 0.4.x to 1.0.x, see: http://wwwsearch.sourceforge.net/ClientCookie/porting-0.4-1.0.txt Changes from 1.0.0a to 1.0.2: * Remove thread synchronization from CookieJar, since I'm convinced it's broken. * Cookies previously considered to have no name are now considered as if they had no value. This was half-done in 1.0.0a and in Python 2.4.0 cookielib (ie., it was broken). Note that this may break existing LWPCookieJar files if they contain such cookies (MozillaCookieJar files are OK). * Don't lowercase cookie names if they happen to be one of the special cookie-attribute names (eg. Expires). * Fix bug in LWPCookieJar. and MozillaCookieJar.load() (raise ClientCookie.LoadError, not IOError, on failure). ClientCookie is a Python module for handling HTTP cookies on the client side, useful for accessing web sites that require cookies to be set and then returned later. It also provides some other (optional) useful stuff: HTTP-EQUIV and Refresh handling, automatic adding of the Referer [sic] header, automatic observance of robots.txt and lazily-seek()able responses. These extras are implemented using an extension that makes it easier to add new functionality to urllib2. It has developed from a port of Gisle Aas' Perl module HTTP::Cookies, from the libwww-perl library. import ClientCookie response = ClientCookie.urlopen("http://foo.bar.com/") This function behaves identically to urllib2.urlopen, except that it deals with cookies automatically. That's probably all you need to know. John From tim.peters at gmail.com Tue Jan 18 23:04:50 2005 From: tim.peters at gmail.com (Tim Peters) Date: Wed Jan 19 15:49:29 2005 Subject: Fwd: Python Spread Module 1.5 beta 1 released In-Reply-To: <1f7befae0501181401694713c@mail.gmail.com> References: <1f7befae0501181401694713c@mail.gmail.com> Message-ID: <1f7befae05011814046ea14bd7@mail.gmail.com> Release 1.5b1 of the Spread Module for Python is available from a new home: http://zope.org/Members/tim_one/spread Changes since release 1.5a1 --------------------------- Thanks to Mark McClain, Mailbox objects have a new multigroup_multicast() method, wrapping the Spread API's SP_multigroup_multicast() call. Changes since release 1.4 ------------------------- Very little has changed: an obscure alignment bug triggered by people who changed #define's in Spread's own header files was fixed, and the Windows setup was changed to work with Spread 3.17.3. See the download page for details. Since so little has changed, 1.5 final will probably be released next. About the Spread Module ----------------------- This package contains a simple Python wrapper module for the Spread toolkit (see below). It wraps Spread mailboxes and messages in Python objects with appropriate methods and attributes, and turns Spread errors into Python exceptions. Virtually all Spread features are accessible from Python. It's intended to be used with Spread 3.17.3 and Python 2.3.4, although other combinations are possible. A source tarball is available, and a Windows installer with a precompiled spread.pyd (which must be used with a Python in the 2.3 line). About Spread ------------ >From the Spread website (): Spread is a toolkit that provides a high performance messaging service that is resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions. Spread is designed to encapsulate the challenging aspects of asynchronous networks and enable the construction of scalable distributed applications, allowing application builders to focus on the differentiating components of their application. From remi at cherrypy.org Wed Jan 19 19:16:28 2005 From: remi at cherrypy.org (remi@cherrypy.org) Date: Thu Jan 20 15:47:05 2005 Subject: ANN: Free Trac/Subversion hosting at Python-Hosting.com Message-ID: <1106158588.249821.217270@z14g2000cwz.googlegroups.com> Hello everyone, To celebrate its second anniversary, Python-Hosting.com is happy to announce that it is now offering free Trac/Subversion hosting. This offer is limited to open-source, python projects. Trac and Subversion make a great combination for project management. More information about Trac can be found here: http://www.edgewall.com/trac The free offer includes: - Your own Trac site with HTTP and HTTPS access - Your own Subversion repository with HTTP and HTTPS access - Access to trac-admin through a web interface - Access to Trac and Subversion user configuration through a web interface - Web usage statistics of your Trac site - Nightly backups of your data to external servers If you want to know more about this offer and find out how to sign up, check out the following page: http://www.python-hosting.com/freetrac Remi. PS: Python-Hosting.com also offers commercial packages for Trac/Subversion hosting, which aren't limited to open source python projects and which include additional services such as your own domain name, e-mail/DNS/database hosting, shell access, more diskspace or bandwidth, ... From nemesis at nowhere.invalid Wed Jan 19 19:26:36 2005 From: nemesis at nowhere.invalid (Nemesis) Date: Thu Jan 20 15:47:06 2005 Subject: [ANN] XPN - X Python Newsreader 0.4.0 released Message-ID: <1k7msc.6m1.ln@orion.homeinvalid> XPN is a multiplatform newsreader written in Python+GTK2. It is unicode compliant and has features like scoring/action rules, configurable attribution lines and random taglines, search facilities and filtered views, import/export newsrc ... You can find it on: http://xpn.altervista.org/index-en.html or http://sf.net/projects/xpn I'd really appreciate every type of feedback. Changes in this release: * v0.4.0: added off-line reading. Now you can download the whole bodies, or mark some article and download their bodies. * v0.4.0: added Keep Article and Watch/Ignore SubThread * v0.4.0: added actions rule, now you can !keep, !watch, !ignore (and so on) your article through rules * v0.4.0: now XPN stores the position and the size of Main Window and Edit Window * v0.4.0: now you can customize the charsets list XPN use to encode your outgoing articles * v0.4.0: improved speed when loading groups list in Groups Window. * v0.4.0: fixed a bug in the binary version that caused a crash trying to subscribe a group * v0.4.0: added Oriental Charsets support (thanks to Python2.4) * v0.4.0: added Global Search, you can search the whole groups and put the results in a virtual group * v0.4.0: added filtered views * v0.4.0: moved to GTK2.4 and Python2.4 * v0.4.0: added a TraceBack viewer and an error logger * v0.4.0: reorganized some menus * v0.4.0: now the background color is changed also on Groups Pane and Headers pane * v0.4.0: added a lot of little features/enhancements * v0.4.0: fixed a lot of bugs -- A diplomat thinks twice before saying nothing. |\ | |HomePage : http://nem01.altervista.org | \|emesis |XPN (my nr): http://xpn.altervista.org From tundra at tundraware.com Thu Jan 20 11:53:51 2005 From: tundra at tundraware.com (Tim Daneliuk) Date: Thu Jan 20 15:47:06 2005 Subject: [ANN] tconfpy 2.112 Released And Available Message-ID: <41EF8DF3.3070408@tundraware.com> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 'tconfpy' Version 2.112 is now released and available for download at: ~ http://www.tundraware.com/Software/tconfpy The last public release was 1.185 (5-2-2004) This is a significant bugfix and feature upgrade release. Existing users are strongly encouraged to upgrade. Be aware that the passed and returned API parameters have changed, as have some of the semantics of the configuration language, so existing code and/or configuration files may need to be edited accordingly. Complete details can be found in the WHATSNEW.txt file included in the distribution. Users are strongly encouraged to join the tconfpy-users mailing list as described in the documentation. What Is 'tconfpy'? - ------------------ 'tconfpy' is an advanced configuration file parser and validator for Python programs. By using 'tconfpy', Python programmers can provide their users with an external configuration file for setting program options, defining defaults, and so on. 'tconfpy' offloads the responsibility for parsing and validating a configuration file from the main application. The Python programmer need only deal with the results and any errors or warnings generated during the parsing process. 'tconfpy' recognizes a rich configuration language and provides a number of sophisticated programming features including: ~ - The ability to breakup large configurations into smaller pieces ~ via the '.include' directive. ~ - Support for string substitution and concatenation throughout the ~ configuration file via string variables. Variables may be ~ locally declared, a reference to a symbol already in the ~ symbol table, or a reference to an environment variable. ~ - A complete set of conditional directives for selective ~ processing of configuration options. Both existential ("If ~ variable exists ...") and comparison ("if string equals/does not ~ equal string ...") forms are provided, as is an '.else' ~ directive. ~ - The ability to instantiate program options prior to reading a ~ configuration file and make them mandatory by declaring those ~ options as Read-Only. ~ - Optional type validation to ensure that a user enters a value ~ appropriate for boolean, integer, floating point, string, or ~ complex data. ~ - Optional value validation to ensure that a configuration option ~ is either within a specified range or one of an enumerated set ~ of possible values. For configuration options which are string ~ types, 'tconfpy', can optionally specify min/max string lengths ~ and enumerate a set of legitimate regular expressions that the ~ string must match. ~ - The ability to define an arbitrary number of lexical namespaces. ~ - The ability to use the various features of 'tconfpy' as a pre- ~ processor for any other text (including source code for other ~ programming languages and Python itself) via the '.literal' ~ directive. ~ - The ability to "template" classes of variables, thereby predefining ~ the type and value restrictions for such variables. This makes ~ 'tconfpy' useful as a building block for data validation tools. ~ - An optional debug capability which returns detailed information ~ about each line parsed. ~ - Includes a test driver program for learning how to program with ~ 'tconfpy' and for debugging and testing your own configuration ~ files. ~ - Comes with approximately 40 pages of documentation including a ~ Programmer's API Reference and a User's Guide to the 'tconfpy' ~ configuration language. Documentation is provided in several ~ formats including Unix 'man', Plain Text, html, pdf, and ~ Postscript. 'tconfpy' is a Pure Python module and is platform-independent. It should work identically on any platform on which Python runs. - ------------------------------------------------------------------------------ Tim Daneliuk tundra@tundraware.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFB743zyjgA+Mact+YRApJkAJoDVUQ/HfVEHZXvd62JWfJEliVBIgCgzkC4 6jLTipWtNcNmtKckkn/Wc/I= =vJiT -----END PGP SIGNATURE----- From altis at semi-retired.com Thu Jan 20 21:23:44 2005 From: altis at semi-retired.com (Kevin Altis) Date: Sun Jan 23 14:12:17 2005 Subject: OSCON Call For Proposals Now Open Message-ID: <2EBE8E8A-6B21-11D9-87B1-000A9598382A@semi-retired.com> The Call for Proposals has just opened for the 7th Annual O'Reilly Open Source Convention http://conferences.oreillynet.com/os2005/ OSCON is headed back to friendly, economical Portland, Oregon during the week of August 1-5, 2005. If you've ever wanted to join the OSCON speaker firmament, now's your chance to submit a proposal (or two) by February 13, 2005. Complete details are available on the OSCON web site, but we're particularly interested in exploring how software development is moving to another level, and how developers and businesses are adjusting to new business models and architectures. We're looking for sessions, tutorials, and workshops proposals that appeal to developers, systems and network administrators, and their managers in the following areas: - All aspects of building applications, services, and systems that use the new capabilities of the open source platform - Burning issues for Java, Mozilla, web apps, and beyond - The commoditization of software: who and/or what can show us the money? - Network-enabled collaboration - Software customizability, including software as a service - Law, licensing, politics, and how best to navigate other troubled waters Specific topics and tracks at OSCON 2005 include: Linux and other open source operating systems, Java, PHP, Python, Perl, Databases (including MySQL and PostgreSQL), Apache, XML, Applications, Ruby, and Security. Attendees have a wide range of experience, so be sure to target a particular level of experience: beginner, intermediate, advanced. Talks and tutorials should be technical; strictly no marketing presentations. Session presentations are 45 or 90 minutes long, and tutorials are either a half-day (3 hours) or a full day (6 hours). Feel free to spread the word about the Call for Proposals to your friends, family, colleagues, and compatriots. We want everyone to submit, from American women hacking artificial life into the Linux kernel to Belgian men building a better mousetrap from PHP and recycled military hardware. We mean everyone! Even if you don't want to participate as a speaker, send us your suggestions--topics you'd like to see covered, groups we should bring into the OSCON fold, extra-curricular activities we should organize--to oscon-idea@oreilly.com . This year, we're moving to the wide open spaces of the Oregon Convention Center. We've arranged for the nearby Doubletree Hotel to be our headquarters hotel--it's a short, free Max light rail ride (or a lovely walk) from the Convention Center. Registration opens in April 2005; hotel information will be available shortly. Deadline to submit a proposal is Midnight (PST), February 13. For all the conference details, go to: http://conferences.oreillynet.com/os2005/ Press coverage, blogs, photos, and news from the 2004 O'Reilly Open Source Convention can be found at: http://www.oreillynet.com/oscon2004/ Would your company like to make a big impression on the open source community? If so, consider exhibiting or becoming a sponsor. Contact Andrew Calvo at (707) 827-7176, or andrewc@oreilly.com for more info. See you Portland next summer, The O'Reilly OSCON Team From baas at ira.uka.de Thu Jan 20 21:45:32 2005 From: baas at ira.uka.de (Matthias Baas) Date: Sun Jan 23 14:13:42 2005 Subject: ANN: Python Computer Graphics Kit v2.0.0alpha2 Message-ID: The second alpha release of version 2 of the Python Computer Graphics Kit is available at http://cgkit.sourceforge.net What is it? ----------- The Python Computer Graphics Kit is a generic 3D package written in C++ and Python that can be used for a variety of domains such as scientific visualization, photorealistic rendering, Virtual Reality or even games. The package contains a number of generic modules that can be useful for any application that processes 3D data. This includes new types such as vectors, matrices and quaternions. Furthermore, the package can read and store 3D models in memory where they can be manipulated by Python programs. The kit comes with tools that can be used to display the scene either interactively or by rendering it offline via a RenderMan renderer. What's new? ----------- - New module "glove" that wraps the 5DT Data Glove SDK - New module "wintab" that wraps the Wintab API to receive data from tablets (Windows only) - New module "spacedevice" that wraps the 3Dconnexion 3DXWare SDK (currently Windows only) - New class: FreeCamera - STL importer added (ASCII and binary) - some bugfixes and minor enhancements (see changelog) Windows binary versions are available for Python 2.3 and Python 2.4. For more information, visit: http://cgkit.sourceforge.net - Matthias - From borco at go.ro Fri Jan 21 15:15:41 2005 From: borco at go.ro (ionutz) Date: Sun Jan 23 14:14:03 2005 Subject: ANNOUNCE: PyComicsViewer-0.9.0 Message-ID: <1106316941.791419.81500@f14g2000cwb.googlegroups.com> PyComicsViewer-0.9.0 has been released. What is PyComicsViewer? ======================= Is a comics viewer written in python, PyGTK and PIL. I made it as I didn't fully like any of the existing viewers and I wanted something that works the same (nice) way on both Linux and Windows. Because of the way it was implemented, you can also use it like a kind of image browser/viewer, but this is not its primary destination. Browsing images from uncompressed directories is provided because resulted naturally from the implementation and because I've seen some people that distribute their scaned comics uncompressed. Changes in 0.9.0 (2005/01/21) ============================= * treat the argument from the command line as a comics it has to open on initial start-up * make the PyComicsViewer.py search its glade template in the same folder it is stored * save and restore the usage of PIL at app's stop and restart * added some custom icons for the menu and toolbar Changes in 0.8.0 (2005/01/17) ============================= * corrected some keyboard bugs * use only one glade template for all dialogs and windows * use only one open dialog that can open both files and folders * added a refresh button to reload the current archive * code clean-ups Licensing ========= PyComicsViewer is released under the GPL. Where can I get it? =================== You can download it from: http://borco.net/html/PyComicsViewer/ Cheers, From fabioz at esss.com.br Fri Jan 21 13:28:48 2005 From: fabioz at esss.com.br (Fabio Zadrozny) Date: Sun Jan 23 14:14:15 2005 Subject: Pydev 0.8.5 released! Message-ID: <20050121122910.9B0DD143024@ironman.esss.com.br> Hi All, PyDev - Python IDE (Python development enviroment for Eclipse) version 0.8.5 has just been released. This release has as its main feature a new Code Completion. Check the homepage for more details (http://pydev.sourceforge.net/). Other things in the release include some bugs corrected, and some patches: - Scott Schlesier has provided a patch to configure the editor background and color of the highlighted line. - Sebastian Tusk provided a patch to see watch expressions on debug. Hope you enjoy it... Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software www.esss.com.br From frankn at cibit.nl Sun Jan 23 14:04:28 2005 From: frankn at cibit.nl (Frank Niessink) Date: Sun Jan 23 14:14:38 2005 Subject: [ANN] Release 0.19 of Task Coach Message-ID: <41F3A0DC.8060906@cibit.nl> Hi all, I am pleased to announce release 0.19 of Task Coach. New in this release: - A list view of effort spent on tasks. - Effort spent on tasks can now also (besides by using the start and stop buttons) be entered and edited manually. This is convenient if you want to enter (or change) time spent after the fact. If you are able to run Task Coach on other platforms than Windows XP (home or pro) I'd appreciate a note. If you run into problems, please mail me as well. In the latter case, please include all platform details, Python version and wxPython version, and of course a detailed description of the problem. What is Task coach? Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and uses wxPython. You can download Task Coach from: http://taskcoach.niessink.com. A binary installer is available for Windows XP, in addition to the source distribution. If you use the source distribution you need Python version 2.3 or higher and wxPython version 2.5.3.1 or higher. Thanks, Frank From fumanchu at amor.org Fri Jan 21 08:08:35 2005 From: fumanchu at amor.org (Robert Brewer) Date: Sun Jan 23 14:14:49 2005 Subject: Dejavu 1.3, a Python ORM Message-ID: <3A81C87DC164034AA4E2DDFE11D258E339823A@exchange.hqamor.amorhq.net> The Dejavu Object-Relational Mapper (version 1.3) is now available and in the public domain. Get it at svn://casadeamor.com/dejavu/trunk or http://www.aminus.org/rbre/python/. Dejavu is an Object-Relational Mapper for Python applications. It is designed to provide the "Model" third of an MVC application. Dejavu avoids making decisions in the framework which are better left to developers, and avoids forcing developers to make decisions which are better left to deployers. In particular, deployers are allowed to mix and match storage mechanisms, including how and when to cache objects in memory, making it easier for deployers to tune applications to their particular environment. Dejavu provides: MODELING LAYER 1. A base Unit class for persisting objects to storage. 2. A base Unit Property class for persistent object attributes. 3. ID Sequencers. 4. Associations between Unit classes. 5. Unit Engines, Rules, and Collections. 6. Aggregation and analysis tools. APPLICATION LAYER 1. Expressions: pure Python Unit queries. This is perhaps the most appealing feature of Dejavu. However, since it uses bytecode hacks, Dejavu only runs on CPython. 2. Sandboxes, which serve as Identity Maps and per-connection caches. Unit objects are "memorized" and "recalled" from a Sandbox, using Expressions. 3. An Arena class for application-level data. STORAGE LAYER 1. A base StorageManager class and specification. Unlike many ORMs, Dejavu does not require you to have complete control of the back end. 2. Specific StorageManagers for: a. Microsoft SQL Server/MSDE via ADO. b. Microsoft Access (Jet) via ADO. c. PostgreSQL. d. MySQL. e. SQLite. f. ODBC databases (not complete, and probably never will be). g. Shelve to dbm. Major changes from 1.2: 1. Support for PostgreSQL, MySQL, and SQLite. 2. New db module which abstracts common DB StorageManager code. 3. Full support for decimal and fixedpoint. 4. zoo_fixture.py brings common tests to all StorageManagers. Dejavu welcomes your use and feedback as an application developer. Dejavu also welcomes framework developers. New code for additional Storage Managers, analysis tools, or other portions will be gladly reviewed for inclusion in future releases. Drop me an email if you feel so inclined. Robert Brewer MIS Amor Ministries fumanchu@amor.org From johan at pulp.se Sat Jan 22 17:57:24 2005 From: johan at pulp.se (johan@pulp.se) Date: Sun Jan 23 14:15:06 2005 Subject: [ANN]: wxBrowser 0.2.4 Message-ID: <1106413044.885761.265640@c13g2000cwb.googlegroups.com> The wxBrowser (and wxwML) can be used to create web based applications using wxWidgets GUI objects and wxPython instead of a browser and HTML/JavaScript. The wxBrowser reads wxwML from a web server and translates it into (wx)python code during run time. All GUI Events are bound to URLs instead of functions defined in the application. In case an event is triggered the wxBrowser requests a new document using the URL and, expecting wxwML back, translates and executes it within a try/except block, ignoring errors. The wxBrowser is very work in progress, there's still lots of things to be done but this version is complete enough to convey the idea. You can download the python source from SourceForge (http://sourceforge.net/project/showfiles.php?group_id=72786&package_id=140137) and there's a sample application at http://www.pulp.se/wx/contacts that you can use to test it. For more info, see: http://sourceforge.net/projects/serf and http://www.pulp.se/serf/wxBrowser.pdf -- Johan Lindberg johan@pulp.se From sylvain.thenault at nospam.logilab.fr Fri Jan 21 13:25:21 2005 From: sylvain.thenault at nospam.logilab.fr (Sylvain Thenault) Date: Sun Jan 23 14:15:19 2005 Subject: [ANN] PyLint 0.6 Message-ID: Hi there, I'm very pleased to announce the 0.6 release of PyLint. This release fix a lot of bugs and should be much more stable than the 0.5 release where stopping actual import of analyzed modules has been introduced (and that's really a huge improvment, since this was potentialy introducing some side effects). There are also more documentation, a better test suite, and also minor new features was added. Every users of pylint should update to 0.6. Notice that Logilab's common library 0.9 is required (http://www.logilab.org/projects/common). Enjoy ! What's new ? ------------ * refix pylint emacs mode * no more traceback when just typing "pylint" * fix a bug which may cause crashes on resolving parent classes * fix problems with the format checker: don't chock on files containing multiple CR, avoid C0322, C0323, C0324 false positives with triple quoted string with quote inside * correctly detect access to member defined latter in __init__ method * now depends on common 0.8.1 to fix problem with interface resolution (close #8606) * new --list-msgs option describing available checkers and their messages * added windows specific documentation to the README file, contributed by Brian van den Broek * updated doc/features.txt (actually this file is now generated using the --list-msgs option), more entries into the FAQ * improved tests coverage What is pylint ? ---------------- Pylint is a python tool that checks if a module satisfy a coding standard. Pylint can be seen as another pychecker since nearly all tests you can do with pychecker can also be done with Pylint. But Pylint offers some more features, like checking line-code's length, checking if variable names are well-formed according to your coding standard, or checking if declared interfaces are truly implemented, and much more (see http://www.logilab.org/pylint/ for the complete check list). The big advantage with Pylint is that it is highly configurable, customizable, and you can easily write a small plugin to add a personal feature. The usage it quite simple : $ pylint mypackage.mymodule This command will output all the errors and warnings related to the tested code (here : mypackage.mymodule), will dump a little summary at the end, and will give a mark to the tested code. Pylint is free software distributed under the GNU Public Licence. Home page --------- http://www.logilab.org/projects/pylint Download -------- ftp://ftp.logilab.org/pub/pylint Mailing list ------------ mailto://python-projects@lists.logilab.org -- Sylvain Th?nault LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org From uche.ogbuji at fourthought.com Sat Jan 22 20:57:45 2005 From: uche.ogbuji at fourthought.com (Uche Ogbuji) Date: Sun Jan 23 14:15:30 2005 Subject: ANN: Amara XML Toolkit 0.9.3 Message-ID: <1106423866.4598.245.camel@borgia> http://uche.ogbuji.net/tech/4Suite/amara ftp://ftp.4suite.org/pub/Amara/ Changes in this release: * Removed some cruft code, apparently leading to a huge speedup in bindery and pushbind * binderytools.pushdom now returns elements rather than subtree root nodes * Added ns:* form of match to patterns support * Added many docstrings * More demos and tests * Bug fixes The code sample from the last announcement is now simplified. The following is complete Amara 0.9.3 code for iterating through address labels in an XML document, generally not using more memory to process 10,000 labels than 100: from amara import binderytools for label in binderytools.pushbind('/labels/label', source='labels.xml'): print label.name, 'of', label.address.city Amara XML Toolkit is a collection of Python tools for XML processing-- not just tools that happen to be written in Python, but tools built from the ground up to use Python idioms and take advantage of the many advantages of Python. Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite focuses more on literal implementation of XML standards in Python, Amara focuses on Pythonic idiom. It provides tools you can trust to conform with XML standards without losing the familiar Python feel. The components of Amara are: * Bindery: data binding tool (fancy way of saying: a very Pythonic XML API) * Scimitar: implementation of the ISO Schematron schema language for XML; converts Schematron files to Python scripts * domtools: set of tools to augment Python DOMs * saxtools: set of tools to make SAX easier to use in Python * Flextyper: user-defined datatypes in Python for XML processing There's a lot in Amara, but here are highlights: Amara Bindery: XML as easy as py -------------------------------- Based on the retired project Anobind, but updated to use SAX rather than DOM to create bindings. Bindery reads an XML document and returns a data structure of Python objects corresponding to the vocabulary used in the XML document, for maximum clarity. Bindery turns the document What do you mean "bleh" But I was looking for argument Into a set of objects such that you can write binding.monty.python.spam In order to get the value "eggs" or binding.monty.python[1] In order to get the value "But I was looking for argument". There are other such tools for Python, and what makes Anobind unique is that it's driven by a very declarative rules-based system for binding XML to the Python data. You can register rules that are triggered by XPattern expressions specialized binding behavior. It includes XPath support and supports mutation. Bindery is very efficient, using SAX to generate bindings. Scimitar: exceptional schema language for an exceptional programming language ----------------------------------------------------------------------------- Merged in from a separate project, Scimitar is an implementation of ISO Schematron that compiles a Schematron schema into a Python validator script. You typically use scimitar in two phases. Say you have a schematron schema schema1.stron and you want to validate multiple XML files against it, instance1.xml, instance2.xml, instance3.xml. First you run schema1.stron through the scimitar compiler script, scimitar.py: scimitar.py schema1.stron A file, schema1.py is generated and can be used to validate XML instances: python schema1.py instance1.xml Which emits a validation report. Amara DOM Tools: giving DOM a more Pythonic face ------------------------------------------------ DOM came from the Java world, hardly the most Pythonic API possible. Some DOM-like implementations such as 4Suite's Domlettes mix in some Pythonic idiom. Amara DOM Tools goes even further. Amara DOM Tools feature pushdom, similar to xml.dom.pulldom, but easier to use. It also includes Python generator-based tools for DOM processing, and a function to return an XPath location for any DOM node. Amara SAX Tools: SAX without the brain explosion ------------------------------------------------ Tenorsax (amara.saxtools.tenorsax) is a framework for "linerarizing" SAX logic so that it flows more naturally, and needs a lot less state machine wizardry. License ------- Amara is open source, provided under the 4Suite variant of the Apache license. See the file COPYING for details. Installation ------------ Amara requires Python 2.3 or more recent and 4Suite 1.0a4 or more recent. Make sure these are installed, unpack Amara to a convenient location and run python setup.py install -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://4Suite.org http://fourthought.com Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html Introducing the Amara XML Toolkit - http://www.xml.com/pub/a/2005/01/19/amara.html Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286 UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html Manage XML collections with XAPI - http://www-106.ibm.com/developerworks/xml/library/x-xapi.html Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html From detlev at die-offenbachs.de Sun Jan 23 16:34:50 2005 From: detlev at die-offenbachs.de (Detlev Offenbach) Date: Tue Jan 25 19:39:01 2005 Subject: ANN: eric3 3.6.0 released Message-ID: Hi, this is to let you know about a new release of eric3, the Python IDE. It has a bunch of new functions. The most prominent ones are listed below. - added some dialog wrappers that make eric3 use KDE dialogs, if KDE and PyKDE are installed - added a previewer for UI files - added a previewer for translation files - added a "Continue to cursor" command to the debugger - added view profiles and a correspondig configuration dialog - added capability to show the coverage annotations in the editor - added capability to select the protocol of the VCS server at login time - added support for alternative keyboard shortcuts - changed variables viewer to keep the state of the tree while debugging - added multiple selection capabilities to the browsers - added capability to enter variables filter patterns to the variables viewer windows - added an icon previewer to the configuration dialog icons page and some more little things. It is available via http://www.die-offenbachs.de/detlev/eric3.html I hope you enjoy it. What is eric3 ------------- eric3 is Python IDE written using the PyQt wrappers. If the PyKDE wrappers are installed as well, it will work as a KDE application and use KDE dialogs. It has a built in debugger, profiler, help viewer, unlimited number of editors with syntax highlighting, autocompletion and many more. Eric3 interfaces to CVS and subversion and has a built in documentation generation facility. For all the other details and snapshots please see the above URL. Regards, Detlev -- Detlev Offenbach detlev@die-offenbachs.de From fredrik at pythonware.com Sun Jan 23 17:24:35 2005 From: fredrik at pythonware.com (Fredrik Lundh) Date: Tue Jan 25 19:39:02 2005 Subject: ANN: cElementTree 0.9.8 (january 23, 2005) Message-ID: <017401c50168$0702d5a0$c200a8c0@wmc3fuze4sqif8> effbot.org proudly presents release 0.9.8 of the cElementTree library, a fast and very efficient implementation of the ElementTree API, for Python 2.1 and later. On typical documents, it's 15-20 times faster than the Python version of ElementTree, and uses 2-5 times less memory. This release includes a new "iterparse" mechanism, which can be used to process the tree as it is being built. While not quite as fast as a full parse, it's over 4 times faster than Python's standard SAX interface, and even a bit faster than sgmlop. The library is available as C source code, and as Windows installers for all recent Python versions. Get your copy here: http://effbot.org/downloads#celementtree The cElementTree module uses some support functions from the standard ElementTree library, and will not work properly without it. If you haven't installed it already, you can get it from: http://effbot.org/downloads#elementtree enjoy /F From python-url at phaseit.net Sun Jan 23 17:28:30 2005 From: python-url at phaseit.net (Josiah Carlson) Date: Tue Jan 25 19:39:02 2005 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 23) Message-ID: QOTW: "XML with elementtree is what makes me never have [to] think about XML again." -- Istvan Albert "'Plays well with others' was a strong motivator for Python's design, and that often means playing by others' rules." -- Tim Peters Type mutability, and why some types are immutable. This has been discussed before, and should be a FAQ topic (if it isn't already): http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/f05c9cbb7e58db9b http://www.python.org/tim_one/000195.html Caching instances of classes for reuse: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/9178beed046956d2 Storing data in a persistant fashion. One link discussing concurrency, the other discussing data storage mechanisms. A link to PyTables as a way of storing and indexing large amounts of data, and the announcement for Dejavu 1.3, which also stores persistant data: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/072e6da39a4e8760 http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/7f2849d3099abfdc http://pytables.sourceforge.net/html/WelcomePage.html http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/01a77dc70a55fc94 So, you want to use SFTP in Python? Paramiko is the answer (or so I read): http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/e95e8482c023fe25 http://www.lag.net/paramiko/ Circular iteration, or any strange iteration tasks? Try itertools! http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/42bd800632199d2a What do PyChecker and Pylint have to do with each other? Are they configurable? And do *you* know a half-dozen distinct formats for printing a multi-line text? http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/2ff633d4474e52e7/ Jeremy Bowers and Dan Stromberg know that some applications should do the right thing, whether they happen to have a bit-mapped user interface at run time or not: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/9ff27f0e5fea2045/ The Bangalore Python Meetup first convened on 22 January 2005: http://python.meetup.com/158/events/?eventId=3974233&action=pastdetail Why generator expressions sometimes don't beat list comprehensions, and fitting Python to requirements. Let not the anti-functional fashion obscure that filter() still sometimes makes for better coding than the comparable list comprehension: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/0155347dab27026d http://groups-beta.google.com/group/comp.lang.python/msg/b15bab678ad9b2dc Security is hard. Even the narrow aspect of cryptography is hard, if only for the complication state politics makes of the mathematics and engineering involved. Paul Rubin, Nick Craig- Wood, and others present a few details: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/fcf8b0764d369cfa No, really--Python does *that*, too. Although many people regard hardware interfacing, and its associated bit-twiddling, as outside Python's purview, they're ... wrong. See for yourself how Python makes for *clearer* codings than C or Java or Assembler or ...: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/ea293235bef39473/ ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Brett Cannon continues the marvelous tradition established by Andrew Kuchling and Michael Hudson of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ The Python Business Forum "further[s] the interests of companies that base their business on ... Python." http://www.python-in-business.org Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor@pythonjournal.com and editor@pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. deli.cio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topics/pythonurl/ http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From bac at OCF.Berkeley.EDU Sun Jan 23 20:49:06 2005 From: bac at OCF.Berkeley.EDU (Brett C.) Date: Tue Jan 25 19:39:03 2005 Subject: python-dev Summary for 2004-12-01 through 2004-12-15 Message-ID: <41F3FFB2.5070607@ocf.berkeley.edu> This is a summary of traffic on the `python-dev mailing list`_ from December 01, 2004 through December 15, 2004. It is intended to inform the wider Python community of on-going developments on the list. To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list@python.org which is a gateway to the newsgroup) with a subject line mentioning what you are discussing. All python-dev members are interested in seeing ideas discussed by the community, so don't hesitate to take a stance on something. And if all of this really interests you then get involved and join `python-dev`_! This is the fifty-fourth summary written by Brett Cannon (amazed no one has complained about the lateness of these summaries!). To contact me, please send email to brett at python.org ; I do not have the time to keep up on comp.lang.python and thus do not always catch follow-ups posted there. All summaries are archived at http://www.python.org/dev/summary/ . Please note that this summary is written using reStructuredText_ which can be found at http://docutils.sf.net/rst.html . Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo =); you can safely ignore it, although I suggest learning reST; it's simple and is accepted for `PEP markup`_ and gives some perks for the HTML output. Also, because of the wonders of programs that like to reformat text, I cannot guarantee you will be able to run the text version of this summary through Docutils_ as-is unless it is from the `original text file`_. .. _PEP Markup: http://www.python.org/peps/pep-0012.html The in-development version of the documentation for Python can be found at http://www.python.org/dev/doc/devel/ and should be used when looking up any documentation on new code; otherwise use the current documentation as found at http://docs.python.org/ . PEPs (Python Enhancement Proposals) are located at http://www.python.org/peps/ . To view files in the Python CVS online, go to http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/ . Reported bugs and suggested patches can be found at the SourceForge_ project page. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to forward the development and use of Python. But the PSF_ cannot do this without donations. You can make a donation at http://python.org/psf/donations.html . Every penny helps so even a small donation (you can donate through PayPal or by check) helps. .. _python-dev: http://www.python.org/dev/ .. _SourceForge: http://sourceforge.net/tracker/?group_id=5470 .. _python-dev mailing list: http://mail.python.org/mailman/listinfo/python-dev .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. contents:: .. _last summary: http://www.python.org/dev/summary/2004-11-16_2004-11-30.html .. _original text file: http://www.python.org/dev/summary/2004-12-01_2004-12-15.ht ===================== Summary Announcements ===================== PyCon_ 2005 planning is well underway. The schedule has been posted at http://www.python.org/pycon/2005/schedule.html and looks great with a quite the varied topics. And there is still time for the early-bird registration price of $175 ($125 students) before it expires on January 28th. Some day I will be all caught up with the Summaries... .. _PyCon: http://www.pycon.org ========= Summaries ========= ---------------------------------- PEPS: those existing and gestating ---------------------------------- [for emails on PEP updates, subscribe to python-checkins_ and choose the 'PEP' topic] A proto-PEP covering the __source__ proposal from the `last summary`_ has been posted to python-dev. `PEP 338`_ proposes how to modify the '-m' modifier so as to be able to execute modules contained within packages. .. _python-checkins: http://mail.python.org/mailman/listinfo/python-checkins .. _PEP 338: http://www.python.org/peps/pep-0338.html Contributing threads: - `PEP: __source__ proposal `__ - `PEP 338: Executing modules inside packages with '-m' `__ ------------------- Deprecating modules ------------------- The xmllib module was deprecated but not listed in `PEP 4`_. What does one do? Well, this led to a long discussion on how to handle module deprecation. With the 'warning' module now in existence, PEP 4 seemed to be less important. It was generally agreed that listing modules in PEP 4 was no longer needed. It was also agreed that deleting deprecated modules was not needed; it breaks code and disk space is cheap. It seems that no longer listing documentation and adding a deprecation warning is what is needed to properly deprecate a module. By no longer listing documentation new programmers will not use the code since they won't know about it. And adding the warning will let old users know that they should be using something else. .. _PEP 4: http://www.python.org/peps/pep-0004.html Contributing threads: - `Deprecated xmllib module `__ - `Rewriting PEP4 `__ ------------------------------------------ PR to fight the idea that Python is "slow" ------------------------------------------ An article_ in ACM TechNews that covered 2.4 had several mentions that Python was "slow" while justifying the slowness (whether it be flexibility or being fast enough). Guido (rightfully) didn't love all of the "slow" mentions which I am sure we have all heard at some point or another. The suggestions started to pour in on how to combat this. The initial one was to have a native compiler. The thinking was that if we compiled to a native executable that people psychologically would stop the association of Python being interpreted which is supposed to be slow. Some people didn't love this idea since a native compiler is not an easy thing. Others suggested including Pyrex with CPython, but didn't catch on (maintenance issue plus one might say Pyrex is not the most Pythonic solution). This didn't get anywhere in the end beyond the idea of a SIG about the various bundling tools (py2app, py2exe, etc.). The other idea was to just stop worrying about speed and move on stomping out bugs and making Python functionally more useful. With modules in the stdlib being rewritten in C for performance reasons it was suggested we are putting out the perception that performance is important to us. Several other people also suggested that we just not mention speed as a big deal in release notes and such. This also tied into the idea that managers don't worry too much about speed as much as being able to hire a bunch of Python programmers. This led to the suggestion of also emphasizing that Python is very easy to learn and thus is a moot point. There are a good number of Python programmers, though; Stephan Deibel had some rough calculations that put the number at about 750K Python developers worldwide (give or take; rough middle point of two different calculations). .. _article: http://gcn.com/vol1_no1/daily-updates/28026-1.html Contributing threads: - `2.4 news reaches interesting places `__ =============== Skipped Threads =============== - MS VC compiler versions - Any reason why CPPFLAGS not used in compiling? Extension modules now compile with directories specified in the LDFLAGS and CPPFLAGS env vars - adding key argument to min and max min and max now have a 'key' argument like list.sort - Unicode in doctests - SRE bug and notifications - PyInt_FromLong returning NULL - PyOS_InputHook enhancement proposal - The other Py2.4 issue - MinGW And The other Py2.4 issue - Supporting Third Party Modules - Python in education From pycon at python.org Sun Jan 23 22:06:56 2005 From: pycon at python.org (Steve Holden) Date: Tue Jan 25 19:39:04 2005 Subject: Microsoft to Provide PyCon Opening Keynote Message-ID: <20050123210656.9A7471E4006@bag.python.org> Dear Python Colleague: The PyCon Program Committee is happy to announce that the opening keynote speech, at 9:30 am on Wednesday March 23 will be: Python on the .NET Platform, by Jim Hugunin, Microsoft Corporation Jim Hugunin is well-known in the Python world for his pioneering work on JPython (now Jython), and more recently for the IronPython .NET implementation of Python. Jim joined Microsoft's Common Language Runtime team in August last year to continue his work on Iron Python and further improve the CLR's support for dynamic languages like Python. I look forward to hearing what Jim has to say, and hope that you will join me and the rest of the Python community at PyCon DC 2005, at George Washington University from March 23-25, with a four-day sprint starting on Saturday March 19. Early bird registration rates are still available for a few more days. Go to http://www.python.org/moin/PyConDC2005/Schedule for the current schedule, and register at http://www.python.org/pycon/2005/ regards Steve Holden Chairman, PyCON DC 2005 -- PyCon DC 2005: The third Python Community Conference http://www.pycon.org/ http://www.python.org/pycon/ The scoop on Python implementations and applications From 2004b at usenet.alexanderweb.de Sun Jan 23 23:18:16 2005 From: 2004b at usenet.alexanderweb.de (Alexander Schremmer) Date: Tue Jan 25 19:39:04 2005 Subject: ANN: MoinMoin 1.3.2 (advanced wiki engine) released Message-ID: <11qcgz4uximg6$.dlg@usenet.alexanderweb.de> _ _ /\/\ ___ (_)_ __ /\/\ ___ (_)_ __ / \ / _ \| | '_ \ / \ / _ \| | '_ \ __ / /\/\ \ (_) | | | | / /\/\ \ (_) | | | | | /| _) \/ \/\___/|_|_| |_\/ \/\___/|_|_| |_| |.__) ============================================== MoinMoin 1.3.2 advanced wiki engine released ============================================== MoinMoin is an easy to use, full-featured and extensible wiki software package written in Python. It can fulfill a wide range of roles, such as a personal notes organizer deployed on a laptop or home web server, a company knowledge base deployed on an intranet, or an Internet server open to individuals sharing the same interests, goals or projects. A wiki is a collaborative hypertext environment with an emphasis on easy manipulation of information. MoinMoin 1.3.2 is a maintenance release that fixes several bugs and introduces some new features. See below. Upgrading is recommended for all users. - http://moinmoin.wikiwikiweb.de/MoinMoinDownload Major bugs that were fixed -------------------------- * Changing a group page is not respected by the wiki while checking the permissions (bug in wikidicts). * Slow (compared to 1.2) when running with persistent servers. * Does not support configurations with no underlay directory. * Failure in the BadContent code could lead to a uneditable wiki, when moinmaster site was down. * Problems on Python 2.2.x (x >= 2). * Using gdchart for charts might lead to an instability. * Fixed non-ASCII page names for Apache 2 on Windows. New features ------------ * Better ReStructuredText support is built-in now. See HelpOnParsers. * Create new pages easily using configurable interface and page templates with the new NewPage macro. For a more detailed list of changes, see the CHANGES file in the distribution or http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.3/CHANGES Major new features in 1.3 ========================= * MoinMoin speaks your language! Complete Unicode support, translated system and help pages in more than ten languages, and support for languages written from right to left are the base features of our internationalisation support. * Fresh look and feel. New default user interface design, improved existing themes and enhanced theme plug-in framework that make it easier to modify the design or create completely new user interface. * Find anything on your wiki, instantly. New search engine and streamlined Google-like search interface, using multiple search terms, regular expressions, search term modifiers and boolean search. * Antispam - keep spammers out of you wiki. Protect your wiki with automatically updated spam patterns maintained on the MoinMaster wiki, and shared by all MoinMoin wikis worlwide. * Underlay directory - easy upgrade and maintenance. New streamlined directory layout protects all system and help pages in a separate underlay directory. * Run with your favorite server. Use either a standalone server that requires only Python, the high performance Twisted server, Apache with Fast CGI, mod_python or plain CGI. * Multiconfig - easier, more powerful configuration. New class-based configuration allow you to easily configure single or multiple wikis sharing a common setup. MoinMoin History ================ MoinMoin has been around since year 2000. Most of the codebase was written by J?rgen Hermann; it is currently being developed by a growing team. Being originally based on PikiPiki, it has evolved heavily since then (PikiPiki and MoinMoin 0.1 consisted of just one file!). Many large enterprises have been using MoinMoin as a key tool of their intranet, some even use it for their public web page. A large number of Open Source projects use MoinMoin for communication and documentation. Of course there is also a large number of private installations. More Information ================ * Project site: http://moinmoin.wikiwikiweb.de/ * Feature list: http://moinmoin.wikiwikiweb.de/MoinMoinFeatures * Download: http://moinmoin.wikiwikiweb.de/MoinMoinDownload * This software is available under the GNU General Public License v2. * Changes: http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.3/CHANGES * Upgrade: http://moinmoin.wikiwikiweb.de/HelpOnUpdating * Known bugs: * http://moinmoin.wikiwikiweb.de/KnownIssues * http://moinmoin.wikiwikiweb.de/MoinMoinBugs sent by Alexander Schremmer for the MoinMoin team From borco at go.ro Mon Jan 24 15:07:45 2005 From: borco at go.ro (ionutz) Date: Tue Jan 25 19:39:05 2005 Subject: [ANN] PyComicsViewer 0.9.4 Message-ID: <1106575665.855949.171340@z14g2000cwz.googlegroups.com> PyComicsViewer-0.9.4 has been released. What is PyComicsViewer? ======================= Is a comics viewer written in python, PyGTK and PIL. I made it as I didn't fully like any of the existing viewers and I wanted something that works the same (nice) way on both Linux and Windows. Because of the way it was implemented, you can also use it like a kind of image browser/viewer, but this is not its primary destination. Browsing images from uncompressed directories is provided because resulted naturally from the implementation and because I've seen some people that distribute their scaned comics uncompressed. Changes in 0.9.4 (2005/01/24) ============================= * added distutils support * added a LICENSE file * alternate C rotation implementations for GdkStrategy * solved restauration of the initial size and position even when the viewer is closed when maximized or in fullscreen * pulse the progress during decompresion * display some text info during scanning the dir * refresh doesn't reset the current page * new stock icons and app icon * added code for the '...' buttons from the preferences dialog Licensing ========= PyComicsViewer is released under the GPL. Where can I get it? =================== You can download it from: http://borco.net/html/PyComicsViewer/ Cheers, From edreamleo at charter.net Mon Jan 24 15:12:31 2005 From: edreamleo at charter.net (Edward K. Ream) Date: Tue Jan 25 19:39:06 2005 Subject: Leo 4.2.1 final released Message-ID: Leo 4.2.1 Final is now available at http://sourceforge.net/projects/leo/ Version 4.2.1 corrects problems associated with Python 2.4: - Leo's Pretty Print command was broken by the new use of '@' in Python 2.4. - Leo's installer was broken by the new installer used in Python 2.4. This will likely be the last 4.2.x release of Leo. Leo 4.3 alpha 1 will be released shortly. In spite of its name, 4.3 alpha 1 should be solid enough for most people. Besides version numbers and readme files, there have been no changes made between 4.2.1 beta 1 and 4.2.1 final. Highlights of version 4.2: ------------------------- - @thin trees make Leo much more friendly to cvs. - Leo's data structures have been reorganized to make outline operations significantly faster. All old scripts still work. - @test and @script nodes convert scripts to unit tests automatically. You can convert scripts to unit tests in seconds! - A faster and more robust spell checker plugin. (requires Python 2.3) - Leo is now much more friendly to using spaces instead of tabs. - The Execute Script command reports erroneous lines more clearly. - Leo draws large outlines more quickly using less memory. - Dozens of other improvements. What is Leo? ------------ - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Wiki: http://leo.hd1.org/ Edward K. Ream January 24, 2005 -------------------------------------------------------------------- Edward K. Ream email: edreamleo@charter.net Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From edreamleo at charter.net Mon Jan 24 17:03:23 2005 From: edreamleo at charter.net (Edward K. Ream) Date: Tue Jan 25 19:39:06 2005 Subject: ANN: Leo 4.3-a1 released Message-ID: Leo 4.3 alpha 1 is now available at http://sourceforge.net/projects/leo/ Leo 4.3 is the culmination of more than four months of work. In spite of its alpha status, I recommend Leo 4.3a1 over any 4.2 release. The defining features of Leo 4.3: --------------------------------- 1. Leo now stores options in @settings trees, that is, outlines whose headline is '@settings'. When opening a .leo file, Leo looks for @settings trees not only in the outline being opened but also in various leoSettings.leo files. The key design goal of @settings trees was that Leo's user options must be infinitely flexible. That goal has been accomplished. Indeed, users can create arbitrarily complex user options with @settings trees. Leo settings outlines are, in fact, infinitely more flexible and powerful than any scheme based on flat text. Readers of Python's configParser shootout take note. 2. The Preferences command temporarily replaces the outline pane with an outline showing all the @settings trees in effect. The Preferences command also replaces the body pane with a "settings pane". This settings pane allows you to change the settings selected in the outline pane using standard gui widgets. The settings pane is dynamically created from nodes in the settings tree; it is as extensible as the @settings tree itself. 3. Leo's read/write code in leoAtFile.py has been rewritten to support user-defined tangling and untangling. This is a major cleanup of Leo's core. 4. Leo now boasts a wonderful new Plugins Manager plugin. This plugin enables and disables plugins automatically. You never have to mess with pluginsManager.txt again. This plugin also tells you everything you need to know about each plugin. Finally, this plugin also lets you download plugins from Leo's cvs site. 5. You can install third-party extensions in Leo's extensions directory. Leo will attempt to import such extensions from the extensions directory if normal imports fail. As usual, version 4.3 contains many other improvements and bug fixes. What people are saying about Leo -------------------------------- "I am using Leo since a few weeks and I brim over with enthusiasm for it. I think it is the most amazing software since the invention of the spreadsheet." -- juergen_r "We who use Leo know that it is a breakthrough tool and a whole new way of writing code." -- Joe Orr "I am a huge fan of Leo. I think it's quite possibly the most revolutionary programming tool I have ever used and it (along with the Python language) has utterly changed my view of programming (indeed of writing) forever." -- Shakeeb Alireza "Thank you very much for Leo. I think my way of working with data will change forever...I am certain [Leo] will be a revolution. The revolution is as important as the change from sequential linear organization of a book into a web-like hyperlinked pages. The main concept that impress me is that the source listing isn't the main focus any more. You focus on the non-linear, hierarchical, collapsible outline of the source code." -- Korakot Chaovavanich "Leo is a quantum leap for me in terms of how many projects I can manage and how much information I can find and organize and store in a useful way." -- Dan Winkler "Wow, wow, and wow...I finally understand how to use clones and I realized that this is exactly how I want to organize my information. Multiple views on my data, fully interlinkable just like my thoughts." -- Anon. "A few years back I would have said Zope was #1 Python showcase, but I agree 100% that Leo is tops now." -- Jason Cunliffe "Leo is the most interesting Python project I know of...I see lots of stuff posted on the Daily Python page, but I usually yawn and come over to this forum to see what's cooking." -- Anon More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? ----------------------- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? ------------ - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Wiki: http://leo.hd1.org/ Edward K. Ream January 25, 2005 -------------------------------------------------------------------- Edward K. Ream email: edreamleo@charter.net Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From anthony at computronix.com Mon Jan 24 20:04:30 2005 From: anthony at computronix.com (Anthony Tuininga) Date: Tue Jan 25 19:39:07 2005 Subject: cx_Oracle 4.1 Message-ID: <41F546BE.3020708@computronix.com> What is cx_Oracle? cx_Oracle is a Python extension module that allows access to Oracle and conforms to the Python database API 2.0 specifications with a few exceptions. Where do I get it? http://starship.python.net/crew/atuining What's new? 1) Added support for Python 2.4. In Python 2.4, the datetime module is used for both binding and fetching of date and timestamp data. In Python 2.3, objects from the datetime module can be bound but the internal datetime objects will be returned from queries. 2) Added pickling support for LOB and datetime data. 3) Fully qualified the table name that was missing in an alter table statement in the setup test script as noted by Marc Gehling. 4) Added a section allowing for the setting of the RPATH linker directive in setup.py as requested by Iustin Pop. 5) Added code to raise a programming error exception when an attempt is made to access a LOB locator variable in a subsequent fetch. 6) The username, password and dsn (tnsentry) are stored on the connection object when specified, regardless of whether or not a standard connection takes place. 7) Added additional module level constant called "LOB" as requested by Joseph Canedo. 8) Changed exception type to IntegrityError for constraint violations as requested by Joseph Canedo. 9) If scale and precision are not specified, an attempt is made to return a long integer as requested by Joseph Canedo. 10) Added workaround for Oracle bug which returns an invalid handle when the prepare call fails. Thanks to alantam@hsbc.com for providing the code that demonstrated the problem. 11) The cusor method arravar() will now accept the actual list so that it is not necessary to call cursor.arrayvar() followed immediately by var.setvalue(). 12) Fixed bug where attempts to execute the statement "None" with bind variables would cause a segmentation fault. 13) Added support for binding by position (paramstyle = "numeric"). 14) Removed memory leak created by calls to OCIParamGet() which were not mirrored by calls to OCIDescriptorFree(). Thanks to Mihai Ibanescu for pointing this out and providing a patch. 15) Added support for calling cursor.executemany() with statement None implying that the previously prepared statement ought to be executed. Thanks to Mihai Ibanescu for providing a patch. 16) Added support for rebinding variables when a subsequent call to cursor.executemany() uses a different number of rows. Thanks to Mihai Ibanescu for supplying a patch. 17) The microseconds are now displayed in datetime variables when nonzero similar to method used in the datetime module. 18) Added support for binary_float and binary_double columns in Oracle 10g. Changes since 4.1 beta 1 1) Fixed bug where subclasses of Cursor do not pass the connection in the constructor causing a segfault. 2) DDL statements must be reparsed before execution as noted by Mihai Ibanescu. 3) Add support for setting input sizes by position. 4) Fixed problem with catching an exception during execute and then still attempting to perform a fetch afterwards as noted by Leith Parkin. 5) Rename the types so that they can be pickled and unpickled. Thanks to Harri Pasanen for pointing out the problem. 6) Handle invalid NLS_LANG setting properly (Oracle seems to like to provide a handle back even though it is invalid) and determine the number of bytes per character in order to allow for proper support in the future of multibyte and variable width character sets. 7) Remove date checking from the native case since Python already checks that dates are valid; enhance error message when invalid dates are encountered so that additional processing can be done. 8) Fix bug executing SQL using numeric parameter names with predefined variables (such as what takes place when calling stored procedures with out parameters). 9) Add support for reading CLOB values using multibyte or variable length character sets. -- Anthony Tuininga anthony@computronix.com Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW Edmonton, AB, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com From tom at livelogix.com Tue Jan 25 10:57:40 2005 From: tom at livelogix.com (tom@livelogix.com) Date: Tue Jan 25 19:39:07 2005 Subject: Logix 0.4 Released Message-ID: <1106647060.262730.227470@f14g2000cwb.googlegroups.com> Logix version 0.4 has been released. http://logix.livelogix.com Logix is a multi-language programming system for Python. >From the website: Logix is more than a programming language. It is multi-language programming system. With Logix, each part of your program can be developed in a language that is finely tuned to the task. Featuring a procedural macro facility, dynamic syntax extension, and multi-language parsing. A new operator, complete with syntax and semantics, can be added on-the-fly with a single line of code. Logix is released under the GPL. A new (less restrictive) license is in the pipeline. Changes in 0.4: Improved scope rules for operators and languages Free-text parsing for handling things like XML and literate programming. A more general, language-independent parser. Lots more - for more information see: http://logix.livelogix.com/download/logix/CHANGES.txt Enjoy! Tom Locke, LiveLogix. From 2004b at usenet.alexanderweb.de Tue Jan 25 20:23:08 2005 From: 2004b at usenet.alexanderweb.de (Alexander Schremmer) Date: Wed Jan 26 17:25:48 2005 Subject: ANN: MoinMoin 1.3.3 released - Update recommended! Message-ID: <1ks3ediz1gb8u$.dlg@usenet.alexanderweb.de> _ _ /\/\ ___ (_)_ __ /\/\ ___ (_)_ __ / \ / _ \| | '_ \ / \ / _ \| | '_ \ __ / /\/\ \ (_) | | | | / /\/\ \ (_) | | | | | /| _) \/ \/\___/|_|_| |_\/ \/\___/|_|_| |_| |.__) ============================================== MoinMoin 1.3.3 advanced wiki engine released ============================================== MoinMoin is an easy to use, full-featured and extensible wiki software package written in Python. It can fulfill a wide range of roles, such as a personal notes organizer deployed on a laptop or home web server, a company knowledge base deployed on an intranet, or an Internet server open to individuals sharing the same interests, goals or projects. A wiki is a collaborative hypertext environment with an emphasis on easy manipulation of information. MoinMoin 1.3.3 is a release that fixes a vulnerability that could lead to indirect read access of all pages in a wiki. Upgrading is recommended for all users, especially for those who run MoinMoin 1.3.2: http://moinmoin.wikiwikiweb.de/MoinMoinDownload Wiki page about the bug: http://moinmoin.wikiwikiweb.de/MoinMoinBugs/FullTextSearchIgnoresAcl The bug just affects MoinMoin 1.3.2 installations. Major bugs that were fixed in MoinMoin 1.3.2 -------------------------------------------- * Changing a group page is not respected by the wiki while checking the permissions (bug in wikidicts). * Slow (compared to 1.2) when running with persistent servers. * Does not support configurations with no underlay directory. * Failure in the BadContent code could lead to a uneditable wiki, when moinmaster site was down. * Problems on Python 2.2.x (x >= 2). * Using gdchart for charts might lead to an instability. * Fixed non-ASCII page names for Apache 2 on Windows. New features ------------ * Better ReStructuredText support is built-in now. See HelpOnParsers. * Create new pages easily using configurable interface and page templates with the new NewPage macro. For a more detailed list of changes, see the CHANGES file in the distribution or http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.3/CHANGES Major new features in 1.3 ========================= * MoinMoin speaks your language! Complete Unicode support, translated system and help pages in more than ten languages, and support for languages written from right to left are the base features of our internationalisation support. * Fresh look and feel. New default user interface design, improved existing themes and enhanced theme plug-in framework that make it easier to modify the design or create completely new user interface. * Find anything on your wiki, instantly. New search engine and streamlined Google-like search interface, using multiple search terms, regular expressions, search term modifiers and boolean search. * Antispam - keep spammers out of you wiki. Protect your wiki with automatically updated spam patterns maintained on the MoinMaster wiki, and shared by all MoinMoin wikis worlwide. * Underlay directory - easy upgrade and maintenance. New streamlined directory layout protects all system and help pages in a separate underlay directory. * Run with your favorite server. Use either a standalone server that requires only Python, the high performance Twisted server, Apache with Fast CGI, mod_python or plain CGI. * Multiconfig - easier, more powerful configuration. New class-based configuration allow you to easily configure single or multiple wikis sharing a common setup. MoinMoin History ================ MoinMoin has been around since year 2000. Most of the codebase was written by J?rgen Hermann; it is currently being developed by a growing team. Being originally based on PikiPiki, it has evolved heavily since then (PikiPiki and MoinMoin 0.1 consisted of just one file!). Many large enterprises have been using MoinMoin as a key tool of their intranet, some even use it for their public web page. A large number of Open Source projects use MoinMoin for communication and documentation. Of course there is also a large number of private installations. More Information ================ * Project site: http://moinmoin.wikiwikiweb.de/ * Feature list: http://moinmoin.wikiwikiweb.de/MoinMoinFeatures * Download: http://moinmoin.wikiwikiweb.de/MoinMoinDownload * This software is available under the GNU General Public License v2. * Changes: http://moinmoin.wikiwikiweb.de/MoinMoinRelease1.3/CHANGES * Upgrade: http://moinmoin.wikiwikiweb.de/HelpOnUpdating * Known bugs: * http://moinmoin.wikiwikiweb.de/KnownIssues * http://moinmoin.wikiwikiweb.de/MoinMoinBugs sent by Alexander Schremmer for the MoinMoin team From tim.peters at gmail.com Tue Jan 25 20:34:45 2005 From: tim.peters at gmail.com (Tim Peters) Date: Wed Jan 26 17:25:48 2005 Subject: [ANN] Python Spread Module 1.5 final released Message-ID: <1f7befae05012511345af70a4f@mail.gmail.com> Release 1.5 (final) of the Spread Module for Python is now available: http://zope.org/Members/tim_one/spread No changes have been made since last week's 1.5 beta 1 release. The primary visible changes since release 1.4 are Mark McClain's new code to give Mailbox objects a multigroup_multicast() method, and that the Windows build now works with Spread 3.17.3. See the download page for details. About the Spread Module ----------------------- This package contains a simple Python wrapper module for the Spread toolkit (see below). It wraps Spread mailboxes and messages in Python objects with appropriate methods and attributes, and turns Spread errors into Python exceptions. Virtually all Spread features are accessible from Python. It's intended to be used with Spread 3.17.3 and Python 2.3.4, although other combinations are possible. A source tarball is available, and a Windows installer with a precompiled spread.pyd (which must be used with a Python in the 2.3 line). About Spread ------------ >From the Spread website (): Spread is a toolkit that provides a high performance messaging service that is resilient to faults across external or internal networks. Spread functions as a unified message bus for distributed applications, and provides highly tuned application-level multicast and group communication support. Spread services range from reliable message passing to fully ordered messages with delivery guarantees, even in case of computer failures and network partitions. Spread is designed to encapsulate the challenging aspects of asynchronous networks and enable the construction of scalable distributed applications, allowing application builders to focus on the differentiating components of their application. From ianb at colorstudy.com Wed Jan 26 06:54:24 2005 From: ianb at colorstudy.com (Ian Bicking) Date: Wed Jan 26 17:25:50 2005 Subject: [ANN] SQLObject 0.6.1 Message-ID: <41F73090.90806@colorstudy.com> SQLObject 0.6.1 --------------- Version 0.6.1 is a bug fix release for 0.6. Most of the work on this release has been thanks to the contributions of Oleg Broytmann. Thanks Oleg! A brief list of changes: * All class methods take a connection argument. * "DISTINCT" option for select results. * Connection objects have a new module attribute, to get access to the connection's exceptions. * New UnicodeCol() for encoding and decoding values from the database. * Added Indexing (patch from Jeremy Fitzhardinge). * Database connections explicitly closed, instead of just letting them be garbage collected. * selectBy can take be called with instances instead of only IDs for foreign key columns. * DBMConnection was removed (it's been broken a long time). What Is SQLObject? ------------------ SQLObject is an Object-Relational Mapper. Basically it makes your database rows feel like (relatively) normal Python objects: Tables are classes, rows are instances, columns are attributes. SQLObject both allows you to define your classes in Python, and SQLObject will create the tables on your behalf, or SQLObject may use database reflection to dynamically create a class given a table name. SQLObject portably supports a variety of database backends: MySQL, PostgreSQL, SQLite, Firebird, MaxDB/SAPDB, and SyBase. SQLObject is being used in a variety of external projects: ezSQLObject, sqlo for Zope 3, and Subway (a Ruby on Rails clone), among others. Where Is SQLObject? ------------------- Website: http://sqlobject.org News: http://sqlobject.org/docs/News.html#sqlobject-0-6-1 Documentation: http://sqlobject.org/docs/SQLObject.html Subversion repository: http://svn.colorstudy.com/trunk/SQLObject Mailing list: http://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Archives: http://dir.gmane.org/gmane.comp.python.sqlobject Download: http://prdownloads.sourceforge.net/sqlobject/SQLObject-0.6.1.tar.gz?download -- Ian Bicking / ianb@colorstudy.com / http://blog.ianbicking.org From gurukumara at gmail.com Wed Jan 26 07:47:50 2005 From: gurukumara at gmail.com (Kumara Guru) Date: Wed Jan 26 17:25:50 2005 Subject: Python User Group of Chennai, India Message-ID: <1106722070.689351.214280@f14g2000cwb.googlegroups.com> There's now a mailing list for Python enthusiasts living in Chennai,India. http://groups.yahoo.com/group/chennaipy/ This is an extension to the already existing Chennai meetup group http://python.meetup.com/144/ Regards Kumaraguru From anthony at python.org Wed Jan 26 09:51:55 2005 From: anthony at python.org (Anthony Baxter) Date: Wed Jan 26 17:25:51 2005 Subject: RELEASED Python 2.3.5, release candidate 1 Message-ID: <200501261952.06150.anthony@python.org> On behalf of the Python development team and the Python community, I'm happy to announce the release of Python 2.3.5 (release candidate 1). Python 2.3.5 is a bug-fix release. See the release notes at the website (also available as Misc/NEWS in the source distribution) for details of the bugs squished in this release. Assuming no major problems crop up, a final release of Python 2.3.5 will follow in about a week's time. Python 2.3.5 is the last release in the Python 2.3 series, and is being released for those people who still need to use Python 2.3. Python 2.4 is a newer release, and should be preferred if possible. From here, bugfix releases are switching to the Python 2.4 branch - a 2.4.1 will follow 2.3.5 final. For more information on Python 2.3.5, including download links for various platforms, release notes, and known issues, please see: http://www.python.org/2.3.5 Highlights of this new release include: - Bug fixes. According to the release notes, more than 50 bugs have been fixed, including a couple of bugs that could cause Python to crash. Highlights of the previous major Python release (2.3) are available from the Python 2.3 page, at http://www.python.org/2.3/highlights.html Enjoy the new release, Anthony Anthony Baxter anthony@python.org Python Release Manager (on behalf of the entire python-dev team) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.python.org/pipermail/python-announce-list/attachments/20050126/769bc0ed/attachment.pgp From ahaas at airmail.net Wed Jan 26 20:15:27 2005 From: ahaas at airmail.net (Art Haas) Date: Thu Jan 27 16:27:28 2005 Subject: [ANNOUNCE] Twenty-second release of PythonCAD now available Message-ID: <20050126191527.GA19380@artsapartment.org> I'm pleased to announce the twenty-second development 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 or newer. 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 PythonCAD interfaces will depend on the availability of a Python module for that particular interface and developer interest and action. The twenty-second release contains primarily internal code enhancements in regards to the Python language. PythonCAD running under PyGTK releases after the 2.4.0 release will now utilize the gtk.ComboBox and the gtk.ColorButton widgets, while PythonCAD running under older releases will still utilize the same widgets as before. This change removes the DeprecatationWarning users with the newer PyGTK release would see. A problem where restoring a deleted TextBlock entity was fixed, and a variety of other fixes and improvements are also included in this release. A mailing list for the development and use of PythonCAD is available. Visit the following page for information about subscribing and viewing the mailing list archive: http://mail.python.org/mailman/listinfo/pythoncad 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 -- Man once surrendering his reason, has no remaining guard against absurdities the most monstrous, and like a ship without rudder, is the sport of every wind. -Thomas Jefferson to James Smith, 1822 From anthony at computronix.com Wed Jan 26 23:05:43 2005 From: anthony at computronix.com (Anthony Tuininga) Date: Thu Jan 27 16:27:29 2005 Subject: cx_Oracle packaging issue Message-ID: <41F81437.40301@computronix.com> I have received a number of e-mails about the fact that the Python 2.4 builds on Windows were missing the rather vital file cx_Oracle.pyd. :-) Tracking it down resulted in the discovery of a distutils bug in Python 2.4. I got around the problem (and logged a bug on SourceForge so it should get fixed properly later) and new files have been uploaded to SourceForge. As always, you can get at them directly from my web site: http://starship.python.net/crew/atuining My apologies for the packaging mishap. -- Anthony Tuininga anthony@computronix.com Computronix Distinctive Software. Real People. Suite 200, 10216 - 124 Street NW Edmonton, AB, Canada T5N 4A3 Phone: (780) 454-3700 Fax: (780) 454-3838 http://www.computronix.com From ta-meyer at ihug.co.nz Thu Jan 27 04:12:34 2005 From: ta-meyer at ihug.co.nz (Tony Meyer) Date: Thu Jan 27 16:27:30 2005 Subject: ANNOUNCE: SpamBayes release 1.0.1 Message-ID: The SpamBayes team is pleased to announce release 1.0.2 of SpamBayes. As is now usual, this is both a release of the source code and of an installation program for all Microsoft Windows users. This is a bug-fix release that fixes a number of minor issues with the 1.0.1 release, but includes no new functionality, and is entirely compatible with the 1.0 release. A 1.1a1 release, including many new features, will probably be released soon (probably within a few weeks). This release fixes a couple of bugs with the sb_server/sb_imapfilter web interface which are particularly annoying, so we strongly recommend all such users upgrade. This release also includes the first binary built with Python 2.4 - as a result, malformed email should no longer be a problem. Details about the bugs that have been fixed in this release can be found at https://sourceforge.net/project/shownotes.php?release_id=285346 You can get the release via the 'Download' page at http://spambayes.org/download.html Enjoy the new release and your spam-free mailbox :-) As always, thanks to everyone involved in this release, and, as always, the Python development team, particularly Barry, Anthony and the rest of the team responsible for email 3.0. Tony. (on behalf of the SpamBayes team) --- What is SpamBayes? --- The SpamBayes project is working on developing a Bayesian (of sorts) anti-spam filter (in Python), initially based on the work of Paul Graham, but since modified with ideas from Robinson, Peters, et al. The project includes a number of different applications, all using the same core code, ranging from a plug-in for Microsoft Outlook, to a POP3 proxy, to various command-line tools. The Windows installation program will install either the Outlook add-in (for Microsoft Outlook users), or the SpamBayes server program (for all other POP3 mail client users, including Microsoft Outlook Express). All Windows users (including existing users of the Outlook add-in) are encouraged to use the installation program. If you wish to use the source-code version, you will also need to install Python - see README.txt in the source tree for more information. From altis at semi-retired.com Thu Jan 27 05:37:26 2005 From: altis at semi-retired.com (Kevin Altis) Date: Thu Jan 27 16:27:31 2005 Subject: OSCON Call For Proposals Now Open Message-ID: <2560F0B4-701D-11D9-AA2F-000A9598382A@semi-retired.com> The Call for Proposals has just opened for the 7th Annual O'Reilly Open Source Convention http://conferences.oreillynet.com/os2005/ OSCON is headed back to friendly, economical Portland, Oregon during the week of August 1-5, 2005. If you've ever wanted to join the OSCON speaker firmament, now's your chance to submit a proposal (or two) by February 13, 2005. Complete details are available on the OSCON web site, but we're particularly interested in exploring how software development is moving to another level, and how developers and businesses are adjusting to new business models and architectures. We're looking for sessions, tutorials, and workshops proposals that appeal to developers, systems and network administrators, and their managers in the following areas: - All aspects of building applications, services, and systems that use the new capabilities of the open source platform - Burning issues for Java, Mozilla, web apps, and beyond - The commoditization of software: who and/or what can show us the money? - Network-enabled collaboration - Software customizability, including software as a service - Law, licensing, politics, and how best to navigate other troubled waters Specific topics and tracks at OSCON 2005 include: Linux and other open source operating systems, Java, PHP, Python, Perl, Databases (including MySQL and PostgreSQL), Apache, XML, Applications, Ruby, and Security. Attendees have a wide range of experience, so be sure to target a particular level of experience: beginner, intermediate, advanced. Talks and tutorials should be technical; strictly no marketing presentations. Session presentations are 45 or 90 minutes long, and tutorials are either a half-day (3 hours) or a full day (6 hours). Feel free to spread the word about the Call for Proposals to your friends, family, colleagues, and compatriots. We want everyone to submit, from American women hacking artificial life into the Linux kernel to Belgian men building a better mousetrap from PHP and recycled military hardware. We mean everyone! Even if you don't want to participate as a speaker, send us your suggestions--topics you'd like to see covered, groups we should bring into the OSCON fold, extra-curricular activities we should organize--to oscon-idea@oreilly.com . This year, we're moving to the wide open spaces of the Oregon Convention Center. We've arranged for the nearby Doubletree Hotel to be our headquarters hotel--it's a short, free Max light rail ride (or a lovely walk) from the Convention Center. Registration opens in April 2005; hotel information will be available shortly. Deadline to submit a proposal is Midnight (PST), February 13. For all the conference details, go to: http://conferences.oreillynet.com/os2005/ Press coverage, blogs, photos, and news from the 2004 O'Reilly Open Source Convention can be found at: http://www.oreillynet.com/oscon2004/ Would your company like to make a big impression on the open source community? If so, consider exhibiting or becoming a sponsor. Contact Andrew Calvo at (707) 827-7176, or andrewc@oreilly.com for more info. See you Portland next summer, The O'Reilly OSCON Team ka From lkirsh at cs.ubc.ca Thu Jan 27 12:18:00 2005 From: lkirsh at cs.ubc.ca (Lowell Kirsh) Date: Thu Jan 27 16:27:32 2005 Subject: [ANN] favs2web - favorites publisher Message-ID: Favs2web is a program which will take your IE favorites or your Mozilla/Firefox bookmarks and make a pretty javascript-enabled web page out of them. It's useful for people who want to have access to their bookmarks when they are not at their computer. You can check out a sample output at: www.cs.ubc.ca/~lkirsh/my-bookmarks.html and you can check out the program at: www.cs.ubc.ca/~lkirsh/favs2web.html All questions and comments are welcome. From fuzzyman at gmail.com Thu Jan 27 16:12:03 2005 From: fuzzyman at gmail.com (fuzzyman@gmail.com) Date: Thu Jan 27 16:27:33 2005 Subject: [ANN] Movable Python, linky and Techie Blog Message-ID: <1106838723.659019.160400@z14g2000cwz.googlegroups.com> Minor news first : 'linky' a local link checker is available. http://www.voidspace.org.uk/python/programs.shtml#linky linky will check your website for dead links (within the website) as well as comparing it to the website on your filesystem, to check for case errors that might not be picked up if you test your website on windows. It can also report files that don't appear to be linked to - for finding redundant images etc. linky uses BeautifulSoup to do the hard work. The Voidspace Techie Blog has moved. My (mainly python related blog) now lives at : http://www.voidspace.org.uk/python/weblog/index.shtml It is created using firedrop - the excellent blog tool by Hans Nowak MOVABLE PYTHON http://www.voidspace.org.uk/python/movpy http://sourceforge.net/projects/movpy Version 0.4.5 is now available, hurrah. There are now prebuilt distributions for Python 2.2, 2.3, *and* 2.4. This is a bugifx/update release. The distributions it produces are very *similar* to version 0.4.4 distributions, but there are a couple of issues resolved. See http://www.voidspace.org.uk/python/movpy/changelog.html for details. *Most* of the changes relate to the PyDistFrreeze.py in the 'source' package. This is the code that creates the frozen distributions. There have been several simplifications and improvements. Again, see the CHANGELOG for details. Version 0.5.0 Bruno Thoorens has provided me with the code for the GUI for PyDistFreeze.py When I have integrated it with PyDistFreeze.py it will form the 0.5.0 release. This should be in the next couple of weeks time permitting. The GUI is *excellent* :-) Movable Python is a Python runtime that can run scripts without the need for Python to be installed. With the inclusion of wxPython and SPE editor it is a portable (movable) development environment. Also useful for testing scripts with several different python versions. The source version will build frozen environments (using py2exe - so Windoze only currently), this can include whichever extension modules/packages you choose. Regards, Michael Foord http://www.voidspace.org.uk/python/index.shtml From Fernando.Perez at colorado.edu Thu Jan 27 21:55:24 2005 From: Fernando.Perez at colorado.edu (Fernando Perez) Date: Fri Jan 28 16:47:19 2005 Subject: ANN: IPython 0.6.10 is out. Message-ID: <41F9553C.6000703@colorado.edu> Hi all, I'm glad to announce the release of IPython 0.6.10. IPython's homepage is at: http://ipython.scipy.org and downloads are at: http://ipython.scipy.org/dist I've provided RPMs (for Python 2.3, built under Fedora Core 3), plus source downloads (.tar.gz). We now also have a native win32 installer. Debian, Fink and BSD packages for this version should be coming soon, as the respective maintainers (many thanks to Jack Moffit, Andrea Riciputi and Dryice Liu) have the time to follow their packaging procedures. Many thanks to Enthought for their continued hosting support for IPython, and to all the users who contributed ideas, fixes and reports. WHAT is IPython? ---------------- 1. An interactive shell superior to Python's default. IPython has many features for object introspection, system shell access, and its own special command system for adding functionality when working interactively. 2. An embeddable, ready to use interpreter for your own programs. IPython can be started with a single call from inside another program, providing access to the current namespace. 3. A flexible framework which can be used as the base environment for other systems with Python as the underlying language. Release notes ------------- As always, the NEWS file can be found at http://ipython.scipy.org/NEWS, and the full ChangeLog at http://ipython.scipy.org/ChangeLog. * The major highlight of this release is vastly improved support for Windows users. Thanks to a lot of help from Viktor Ransmayr (installer work) and Gary Bishop (coloring problems), now Windows users finally should have an ipython with all the functionality available under Unix. There is now a true win32 executable installer: http://ipython.scipy.org/dist/ipython-0.6.10.win32.exe This can be double-clicked and it will do a real windows installation, allowing later de-installation via the Control Panel. It will also warn if it detects that ctypes and/or readline are missing (needed for coloring/tab support). Full source syntax highlighting had always been broken under win32, and the bug turned out to be in ipython's formatting code. Thanks to Gary's debugging help, this problem is now fixed. You can test it by typing in ipython: import code code?? You should see properly highligted sources, as shown in this (new) screenshot: http://ipython.scipy.org/screenshots/snapshot6.png Under Win32, ipython will now honor (if it exists) the $HOME environment variable and it will put your .ipython/ directory there. This should be more consistent for Win32 users who have a unix-like setup. If $HOME is not defined, the previous behavior remains (HOMEDRIVE\HOMEPATH). I also fixed a crash for pylab users under win32 with multithreaded backends (GTK/WX). I would appreciate reports of any problems from Win32 users. * (X)Emacs users: I incorporated Alex Schmolck's recent fixes and improvements to ipython.el. Since the python-mode project still hasn't made a release with the changes which IPython needs, I've temporarily copied today's CVS snapshot (v 4.70) of python-mode.el here: http://ipython.scipy.org/tmp/python-mode.el Once they make an official release, I'll remove this. * Small cleanups and improvements to numutils, including new amin/amax and empty_like utility functions. The deprecated spike/spike_odd functions have been removed. * Fix issue 24 from the bug tracker: spurious attribute access on assignment (foo.x=1 would trigger a __getattr__ call on foo). * Fix reporting of compound names in verbose exception reporting mode. This had been broken since the beginning of ipython (the tokenization logic was a bit tricky). * Fix gtk deprecation warnings (A. Straw patch). * Fix crash when inspecting instances without an __init__ method (reported by N. Nemenc). * Fix quote stripping bug in shell access (P. Ramachandran report). * Other minor fixes and cleanups, both to code and documentation. Enjoy, and as usual please report any problems. Regards, Fernando. From ta-meyer at ihug.co.nz Fri Jan 28 03:02:11 2005 From: ta-meyer at ihug.co.nz (Tony Meyer) Date: Fri Jan 28 16:47:20 2005 Subject: ANNOUNCE: SpamBayes release 1.0.3 Message-ID: The SpamBayes team is pleased to announce release 1.0.3 of SpamBayes. As is now usual, this is both a release of the source code and of an installation program for all Microsoft Windows users. This is a bug-fix (brown paper bag) release that fixes two problems with the 1.0.2 release. One effects all users that do not have a copy of the Microsoft msvcr71.dll file on their system, preventing installation/use, and the other is a minor display bug in the sb_server web interface. Yesterday's 1.0.2 release is no longer available (apologies to those that tried to install it). We strongly recommend that those with 1.0.2 or any sb_server/sb_imapfilter users with 1.0.1 upgrade. Details about the bugs that have been fixed in this release can be found at https://sourceforge.net/project/shownotes.php?release_id=300483 You can get the release via the 'Download' page at http://spambayes.org/download.html Enjoy the new release and your spam-free mailbox :-) As always, thanks to everyone involved in this release. Tony. (on behalf of the SpamBayes team) --- What is SpamBayes? --- The SpamBayes project is working on developing a Bayesian (of sorts) anti-spam filter (in Python), initially based on the work of Paul Graham, but since modified with ideas from Robinson, Peters, et al. The project includes a number of different applications, all using the same core code, ranging from a plug-in for Microsoft Outlook, to a POP3 proxy, to various command-line tools. The Windows installation program will install either the Outlook add-in (for Microsoft Outlook users), or the SpamBayes server program (for all other POP3 mail client users, including Microsoft Outlook Express). All Windows users (including existing users of the Outlook add-in) are encouraged to use the installation program. If you wish to use the source-code version, you will also need to install Python - see README.txt in the source tree for more information. From python-url at phaseit.net Fri Jan 28 15:17:43 2005 From: python-url at phaseit.net (Cameron Laird) Date: Fri Jan 28 16:47:21 2005 Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Jan 28) Message-ID: QOTW: "It might be nice if it was widely understood (in IT) that Python was a language any competent programmer could pick up in an afternoon, such that Java, C, and Perl shops would not be concerned about the need for their staff to learn a new language." -- Eric Pederson "What's kind of surprising is that it has turned out to be easier to rewire the entire world for high-bandwidth Internet than it is to make a good replication architecture so you can work disconnected!" -- Joel http://www.salon.com/tech/feature/2004/12/09/spolsky/index4.html It's the Early Bird deadline for PyCon 2005! http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/5a0eef8d2f4b41c6 A wide-ranging thread on "security" yields, among other high points, a recommendation to read *Security Engineering* and examples of real security issues Python has: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/a5ab5a6a91590230/ Can Python operate on a Windows "desktop"? Sure, in a variety of ways. Thanks to Dennis Benzinger, Jimmy Retzlaff, Vincent Wehren, and others for their catalogue: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/f73cc8e9cad01288/ The martellibot illustrates why Python's introspection--and __subclasses__, in particular--make correct "sandboxing" so challenging for us: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d5f4d7e2c397c2ca/ After a rest of a couple months, it's time again to urge consideration of IPython as your working shell: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/3fed261a83318a1e 4XSLT is thread-safe, but individual processor instances are not. 4Suite exploits processor-per-thread: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/c118d6ead64ca003 Thread inheritance with win32com requires Co*nitialize() management: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/3e3487f970825fc8 Gerald and the timbot speak sense on the platform-specificity that is memory management. http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/2bef18c56f085eeb Do NOT let your inheritance schemes complexify. One palliative tactic is to remember (lazy) "containerization" as an alternative to subclassing. And learn about decorators. And descriptors, for that matter: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/730e4e3bb3c55b28/ Do people still FTP? Well, Python people *can* ...: http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/37b847a725bd8d9f ======================================================================== Everything Python-related you want is probably one or two clicks away in these pages: Python.org's Python Language Website is the traditional center of Pythonia http://www.python.org Notice especially the master FAQ http://www.python.org/doc/FAQ.html PythonWare complements the digest you're reading with the marvelous daily python url http://www.pythonware.com/daily Mygale is a news-gathering webcrawler that specializes in (new) World-Wide Web articles related to Python. http://www.awaretek.com/nowak/mygale.html While cosmetically similar, Mygale and the Daily Python-URL are utterly different in their technologies and generally in their results. comp.lang.python.announce announces new Python software. Be sure to scan this newsgroup weekly. http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python.announce Brett Cannon continues the marvelous tradition established by Andrew Kuchling and Michael Hudson of intelligently summarizing action on the python-dev mailing list once every other week. http://www.python.org/dev/summary/ The Python Package Index catalogues packages. http://www.python.org/pypi/ The somewhat older Vaults of Parnassus ambitiously collects references to all sorts of Python resources. http://www.vex.net/~x/parnassus/ Much of Python's real work takes place on Special-Interest Group mailing lists http://www.python.org/sigs/ The Python Business Forum "further[s] the interests of companies that base their business on ... Python." http://www.python-in-business.org Python Success Stories--from air-traffic control to on-line match-making--can inspire you or decision-makers to whom you're subject with a vision of what the language makes practical. http://www.pythonology.com/success The Python Software Foundation (PSF) has replaced the Python Consortium as an independent nexus of activity. It has official responsibility for Python's development and maintenance. http://www.python.org/psf/ Among the ways you can support PSF is with a donation. http://www.python.org/psf/donate.html Kurt B. Kaiser publishes a weekly report on faults and patches. http://www.google.com/groups?as_usubject=weekly%20python%20patch Cetus collects Python hyperlinks. http://www.cetus-links.org/oo_python.html Python FAQTS http://python.faqts.com/ The Cookbook is a collaborative effort to capture useful and interesting recipes. http://aspn.activestate.com/ASPN/Cookbook/Python Among several Python-oriented RSS/RDF feeds available are http://www.python.org/channews.rdf http://bootleg-rss.g-blog.net/pythonware_com_daily.pcgi http://python.de/backend.php For more, see http://www.syndic8.com/feedlist.php?ShowMatch=python&ShowStatus=all The old Python "To-Do List" now lives principally in a SourceForge reincarnation. http://sourceforge.net/tracker/?atid=355470&group_id=5470&func=browse http://python.sourceforge.net/peps/pep-0042.html The online Python Journal is posted at pythonjournal.cognizor.com. editor@pythonjournal.com and editor@pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. deli.cio.us presents an intriguing approach to reference commentary. It already aggregates quite a bit of Python intelligence. http://del.icio.us/tag/python *Py: the Journal of the Python Language* http://www.pyzine.com Archive probing tricks of the trade: http://groups.google.com/groups?oi=djq&as_ugroup=comp.lang.python&num=100 http://groups.google.com/groups?meta=site%3Dgroups%26group%3Dcomp.lang.python.* Previous - (U)se the (R)esource, (L)uke! - messages are listed here: http://www.ddj.com/topics/pythonurl/ http://purl.org/thecliff/python/url.html (dormant) or http://groups.google.com/groups?oi=djq&as_q=+Python-URL!&as_ugroup=comp.lang.python Suggestions/corrections for next week's posting are always welcome. E-mail to should get through. To receive a new issue of this posting in e-mail each Monday morning (approximately), ask to subscribe. Mention "Python-URL!". -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From detlev at die-offenbachs.de Sat Jan 29 18:12:39 2005 From: detlev at die-offenbachs.de (Detlev Offenbach) Date: Sun Jan 30 15:57:09 2005 Subject: ANN: eric3 3.6.1 released Message-ID: Hi, this is to let all of you know, that eric3 3.6.1 has just been released. It fixes a few nasty bugs, which were reported since the last release. It is available via http://www.die-offenbachs.de/detlev/eric3.html Eric3 is an Integrated Development Environment for Python. For details please see the above mentioned URL. Regards, Detlev -- Detlev Offenbach detlev@die-offenbachs.de From ryan at rfk.id.au Sun Jan 30 07:51:43 2005 From: ryan at rfk.id.au (Ryan Kelly) Date: Sun Jan 30 15:57:10 2005 Subject: ANN: PyEnchant 1.0.0_rc1 Message-ID: <1107067903.12396.7.camel@mango.rfk.id.au> PyEnchant version1.0.0_rc1 has been released. It includes several updates based on user feedback, and with luck will turn into a 1.0.0 release relatively unchanged. Updates include: * Windows installers for Python2.3 and Python2.4 * Better handling of registry entries in the Windows install/uninstall * New class "DictWithPWL" which streamlines the management of dictionaries with an attached personal word list Cheers, Ryan About: ------- Enchant (http://www.abisource.com/enchant/) is the spellchecking package behind the AbiWord word processor, is being considered for inclusion in the KDE office suite, and is proposed as a FreeDesktop.org standard. It's completely cross-platform because it wraps the native spellchecking engine to provide a uniform interface. PyEnchant brings this simple, powerful and flexible spellchecking engine to Python: http://www.rfk.id.au/software/projects/pyenchant/ Current Version: 1.0.0_rc1 Licence: LGPL with exemptions, as per Enchant itself -- Ryan Kelly http://www.rfk.id.au | This message is digitally signed. Please visit ryan@rfk.id.au | http://www.rfk.id.au/ramblings/gpg/ for details -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://mail.python.org/pipermail/python-announce-list/attachments/20050130/897b3c7f/attachment.pgp From pearu at cens.ioc.ee Sun Jan 30 20:26:21 2005 From: pearu at cens.ioc.ee (Pearu Peterson) Date: Mon Jan 31 16:04:32 2005 Subject: ANN: F2PY - Fortran to Python Interface Generator Message-ID: F2PY - Fortran to Python Interface Generator -------------------------------------------- I am pleased to announce the ninth public release of F2PY, version 2.45.241_1926. The purpose of the F2PY project is to provide the connection between Python and Fortran programming languages. For more information, see http://cens.ioc.ee/projects/f2py2e/ Download: http://cens.ioc.ee/projects/f2py2e/2.x/F2PY-2-latest.tar.gz http://cens.ioc.ee/projects/f2py2e/2.x/F2PY-2-latest.win32.exe http://cens.ioc.ee/projects/f2py2e/2.x/scipy_distutils-latest.tar.gz http://cens.ioc.ee/projects/f2py2e/2.x/scipy_distutils-latest.win32.exe What's new? ------------ * Added support for wrapping signed integers and processing .pyf.src template files. * F2PY fortran objects have _cpointer attribute holding a C pointer to a wrapped function or a variable. When using _cpointer as a callback argument, the overhead of Python C/API is avoided giving for using callback arguments the same performance as calling Fortran or C function from Fortran or C, at the same time retaining the flexibility of Python. * Callback arguments can be built-in functions, fortran objects, and CObjects (hold by _cpointer attribute, for instance). * New attribute: ``intent(aux)`` to save parameter values. * New command line switches: --help-link and --link- * Numerous bugs are fixed. Support for ``usercode`` statement has been improved. * Documentation updates. Enjoy, Pearu Peterson ---------------

F2PY 2.45.241_1926 - The Fortran to Python Interface Generator (30-Jan-05) From jjl at pobox.com Sun Jan 30 23:30:33 2005 From: jjl at pobox.com (John J. Lee) Date: Mon Jan 31 16:04:33 2005 Subject: ANN: ClientForm 0.1.17 Message-ID: <87vf9ewnw6.fsf@pobox.com> http://wwwsearch.sourceforge.net/ClientForm/ The old 0.0.x series is no longer supported. This is a bugfix release. Changes from 0.1.16 to 0.1.17: * Fix case where FORM action contains a '?' or '#' (again!). * Fix failure to raise ParseError (!) * Workaround for failure of sgmllib to unescape attributes (bug report from Titus Brown). * Fix image control in case where value is present. * Hack choose_boundary not to fail on hostname lookup. * Allow user to supply own Request class. * Fix ISINDEX action URL (bug only showed up in Python 2.4). Requires Python >= 1.5.2. Works with Python 2.4. ClientForm is a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server. It has developed from a port of Gisle Aas' Perl module HTML::Form, from the libwww-perl library, but the interface is not the same. Simple example: from urllib2 import urlopen from ClientForm import ParseResponse forms = ParseResponse(urlopen("http://www.example.com/form.html")) form = forms[0] print form form["author"] = "Gisle Aas" # form.click returns a urllib2.Request object # (see HTMLForm.click_request_data.__doc__ if you're not using urllib2) response = urlopen(form.click("Thanks")) John From jcribbs at twmi.rr.com Sun Jan 30 23:36:38 2005 From: jcribbs at twmi.rr.com (Jamey Cribbs) Date: Mon Jan 31 16:04:34 2005 Subject: ANNOUNCE: KirbyBase 1.7 Message-ID: <41FD6176.4000202@twmi.rr.com> KirbyBase is a simple, plain-text, database management system written in Python. It can be used either embedded in a python script or in a client/server, multi-user mode. You use python code to express your queries instead of having to use another language such as SQL. KirbyBase is disk-based, not memory-based. Database changes are immediately written to disk. You can find more information on KirbyBase at: http://www.netpromi.com/kirbybase.html You can download KirbyBase for Python at: http://www.netpromi.com/files/KirbyBase_Python_1.7.zip Wow! It's been almost two years since the initial release of KirbyBase. Time sure does fly! Version 1.7 includes most of the bug fixes that have accumulated over the months and a few enhancements that I hope you will enjoy. I would like to thank everyone who has emailed me with comments, bug reports, and enhancement requests/ideas. Hearing from people who actually use KirbyBase is what makes working on it worthwhile. Please keep the emails coming! I would particularly like to thank Pierre Quentel, the author of Karrigell (http://karrigell.sourceforge.net), for his contribution of ideas and code for many of the enhancements in version 1.7 of KirbyBase. For those of you who requested better documentation, the manual has been completely re-written. I'm not saying it's any better, but at least it's different. :) Changes in Version 1.7: ***IMPORTANT - IF YOU ARE UPGRADING THIS COULD BITE YOU!!!*** * Changed the default value for the keyword argument 'useRegExp' to be false instead of true. This means that, when doing a update, delete, or select, records being selected on string fields will be matched using exact matching instead of regular expression matching. If you want to do regular expression matching, pass 'useRegExp = True' to the method. ***IMPORTANT*** * Added a keyword argument to select() called returnType. If set to 'object', the result list returned will contain Record objects where each field name is an attribute of the object, so you could refer to a record's field as plane.speed instead of plane[4]. If set to 'dict', the result list returned will contain dictionaries where each key is a field name and each value is a field value. If set to 'list', the default, the result is a list of lists. * Added a new method, insertBatch. It allows you to insert multiple records at one time into a table. This greatly improves the speed of batch inserts. * Added a new public method called validate. Calling this method with a table name will check each record of that table and validate that all of the fields have values of the correct type. This can be used to validate data you have put into the table by means other than through KirbyBase, perhaps by opening the table in a text editor and typing in information. * Fixed a bug in _closeTable where if an exception occurred it was blowing up because the variable 'name' did not exist. * Fixed a bug in _writeRecord where if an exception occured it was blowing up because the variable 'name' did not exist. * Fixed a bug in _getMatches where I was referencing self.field_names as a method instead of as a dictionary. * Added a new private method, _strToBool, that converts string values like 'True' to boolean values. * Added a new private method, _convertInput, and moved to it the code that ensures that the data on an insert is in proper list format. I did this so that I did not have duplicate code in both the insert and insertBatch methods. * To accomodate the fact that users can now send a large batch of records to be inserted, I changed _sendSocket so that it first sends the length of the database command to the server, then it actually sends the command itself, which can now be any length. * Changed the code in _getMatches to precompile the regular expression pattern instead of dynamically compiling every time the pattern is compared to a table record. This should speed up queries a little bit. * Changed the code in select that converts table fields back to their native types to be more efficient. * Changed _sendSocket to use StringIO (actually cStringIO) to hold the result set of a client/server-based query instead of just capturing the result by concatenating records to one big string. In informal testing on large result sets, it shaves a few tenths of a second off the query time. Jamey Cribbs jcribbs@twmi.rr.com From dan.gass at gmail.com Mon Jan 31 03:04:58 2005 From: dan.gass at gmail.com (Dan Gass) Date: Mon Jan 31 16:04:34 2005 Subject: [Python-Announce] cfgparse v01_00 released Message-ID: I'm pleased to announce the initial release of cfgparse (V01_00) Background ------------------------------------------------------------- cfgparse is a more convenient, flexible, and powerful module for parsing configuration files than the standard library ConfigParser module. cfgparse uses a more declarative style modelled after the popular optparse standard library module. cfgparse can optionally cooperate with the optparse module to provide coordination between command line and configuration file options. In addition, the cooperation can be used to allow the user to control features of the parser from the command line. URLs ------------------------------------------------------------- Docs/home page: http://cfgparse.sourceforge.net/ Download: http://sourceforge.net/projects/cfgparse/ Feature Summary ------------------------------------------------------------- + Simple ini style configuration syntax + Type checking with error handling and help messages + Help summary modelled after that in optparse + Round trip - read, modify, write configuration files with comment retention + Cooperates with optparse for configuration file options that should be overridden by command line options + Supports heirarchically organized option settings * User may store multiple option settings in a arbitrarily deep keyed dictionary. * Application uses a key list to walk into the dictionary to obtain a setting. * User controls key list with setting in configuration file. * Supports adding keys to the list through a command line option or from environment variables. + Supports allowing user control of configuration files used. * Environment variables may be used to allow user to specify a default configuration file. * Command line options to specify configuration file supported. * Configuration files may include other configuration files where where sections are read in parallel. * Configuration files may be nested heirarchically by including configuration files from within a section or subsection. + Configuration files may alternatively be written in Python. * full power and flexibility of Python available for creation of option settings * allows options settings to be real Python objects * this feature is NOT enabled by default + May be extended to support syntax such as XML. Enjoy, Dan Gass From borco at go.ro Mon Jan 31 09:13:16 2005 From: borco at go.ro (ionutz) Date: Mon Jan 31 16:04:35 2005 Subject: [ANN] PyComicsViewer 0.9.5 Message-ID: <1107159196.242215.225960@c13g2000cwb.googlegroups.com> PyComicsViewer-0.9.5 has been released. What is PyComicsViewer? ======================= Is a comics viewer written in python, PyGTK and PIL. I made it as I didn't fully like any of the existing viewers and I wanted something that works the same (nice) way on both Linux and Windows. Because of the way it was implemented, you can also use it like a kind of image browser/viewer, but this is not its primary destination. Browsing images from uncompressed directories is provided because resulted naturally from the implementation and because I've seen some people that distribute their scaned comics uncompressed. Changes in 0.9.5 (2005/01/30) ============================= * solved rotation bug for images that have sizes not divizible by 4 * set the size of the 'Open' dialog in the glade template, not in the program * show the number of files detected so far during dir scanning * set UI to use tear-off menus * added code to sort files alfa-numerically (that is, the file '5.jpg' will come before '10.jpg') * better installation support Licensing ========= PyComicsViewer is released under the GPL. Where can I get it? =================== Home page: http://borco.net/html/PyComicsViewer/ Latest version: http://borco.net/html/PyComicsViewer/PyComicsViewer-0.9.5.tar.gz Cheers, From ulrich.berning at desys.de Mon Jan 31 12:03:19 2005 From: ulrich.berning at desys.de (Ulrich Berning) Date: Mon Jan 31 16:04:36 2005 Subject: ANNOUNCE: VendorID-1.0.0 Message-ID: I'm pleased to announce the first public release of VendorID-1.0.0. You can download it from www.riverbankcomputing.co.uk/vendorid ----- What is it? VendorID is a Python package, that contains functionality to restrict the availability of dynamic loadable extension modules to specific Python interpreters. Only specific Python interpreters are allowed to import such extension modules. A generic Python interpreter will fail to import such extensions. By the term specific Python interpreter, we mean a binary executable that runs a single specific Python application, something you create with tools like freeze or py2exe. ----- Why? The motivation for the VendorID package was the following condition in Trolltech's commercial Qt license agreement. "Applications may not pass on functionality which in any way makes it possible for others to create software with the Licensed Software;" This software provides a simple mechanism for conforming to this condition. Because I want to create commercial applications based on Python, Qt and PyQt, I either had to make the PyQt modules builtin into the specific interpreter (resulting in huge executables), or I had to find a solution to prevent the import of these modules from a generic Python interpreter. ----- Contents of the Package The VendorID package contains a distutils setup script that generates the necessary code and builds a static library and a shared module. The package also contains a Python script named sib.py that you can use to create application specific executables. See the documentation in the doc directory of the package. ----- License VendorID is licensed under the same terms and conditions as Python itself. See the file LICENSE.txt of the package for more details. VendorID places no restrictions on the license you may apply to interpreters and extension modules that make use of the VendorID functionality. ----- If you have any questions or enhancement suggestions, either contact me directly (ulrich.berning@desys.de) or use the PyKDE mailing list. Thanks to Phil Thompson for hosting the package at www.riverbankcomputing.co.uk Ulli Berning DESYS GmbH www.desys.de From adamsz at gmail.com Mon Jan 31 23:32:39 2005 From: adamsz at gmail.com (Adam Souzis) Date: Tue Feb 1 16:48:53 2005 Subject: ANNOUNCE: Rx4RDF and Rhizome 0.4.3 Message-ID: Rx4RDF is application stack for building RDF-based applications and web sites implemented in Python. Rhizome is a Wiki-like content management and delivery system built on Rx4RDF that brings the Wiki metaphor to building dynamic web sites. What's new? Major changes since last announced release (0.4.1): - Support for RDF Schema (subclasses and subproperties) - Added a UI for adding comments and several other UI improvements - Added a notion of themes to ease customization of look and feel. - More security enhancements including sanitizing HTML and supporting Google's new anti-comment spam standard. - Smoother installation and command line handling. - Compatibility with 4Suite 1.0a4 (enables OS X support). In addition, there have several other enhancements, see http://rx4rdf.liminalzone.org/changelog.txt for more details. More Info: * Rx4RDF is a set of technologies designed to make RDF more accessible and easier to use. It includes: ** RxPath provides a deterministic mapping between the RDF abstract syntax to the XPath data model, allowing you to query, transform and update a RDF model with languages syntactically indentical to XPath, XSLT and XUpdate (dubbed RxPath, RxSLT, and RxUpdate respectively). ** ZML is a Wiki-like text formatting language that lets you write arbitrary XML or HTML (using Python-esque indentation rules), enabling you to author XML documents with (nearly) the same ease as a Wiki entry. ** RxML is an alternative XML serialization for RDF that is designed for easy authoring in ZML, allowing novices to author and edit RDF metadata. * Raccoon is a simple application server that uses an RDF model for its data store, roughly analogous to RDF as Apache Cocoon is to XML. Raccoon uses RxPath to translate arbitrary requests (currently HTTP, XML-RPC and command line arguments) to RDF resources, each of which can be associated with RxSLT and RxUpdate stylesheets. * Rhizome is a Wiki-like content management and delivery system built on Raccoon that takes the concept of the Wiki to the next level: everything is editable, not just content but its meta-data and behavior, even the structure of the site itself. Furthermore, Wiki entries are abstract globally unique RDF resources that can have any kind of content and whose presentation is contextual. Homepage: http://rx4rdf.liminalzone.org/ Download: http://sourceforge.net/project/showfiles.php?group_id=85676 -- adam (asouzis at user.sf.net)