From greg at cosc.canterbury.ac.nz Tue Aug 1 06:06:06 2006 From: greg at cosc.canterbury.ac.nz (Greg Ewing) Date: Tue, 01 Aug 2006 16:06:06 +1200 Subject: ANN: Quest for the Holy Grail (a PyGame game) Message-ID: <4j829hF6omesU1@individual.net> This game is doubly Pythonic -- it uses PyGame, and it's based on a Monty Python movie. It was originally an entry in the Pygame.draw challenge (http://media.pyweek.org/static/pygame.draw-0606.html). I've put a slightly enhanced and bugfixed version on my web page: http://www.cosc.canterbury.ac.nz/greg.ewing/grailquest/index.html It requires Python 2.3 or later and PyGame with SDL_image and SDL_ttf support. That's all! Comments, suggestions and amusing gameplay anecdotes are welcome. Have fun, -- Greg Ewing, Computer Science Dept, University of Canterbury, Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg From hosalo at _NO_SPAM_gmail.com Tue Aug 1 14:11:42 2006 From: hosalo at _NO_SPAM_gmail.com (Heikki Salo) Date: Tue, 01 Aug 2006 12:11:42 GMT Subject: Release: DirectPython 0.5 Message-ID: <2yHzg.134$RR2.15@read3.inet.fi> A new version of DirectPython is now available at http://directpython.sourceforge.net/ What is it? ----------- DirectPython is a C++ extension to the Python programming language which provides basic access to DirectX (9.0c) API, including Direct3D, DirectSound, DirectShow and DirectInput. The full distribution is very easy to install and it includes many samples and documentation that show the basics of DirectPython programming. No additional packages are needed. Whats new in 0.5.0? ------------------ -Bug fixes -Basic GUI library -New samples -Add advanced features with ctypes/comtypes And much more. Check the release notes for further information. Requirements ------------- A Windows operating system with Python 2.4.x and DirectX 9.0c installed. From xi at gamma.dn.ua Tue Aug 1 14:22:51 2006 From: xi at gamma.dn.ua (Kirill Simonov) Date: Tue, 1 Aug 2006 15:22:51 +0300 Subject: [ANN] LibYAML-0.0.1: The initial release Message-ID: <20060801122251.GA2664@58sirius016.dc.ukrtel.net> I'd like to announce the initial release of LibYAML, a YAML parser and emitter library written in C. LibYAML homepage: http://pyyaml.org/wiki/LibYAML TAR.GZ package: http://pyyaml.org/download/libyaml/yaml-0.0.1.tar.gz SVN repository: http://svn.pyyaml.org/libyaml Bug tracker: http://pyyaml.org/newticket?component=libyaml The library is functionally complete, but the documentation is scarce and the API is subject to change. For more information, you may check the project homepage, the doxygen-generated documentation in the `doc` directory of the source distribution, and the examples `tests/example-reformatter.c` and `tests/example-deconstructor.c`. There are preliminary Python bindings for LibYAML in the PyYAML SVN repository. LibYAML is written by Kirill Simonov . It is released under the MIT license. See the file LICENSE for more details. This project is developed for Python Software Foundation as a part of the Google Summer of Code program under the mentorship of Clark C. Evans. From python-url at phaseit.net Wed Aug 2 04:02:37 2006 From: python-url at phaseit.net (Cameron Laird) Date: Wed, 2 Aug 2006 02:02:37 +0000 (UTC) Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Aug 2) Message-ID: QOTW: "[U]sing Python is not programming, it IS a fun!" - Tolga "The reason for making complex a builtin is _not_ to ease a single program, but to create a convention allowing different modules which operate on complex numbers to communicate." -Scott David Daniels Komodo 4.0 debuted at last week's OSCON: http://www.activestate.com/komodo/beta Python2.5final is under two weeks away. Watch for it. 'Want to *really* learn Python? http://home.earthlink.net/~python-training/public.html Quest for the Holy Grail is as Pythonic as it gets: http://www.cosc.canterbury.ac.nz/greg.ewing/grailquest/index.html John Henry asks a sober question which Simon Brunning can't refrain from soiling with his perverse algorithmic imagination: http://groups.google.com/group/comp.lang.python/msg/bb47da1c1c346954 C has static locals. Python has classes, closures, and defaulted keyword parameters: http://groups.google.com/group/comp.lang.python/browse_thread/t hread/9799c58168e0615b/ Python range()s the way Dijkstra preaches: http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html ======================================================================== 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. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon 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/ 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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.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/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& 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 There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. 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!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From jdavid at itaapy.com Wed Aug 2 15:27:22 2006 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Wed, 02 Aug 2006 15:27:22 +0200 Subject: itools 0.14.1 released Message-ID: <44D0A83A.9070409@itaapy.com> itools is a Python library, it groups a number of packages into a single meta-package for easier development and deployment: itools.catalog itools.http itools.uri itools.cms itools.i18n itools.vfs itools.csv itools.ical itools.web itools.datatypes itools.rss itools.workflow itools.gettext itools.schemas itools.xhtml itools.handlers itools.stl itools.xliff itools.html itools.tmx itools.xml In spite of being a minor release, there are some important and visible (and backwards compatible) changes. First and foremost, the functional scope of itools.cms has been extended with calendar objects. It is possible to create a new empty calendar or upload ics files. Very important too is that now the web server is gracefully stopped. This means the pending requests will be processed before shutting down the server. Also, the French translation has been updated. And of course there are a bunch of bug fixes, accross the uri, handlers, csv, web and cms packages. This includes the task tracker items: #98, #416, #455, #456 and #457. Credits: - Herv? Cauwelier updated the French translation and fixed many bugs; - Nicolas Deram implemented the calendar objects in itools.cms; - J. David Ib??ez implemented the graceful stop and fixed many bugs. Resources --------- Download http://download.ikaaro.org/itools/itools-0.14.1.tar.gz Home http://www.ikaaro.org/itools Mailing list http://mail.ikaaro.org/mailman/listinfo/itools Bug Tracker http://bugs.ikaaro.org/ -- 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 bhendrix at enthought.com Wed Aug 2 19:46:12 2006 From: bhendrix at enthought.com (Bryce Hendrix) Date: Wed, 02 Aug 2006 12:46:12 -0500 Subject: ANN: Python Enthought Edition 1.0.0 Released Message-ID: <44D0E4E4.4020304@enthought.com> Enthought is pleased to announce the release of Python Enthought Edition Version 1.0.0 (http://code.enthought.com/enthon/) -- a python distribution for Windows. About Python Enthought Edition: ------------------------------- Python 2.4.3, Enthought Edition is a kitchen-sink-included Python distribution for Windows including the following packages out of the box: Numpy SciPy IPython Enthought Tool Suite wxPython PIL mingw MayaVi Scientific Python VTK and many more... More information is available about all Open Source code written and released by Enthought, Inc. at http://code.enthought.com 1.0.0 Release Notes ------------------------- A lot of work has gone into testing this release, and it is our most stable release to date, but there are a couple of caveats: * The generated documentation index entries are missing. The full text search does work and the table of contents is complete, so this feature will be pushed to version 1.1.0. * IPython may cause problems when starting the first time if a previous version of IPython was ran. If you see "WARNING: could not import user config", either follow the directions which follow the warning. * Some users are reporting that older matplotlibrc files are not compatible with the version of matplotlib installed with this release. Please refer to the matplotlib mailing list (http://sourceforge.net/mail/?group_id=80706) for further help. We are grateful to everyone who has helped test this release. If you'd like to contribute or report a bug, you can do so at https://svn.enthought.com/enthought. From steven.bethard at gmail.com Thu Aug 3 07:41:32 2006 From: steven.bethard at gmail.com (Steven Bethard) Date: Wed, 2 Aug 2006 23:41:32 -0600 Subject: [ANN] The argparse module Message-ID: I'm pleased to announce initial availability of the argparse module, an optparse-inspired command line parser: http://argparse.python-hosting.com/ The argparse module can be downloaded as a single file, argparse.py, through the Browse Source link on the website. Argparse improves on optparse by: * handling both optional and positional arguments * supporting parsers that dispatch to sub-parsers * producing more informative usage messages * supporting arguments that consume any number of string args * allowing types and actions to be specified with simple callables instead of hacking class attributes like STORE_ACTIONS or CHECK_METHODS as well a number of other improvements on the optparse API. Just to whet your appetite: >>> parser = argparse.ArgumentParser(prog='PROG') >>> _ = parser.add_argument('--foo', type=int, choices=[1, 2, 3], ... help='optional with integer choices') >>> _ = parser.add_argument('--bar', nargs='?', const='C', default='D', ... help='optional with or without arg') >>> _ = parser.add_argument('baz', nargs='+', type=float, ... help='positional with one or more args') >>> parser.parse_args('--bar --foo 2 0.5 1.5'.split()) Namespace(bar='C', baz=[0.5, 1.5], foo=2) This is the first public presentation of this module, so the APIs are still subject to change. If you find it of interest, and you'd like to help improve it, I'd be glad to open the project up to more developers. Bug reports can be made through Trac at: http://argparse.python-hosting.com/newticket Steven Bethard From ahaas at airmail.net Thu Aug 3 22:28:35 2006 From: ahaas at airmail.net (Art Haas) Date: Thu, 3 Aug 2006 15:28:35 -0500 Subject: [ANNOUNCE] Thirty-fourth release of PythonCAD now available Message-ID: <20060803202835.GB6283@artsapartment.org> Hi. I'm pleased to announce the thirty-fourth 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 thirty-fourth release builds on the graphics improvements from the previous release. A number of small optimizations again reduce unneeded screen redraws, and a variety of redraw issues have been corrected. The newest PythonCAD release is the first release using Cairo graphics routines for entity drawing. If the Cairo routines are not available on the system then the existing GDK routines will be used, so only people running PythonCAD on recent PyGTK/GTK+ releases will see the change. The latest release includes the new ability to rotate objects around an arbitrary point in addition to the entity display improvements. Finally, a variety of other bug fixes and code improvements are included in the 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 steven.bethard at gmail.com Thu Aug 3 22:54:48 2006 From: steven.bethard at gmail.com (steven.bethard at gmail.com) Date: Thu, 3 Aug 2006 20:54:48 +0000 (GMT) Subject: python-dev Summary for 2006-06-16 through 2006-06-30 Message-ID: <20060803205450.4CD211E4011@bag.python.org> python-dev Summary for 2006-06-16 through 2006-06-30 ++++++++++++++++++++++++++++++++++++++++++++++++++++ .. contents:: [The HTML version of this Summary is available at http://www.python.org/dev/summary/2006-06-16_2006-06-30] ============= Announcements ============= ------------------- Python 2.5 schedule ------------------- A number of bugs are being squashed as Python 2.5 moves towards its next release. See `PEP 356`_ for more details and the full schedule. .. _PEP 356: http://www.python.org/dev/peps/pep-0356/ Contributing threads: - `Beta 1 schedule ? (Bug in stringobject?) `__ - `Adding winerror module (Beta 1 schedule ?) `__ - `current 2.5 issues `__ - `TRUNK FREEZE IMMINENT FOR 2.5 BETA 1 - 00:00 UTC, 20-JUNE-2006 `__ - `beta1 coming real soon `__ - `RELEASED Python 2.5 (beta 1) `__ - `TRUNK is UNFROZEN, but in FEATURE FREEZE `__ - `2.5 and beyond `__ ----------------------------------------- Checkins for betas and release candidates ----------------------------------------- Anthony Baxter announced some guidelines for checkins for the beta and release candidate releases. For all beta releases: * All checkins must have an entry for Misc/NEWS, a test and docs * All checkins that add features must have approval from a release manager * All checkins must not break any of the buildbots For all release candidates: * All checkins must have approval from a release manager Approval from a release manager (Anthony or Neal) should preferably be obtained in public (e.g. the python-dev list) and should be noted in the commit message. Contributing threads: - `When to branch release25-maint? `__ - `RFC: trunk checkins between now and 2.5 final `__ ------------------------------------------- FishEye on the Python Subversion Repository ------------------------------------------- FishEye is once again `available for the Python repository`_. .. _available for the Python repository: http://fisheye3.cenqua.com/browse/python Contributing thread: - `FishEye on Python CVS Repository `__ ========= Summaries ========= --------------------------------- PEP 3103: A Switch/Case Statement --------------------------------- After Thomas Lee provided a `simple patch implementing a switch statement`_ for Python, there was a massive discussion about it and how `PEP 275`_ should best be implemented. After much discussion, basically three camps arose: * School I: The switch statement should just be syntactic sugar for the corresponding if/elif chain. * School II: The switch statement should dispatch on a precomputed dict of values. * School III: The switch statement should correspond to an if/elif chain but require all expressions to be hashable (to allow for better optimizations). School I was primarily concerned with the repetition of the ``x ==`` in something like:: if x == ...: ... elif x == ...: ... elif x == ...: ... else: ... School II seemed to feel that just aiding DRY was not enough to introduce a new construct, and that the switch statement should also be able to avoid the function definitions in dispatching code like:: def f(...): ... def g(...): ... def h(...): ... dispatch_dict = {x:f, y:g, z:h} dispatch_dict[value](*args) In order to optimize this kind of code, School II wanted to be able to compute the dispatch dict ahead of time, so that it wouldn't have be recomputed each time the switch statement was executed. There was a lot of discussion as to exactly when this freezing should occur, with some voting for module compilation time (allowing only constants in the cases), some voting for function definition time (allowing only constants and non-local names in the cases) and some voting for the first time the switch statement is executed (allowing only constants and both local and non-local names). Guido put together a thorough summary of the options in `PEP 3103`_. There was some discussion of introducing a ``static`` keyword which would cause an expression to be evaluated at function definition time, so that, for example, the following code would create a list of functions returning each of 0, 1, ... 9:: funcs = [lambda: (static i) for i in xrange(10)] The intention was that switch statement cases would then allow only constants or static expressions. Guido requested a separate PEP on the idea, and `Fredrik Lundh posted a proto-PEP`_, but at the time of this summary, no official PEP had been submitted. In the end, it looked like Guido was leaning towards the switch statement as syntactic sugar for a dispatching dict, with the dict frozen at function definition time (which would mean compile-time for module-level switch statements). However, the introduction of the statement seemed likely to be postponed at least until Python 3.0. .. _simple patch implementing a switch statement: http://bugs.python.org/1504199 .. _PEP 275: http://www.python.org/dev/peps/pep-0275/ .. _PEP 3103: http://www.python.org/dev/peps/pep-3103/ .. _Fredrik Lundh posted a proto-PEP: http://online.effbot.org/2006_06_01_archive.htm#pep-static Contributing threads: - `Switch statement `__ - `An obscene computed goto bytecode hack for "switch" :) `__ - `Simple Switch statement `__ - `Alternatives to switch? `__ - `Temporary Constantification `__ - `Simple Switch statementZ `__ - `PEP 3103: A Switch/Case Statement `__ - `School IIb? `__ - `Switch statement - handling errors `__ - `Split switch statement `__ - `once [was: Simple Switch statementZ] `__ ------------------------------ Restricted execution in Python ------------------------------ For his Ph.D. thesis, Brett Cannon is looking into adding facilities for restricted execution to Python, partly with the goal of getting Python into Firefox alongside Javascript. His restricted execution specifications aimed to take advantage of the C-to-Python language barrier to enforce security restrictions. Though there's no real way to get private attributes in pure Python, objects coded in C and exposed to Python can select which attributes are exposed, thus making the non-exposed attributes truly private to Python-level code. His initial draft aimed to hide as many "dangerous" objects as possible, and then cripple objects like ``file`` that would be difficult to hide. A number of people seemed to prefer a hiding-only approach, but comments from Armin Rigo seemed to suggest that plugging all the introspection holes that give access to file objects might be quite difficult. The discussion continued on into the next fortnight. Contributing threads: - `doc for new restricted execution design for Python `__ - `Is Lib/test/crashers/recursive_call.py really a crasher? `__ - `For sandboxing: alternative to crippling file() `__ ----------------------------------------------- NaN and infinities in Python float calculations ----------------------------------------------- Nick Maclaren asked about trying to get more platform-independent behavior in Python's floats, so that IEEE 754 values as in `PEP 754`_ would be produced more consistently. Currently, different OSes produce different results when these values are involved:: Python 2.4.2 (#1, May 2 2006, 08:28:01) [GCC 4.1.0 (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> a = "NaN" >>> b = float(a) >>> c = int(b) >>> d = (b == b) >>> print a, b, c, d NaN nan 0 False Python 2.3.3 (#1, Feb 18 2004, 11:58:04) [GCC 2.8.1] on sunos5 Type "help", "copyright", "credits" or "license" for more information. >>> a = "NaN" >>> b = float(a) >>> c = int(b) >>> d = (b == b) >>> print a, b, c, d NaN NaN 0 True Nick Maclaren suggested either raising an exception for all ambiguous or invalid operations, or returning NaN or infinity as appropriate and then raising exceptions whenever an operation that would lose the error indication was performed. Nick Coghlan explained that the decimal module already does most of this:: >>> from decimal import Decimal as d >>> nan = d('NaN') >>> int(nan) Traceback (most recent call last): ... decimal.InvalidOperation >>> >>> from decimal import getcontext, Overflow >>> ctx = getcontext() >>> ctx.traps[Overflow] = False >>> d('1e999999999') * 10 Decimal("Infinity") Nick Maclaren seemed to suggest that he would be working on a PEP and an implementation that would bring some of the decimal module consistencies to Python's floats as well. .. _PEP 754: http://www.python.org/dev/peps/pep-0754/ Contributing threads: - `Numerical robustness, IEEE etc. `__ - `Numerical robustness, IEEE etc. `__ - `Python memory model (low level) `__ ----------------------------------------------- ImportWarnings for directories without __init__ ----------------------------------------------- Ralf W. Grosse-Kunstleve complained that with Python 2.5 he started getting tons of "ImportWarning: Not importing directory" messages. James Y Knight pointed out that running Python in your home directory is quite likely to issue such warnings if you have *any* directories in your home directory that have the same name as a python module (e.g. ``readline``). A number of options for silencing the errors were discussed, including invoking Python like ``python -W'ignore:Not importing directory'`` and including ``warnings.filterwarnings('ignore', 'Not importing directory', ImportWarning)`` in site.py or .pythonrc.py. Two patches were provided that introduce the warning only if the import fails, `one by Shane Hathaway`_ and `one by Sergey A. Lipnevich`_. No final decision had been made at the time of this summary. .. _one by Shane Hathaway: http://bugs.python.org/1515361 .. _one by Sergey A. Lipnevich: http://bugs.python.org/1515609 Contributing threads: - `Dropping __init__.py requirement for subpackages `__ - `ImportWarning flood `__ ------------------ Updating turtle.py ------------------ Gregor Lingl proposed replacing turtle.py in the Python standard library with his `new xturtle.py module`_. The xturtle module is backwards compatible with the turtle module and adds a number of enhancements. However, Gregor's request came after Python 2.5's feature freeze, so he was told to propose it again in Python 2.6. There was some discussion about this -- as the stdlib turtle module is poorly tested, some contended that introducing the new APIs of xturtle would not make things any worse. A couple of compromises were offered: mentioning xturtle in the turtle module docs, and putting xturtle in the Tools directory. .. _new xturtle.py module: http://ada.rg16.asn-wien.ac.at/~python/xturtle/ Contributing threads: - `xturtle.py a replacement for turtle.py(!?) `__ - `xturtle.py - a replacement for turtle.py `__ - `xturtle.py a replacement for turtle.py(!?) ATTENTION PLEASE! `__ - `xturtle.py `__ ---------------------------------------------------------- Relative imports and PEP 338: Executing Modules as Scripts ---------------------------------------------------------- Relative imports, as described in `PEP 328`_, introduced problems for `PEP 338`_ which allows modules within packages and zipfiles to be run with the -m command-line switch. The -m switch sets the __name__ of the module to '__main__' so that ``if __name__ == '__main__'`` blocks will get executed. However, relative imports use __name__ to determine the parent package, so if a module that has a relative import is executed using the -m switch, the relative import will fail. Nick Coghlan suggested adding a __module_name__ attribute that would not be clobbered by the -m switch, but people generally seemed to think that it would be simpler to just require absolute imports in main modules. .. _PEP 328: http://www.python.org/dev/peps/pep-0328/ .. _PEP 338: http://www.python.org/dev/peps/pep-0338/ Contributing threads: - `PEP 338 vs PEP 328 - a limitation of the -m switch `__ - `PEP 328 and PEP 338, redux `__ - `[Python-checkins] r47142 - in python/trunk: Doc/lib/librunpy.tex Lib/runpy.py Lib/test/test_runpy.py `__ -------------------------------------------- Importing modules within unicode directories -------------------------------------------- Kristjan V. Jonsson pointed out that currently, Python on Windows cannot import modules from directories with unicode names, even if the module names themselves are plain ASCII. Nick Coghlan suggested that this was likely because import.c was doing something like ``u'c:/tmp/\u814c'.encode('mbcs')``, getting back ``'c:/tmp/?'`` and being unable to do anything useful with that. Martin v. Lowis suggested using the 8.3 simplified filename used by DOS, at least until the import machinery gets reworked to better handle encodings, hopefully for Python 2.6. `Thomas Heller had provided a patch`_ for reworking import.c in this manner a while back, but it was large enough that no one had reviewed it. .. _Thomas Heller had provided a patch: http://bugs.python.org/1093253 Contributing thread: - `unicode imports `__ ---------------------------------------- MS VC++ 2003 toolkit no longer available ---------------------------------------- Bill Janssen pointed out that Python 2.4 on Windows expects to be compiled with the MS Visual C++ compiler version 7.1, and that the corresponding MS VC++ 2003 toolkit is no longer available. Fredrik Lundh explained that the compiler is still available in the .net SDK as well as being available to MSDN subscribers. There was again some discussion about moving to the VS 2005 toolkit for compiling Python. It would have made compiling for 64bit architectures somewhat easier, but would have meant that extension writers would have to install three different compilers just to compile extensions for Python 2.3, 2.4 and 2.5, and would also have given problems for MinGW users as MinGW does not yet easily support linking to the msvcr80 runtime library. Contributing threads: - `Python 2.4 extensions require VC 7.1? `__ - `Documentation enhancement: "MS free compiler"? `__ - `Documentation enhancement: "MS free compiler"? `__ --------------------------------- Keeping interned strings in a set --------------------------------- Alexander Belopolsky tried out the new set C API by `replacing the dict of interned strings with a set`_ instead. He had to make two changes to get this to work: there's currently no way to retrieve a single object from a set, and Py_Finalize() needed to be changed to finalize sets after strings (instead of the other way around as it used to be). There was some discussion about trying to get rid of PySet_Fini() so the latter problem wouldn't be an issue at all, but with all the other Py*Fini() functions already existing, it didn't seem worth it. The patch had no slowdown and reduced the memory consumption of the interning structure slightly. .. _replacing the dict of interned strings with a set: http://bugs.python.org/1507011 Contributing threads: - `Keeping interned strings in a set `__ - `Keeping interned strings in a set `__ - `setobject code `__ - `Proposal to eliminate PySet_Fini `__ ------------------------- Allowing empty subscripts ------------------------- Guido finally vetoed the proposal to allow ``x[()]`` to be written as ``x[]``. The use-cases were weak, and in most cases the functionality seemed better expressed as attribute access. Contributing threads: - `Pre-PEP: Allow Empty Subscript List Without Parentheses `__ - `Empty Subscript PEP on Wiki - keep or toss? `__ ------------------------------------- Creating range objects at the C level ------------------------------------- Ralf W. Grosse-Kunstleve asked about the removal of the C function ``PyRange_New()`` which had been deprecated in Python 2.4. The right way to create ranges is to call PyRange_Type with the appropriate parameters, e.g. something like ``PyObject_CallFunction((PyObject*) &PyRange_Type, "lll", start, stop, step)``. Ralf was nervous about this alternative because it also appeared to be undocumented, and requested that something like the above be at least put into the What's New document. Contributing threads: - `PyRange_New() alternative? `__ - `PyObject* aliasing (Was: PyRange_New() alternative?) `__ ---------------------------------- type(), __class__ and isinstance() ---------------------------------- Martin Maly pointed out that you can't fool isinstance() into thinking your object is not a subclass of its true base class:: >>> class C(object): ... pass ... >>> class D(object): ... __class__ = property(lambda self: C) ... >>> isinstance(D(), D) True >>> isinstance(D(), C) True Phillip J. Eby explained that isinstance() checks both the type() of the object and the __class__ attribute. In essence, you can lie about your __class__ to make isinstance() return True, but you can't lie to make it return False. Guido suggested that these issues, as well as lying about an object's __bases__, should be revisited for Python 3000. Contributing thread: - `Semantic of isinstance `__ ---------------------------------------------------------------- Requiring backward compatibility in the standard library modules ---------------------------------------------------------------- Ka-Ping Yee's uuid module, newly added for Python 2.5, contained a comment "This module works with Python 2.3 or higher". George Yoshida asked if that comment should be interpreted as requiring Python 2.3 compatibility. People generally felt like the list of backwards compatible modules in `PEP 291`_ should be as small as possible so as to keep maintenance as simple as possible. Ka-Ping removed the comment, and submitted the module to PyPI for Python 2.3 and 2.4 users. .. _PEP 291: http://www.python.org/dev/peps/pep-0291/ Contributing thread: - `uuid backward compatibility `__ --------------------- Figleaf code coverage --------------------- `Titus Brown offered some reports`_ from his `figleaf code coverage`_ utility. People seemed particularly interested in trying to get coverage across multiple platforms, perhaps using a BuildBot extension, and Titus said he'd try to look into it. Walter Dorwald also pointed to `his own code coverage module`_. .. _Titus Brown offered some reports: http://vallista.idyll.org/~t/temp/python2.4-svn/ .. _figleaf code coverage: http://darcs.idyll.org/~t/projects/figleaf-latest.tar.gz .. _his own code coverage module: http://styx.livinglogic.de/~walter/python/coverage/PythonCodeCoverage.py Contributing threads: - `Code coverage reporting. `__ - `Code coverage reporting. `__ ------------------------ Improving error messages ------------------------ Georg Brandl proposed going through abstract.c and modifying error messages like "object does not support item assignment" to also include the type of the object. He got little feedback, mainly because everyone seemed to think it was such an obviously good idea that there was no need for any. Python 2.5 now incorporates `Georg's better error messages`_. .. _Georg's better error messages: http://bugs.python.org/1507676 Contributing threads: - `Improve error msgs? `__ - `Improve error msgs? `__ ----------------------------------------- Allowing assignments in global statements ----------------------------------------- Talin proposed allowing a global statement to be combined with an assignment statement, e.g.:: global badger = 42 Guido suggested that such a desire was a sure indicator of overuse of ``global``. Contributing thread: - `Allow assignments in 'global' statements? `__ ----------------------------------------- Splitting Python tests from CPython tests ----------------------------------------- Frank Wierzbicki volunteered some time into splitting out CPython specific test from Python-the-language tests. Armin Rigo pointed him to PyPy's `tests modified to be more implementation independent`_. .. _tests modified to be more implementation independent: http://codespeak.net/svn/pypy/dist/lib-python/modified-2.4.1/test Contributing thread: - `Cleanup of test harness for Python `__ ----------------------------------------- A multi-dimensional array type for Python ----------------------------------------- For `Google's Summer of Code`_, Karol Langner will be working on `implementing a basic multi-dimensional array type`_ for Python core, based on the numpy_ array struct. He asked for any comments or suggestions that people had for the project. .. _Google's Summer of Code: http://code.google.com/summerofcode.html .. _numpy: http://www.numpy.org/ .. _implementing a basic multi-dimensional array type: http://scipy.org/BaseArray Contributing thread: - `basearray `__ ================== Previous Summaries ================== - `Source control tools `__ - `Dropping externally maintained packages (Was: Please stop changing wsgiref on the trunk) `__ =============== Skipped Threads =============== - `Last-minute curses patch `__ - `Bug in stringobject? `__ - `Fwd: subprocess.Popen(.... stdout=IGNORE, ...) `__ - `About dynamic module loading `__ - `PyString_FromFormat `__ - `Misleading error message from PyObject_GenericSetAttr `__ - `Bug: xml.dom.pulldom never gives you END_DOCUMENT events with an Expat parser `__ - `os.getmtime now returns a float? `__ - `XP build failing `__ - `ETree: xml vs xmlcore `__ - `test_ctypes failure on Mac OS X/PowerPC 10.3.9 (Panther) `__ - `Small sqlite3 test suite fix (Python 2.5b1 candidate) `__ - `Weekly Python Patch/Bug Summary `__ - `Things to remember when adding *packages* to stdlib `__ - `Moving the ctypes repository to python.org `__ - `PyObject_CallFunction and 'N' format char `__ - `pypy-0.9.0: stackless, new extension compiler `__ - `[Python-checkins] Things to remember when adding *packages* to stdlib `__ - `Import semantics `__ - `2.5b1 Windows install `__ - `Python-Dev Digest, Vol 35, Issue 143 `__ - `Problems building Python on OSX 10.4.6? `__ - `enhancements for uuid module `__ - `Do we need a bug triage day? `__ - `Oh-why that?? Please ignore one of the two `__ - `msvccompiler.py: some remarks `__ - `Joke: Rush Limbaugh (a joke in and of himself) `__ - `PyGIL_ and --without-threads `__ - `document @property? `__ - `Pickle implementation questions `__ - `sys.settrace() in Python 2.3 vs. 2.4 `__ - `how long to wait for expat to incorporate a fix to prevent a crasher? `__ - `LOAD_CONST POP_TOP `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from June 16, 2006 through June 30, 2006. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This python-dev summary is the 7th written by the python-dev summary slacker, Steve Bethard. To contact me, please send email: - Steve Bethard (steven.bethard at gmail.com) Do *not* post to comp.lang.python if you wish to reach me. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at 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`_! ------------------------- How to Read the Summaries ------------------------- That this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. .. _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 .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From richard at pyweek.org Fri Aug 4 03:48:15 2006 From: richard at pyweek.org (richard at pyweek.org) Date: Fri, 4 Aug 2006 11:48:15 +1000 Subject: PyWeek #3 in September! Message-ID: <200608041148.15298.richard@pyweek.org> PyWeek 3 is coming up. I've scheduled it for the first week of September. The exact dates are 00:00UTC Sunday 3rd September to 00:00UTC Sunday 10th September. REGISTRATION IS NOW OPEN Visit the PyWeek website to sign up: http://www.pyweek.org/ THE PYWEEK CHALLENGE: - Invites all Python programmers to write a game in one week from scratch either as an individual or in a team, - Is intended to be challenging and fun, - Will hopefully increase the public body of python game tools, code and expertise, - Will let a lot of people actually finish a game, and - May inspire new projects (with ready made teams!) Entries must be developed during the challenge, and must incorporate some theme decided at the start of the challenge. The rules for the challenge are at: http://media.pyweek.org/static/rules.html Richard -- Visit the PyWeek website: http://www.pyweek.org/ From anthony at python.org Fri Aug 4 06:41:24 2006 From: anthony at python.org (Anthony Baxter) Date: Fri, 4 Aug 2006 14:41:24 +1000 Subject: RELEASED Python 2.5 (beta 3) Message-ID: <200608041441.32253.anthony@python.org> On behalf of the Python development team and the Python community, I'm happy to announce the third BETA release of Python 2.5. This is an *beta* release of Python 2.5. As such, it is not suitable for a production environment. It is being released to solicit feedback and hopefully discover bugs, as well as allowing you to determine how changes in 2.5 might impact you. If you find things broken or incorrect, please log a bug on Sourceforge. In particular, note that changes to improve Python's support of 64 bit systems might require authors of C extensions to change their code. More information (as well as source distributions and Windows and Universal Mac OSX installers) are available from the 2.5 website: http://www.python.org/2.5/ There's been over 50 fixes since the second beta. This large number of changes meant we felt more comfortable cutting a third beta release, rather than charging ahead to the release candidate. As of this release, Python 2.5 is now in *feature freeze*. Unless absolutely necessary, no functionality changes will be made between now and the final release of Python 2.5. The plan is that this will be the final beta release (no, really, this time for sure (probably)). We should now move to one or more release candidates, leading to a 2.5 final release early August. PEP 356 includes the schedule and will be updated as the schedule evolves. At this point, any testing you can do would be greatly, greatly appreciated. The new features in Python 2.5 are described in Andrew Kuchling's What's New In Python 2.5. It's available from the 2.5 web page. Amongst the language features added include conditional expressions, the with statement, the merge of try/except and try/finally into try/except/finally, enhancements to generators to produce a coroutine kind of functionality, and a brand new AST-based compiler implementation. New modules added include hashlib, ElementTree, sqlite3, wsgiref and ctypes. In addition, a new profiling module "cProfile" was added. Enjoy this new release, Anthony Anthony Baxter anthony at 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: 191 bytes Desc: not available Url : http://mail.python.org/pipermail/python-announce-list/attachments/20060804/5d50035d/attachment.pgp From fuzzyman at gmail.com Sun Aug 6 22:22:21 2006 From: fuzzyman at gmail.com (Fuzzyman) Date: 6 Aug 2006 13:22:21 -0700 Subject: [ANN] rest2web 0.5.0 Beta 1 Released Message-ID: <1154895741.627734.140110@h48g2000cwc.googlegroups.com> After five months there is finally a new release of `rest2web `_. This is **0.5.0 Beta 1**. There are an awful lot of changes and improvements, but there shouldn't be any backward compatability issues with previous versions. * `rest2web 0.5.0Beta1 zip `_ * `rest2web 0.5.0Beta1 tar.gz `_ One of the best changes, is the addition of a new `Quickstart Guide `_ by *Andrew Ittner*. What is rest2web ? ============== **rest2web** is a tool that generates html files for websites, parts of websites, or project documentation. It allows you to keep your page content in `ReST `_ format, and has a simple but flexible templating system. It can automatically build index pages, 'breadcrumbs' and sidebars for your site. By providing access to a data-structures that represents your site (for example `indextree and thispage `_), you can easily build in extra functionality. What's New in 0.5.0 ? ================ The full changelog is below. As you can see a *lot* has changed. I will try to summarise the most important changes first : * Addition of 'Quickstart Guide' * rest2web can now build a site from just a directory of ReST documents; no need tosupply *restindexes* or index pages if you don't want to {sm;:-)} * Global uservalues (effectively variables available in every page) can be set in the `Config File `_ or at the command line * Lots of new `command line options `_ available, including setting verbosity levels (make rest2web quieter !) * New `Standard Functions `_, especially 'include' for better customisation of templates (e.g. for defining a different footer for some directories) * More information available in the namespace and indextree (source filename, target filename, full url etc) Plus a host of bugfixes and minor improvements. Version 0.5.0 Beta 1 2006/08/06 ======================== Updated docs. Moved 'pythonutils' distribution into the 'rest2web' directory for ease of packaging. Added a ``#!`` line to ``r2w.py``. All rest2web imports now absolute imports. Added 'quickstart.txt' thanks to Andrew Ittner. Added an ``include`` standard function, this can be used to nest templates or customise sections. (It will walk up the directory tree looking for the file you specify and takes an optional argument if the file doesn't exist - useful for templates that allow subdirectories to add to the template, or even wrap the body.) ``make_dist.py`` now takes ``nopause`` as a command line argument (``make_dist.py`` is in `Subversion`_ for creating distributions.) Default breadcrumb divider is now '>'. Breadcrumbs are also output in HTML on separate lines for readability. Fixed bug when ``final_encoding`` is ``None``. Default config file is now called ``r2w.ini``. ``rest2web.ini`` will still be supported until the next release. Fixed bug with ``standerr`` where no logfile is used. ``print_crumbs`` can now take ``None`` for the dividers. Added 'globalValues' to the namespace. (Available in templates and pages for storing values which can be accessed across all pages.) Added 'uservalues' and 'restindex' into each page in the indextree. A new command line 'nopause' option to override the config file. Change so that variables (and functions etc) defined in templates can be used in single code blocks (like ``<% new_name %>``). Added more information about pages to the namespace and indextree. The new values are : 'source_file': The source file for the page 'current_dir': The current directory being processed - this can be turned into an absolute filepath by doing ``os.path.join(os.getcwd(), current_dir)`` 'target_dir': The target file directory (as an absolute file path) being rendered into. Note if the file has a target specified it may not be put in this directory. Use ``os.path.dirname(target_file)`` instead. 'full_page_url': The full url (starting with '/') for the current page 'target_file': The full filename of the page being rendered Fixed bug where 'thispage' wasn't set on pages in the indextree. (Value should be ``True`` for the current page.) Fixed bug where 'thispage' (in the namespace) would sometimes be incorrectly ``None``. Cached template files for faster execution. Special thanks to Martin Krafft for bugfixes and suggestions. Version 0.5.0 alpha 2006/05/01 ====================== **rest2web** can now build a site with no index pages, no template and no restindexes. This is the `force <../force_mode.html>`_ command line option. It can be used to automatically build a site from a collection of ReST documents, and use default templates. ``uservalues`` can be passed at the `command line <../command_line.html>`_ and in the config file. (Command line `uservalues `_ override config file ones.) These uservalues are now available in every page. The encoding of uservalues in the config file is specified by the ``__encoding__`` value. A ``--template-file`` (or ``-t``) command line option. (Will override the top level ``template`` keyword specified in the restindex.) This allows you to have alternative templates for a site; for example one for an online version and another for distributed documentation. New website template, created by `Fuchsiashock Design `_. ``final_encoding`` should never be ``utf8`` - should be ``utf-8`` instead. This is because ``utf8`` is not recognised by browsers. (This is now automatically handled.) Added ``initialheaderlevel`` a new restindex keyword. It sets the size of headers used in ReST documents. Can be set per page. The ``file`` keyword has been bugfixed. It now only operates if the target file doesn't exist or is different to the source file. It copies the timestamp along with the file. The `gallery plugin `_ now ignores non-image files. It also skips image files it can't handle (currently only animated jpgs. **rest2web** now has three levels of verbosity, controlled from the command line : * ``-v`` : Verbose, the default. * ``-a`` : Warnings and actions. * ``-w`` : Warnings only. ``uservalues`` can now be inserted in pages using a new syntax. Where this is used, the uservalues are inserted *before* the page is rendered from ReST to HTML. This means uservalues can be in ReST format. The syntax for single values is ``<* ... *>``. For multiple lines of code it is ``<$ ... $>``. Added ``modtimeiso`` value to the namespace and the ``formattime`` `standard function <../functions.html>`_. The ``namespace`` and ``uservalues`` are both now available (as dictionaries) to the macros and the standard functions. Removed the two ``
`` from ``listend`` in the standard function ``minibar`` and added ``wrapper_class`` to ``print_details``. Added ``os`` and ``sys`` to the namespace for every page. The default crumb for index pages (if no ``page-title`` specified) is the filename, minus the extension and turned to title case. Removed ``urlpath`` from rest2web, because it is now in pythonutils. It won't run in the distribution directory - need to run "make_dist.py". (This only applies if fetched from `subversion `_). From mmueller at python-academy.de Mon Aug 7 18:25:24 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Mon, 07 Aug 2006 18:25:24 +0200 Subject: Leipzig Python User Group - Meeting, August 16, 2006, 8:00pm Message-ID: <7.0.1.0.0.20060807181835.01c6d918@python-academy.de> ========================= Leipzig Python User Group ========================= Next Meeting Wednesday, August 16, 2006 --------------------------------------- We will meet on August 16 at 8:00 pm at the training center of Python Academy in Leipzig, Germany (http://www.python-academy.com/center/find.html). Our regular meeting time, the second Tuesday of the month, would be August 8. We postpone to next week because the meeting location is not available at this regular date. Stefan Schwarzer will present his Python module ftputil. Food and soft drinks are provided. Please send a short confirmation mail to info at python-academy.de, so we can prepare appropriately. Everybody who uses Python, plans to do so or is interested in learning more about the language is encouraged to participate. While the meeting language will be mainly German, English speakers are very welcome. We will provide English interpretation if needed. Current information about the meetings can always be found at http://www.python-academy.com/user-group/index.html ========================= Leipzig Python User Group ========================= Stammtisch am 16.08.2006 ------------------------- Wir treffen uns am 16.08.2006 um 20:00 Uhr wieder im im Schulungszentrum der Python Academy in Leipzig (http://www.python-academy.de/Schulungszentrum/anfahrt.html). Am planm??igen zweiten Dienstag im Monat, dem 8.August, steht unser Treffpunkt nicht zur Verf?gung, so dass wir das Treffen auf n?chste Woche verschieben. Stefan Schwarzer stellt sein Python-Modul ftputil vor. F?r das leibliche Wohl wird gesorgt. Wir bitten um kurze Anmeldung per e-mail an: info at python-academy.de An den Treffen der Python Anwendergruppe kann jeder teilnehmen, der Interesse an Python hat, die Sprache bereits nutzt oder nutzen m?chte. Die Arbeitssprachen des Treffens ist Deutsch. Englisch sprechende Python-Enthusiasten sind trotzdem herzlich eingeladen. Wir ?bersetzen gern. Aktuelle Informationen zu den Treffen sind immer unter http://www.python-academy.de/User-Group/index.html zu finden. From python-url at phaseit.net Tue Aug 8 10:59:04 2006 From: python-url at phaseit.net (Jack Diederich) Date: Tue, 8 Aug 2006 08:59:04 +0000 (UTC) Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Aug 8) Message-ID: QOTW: "being able to cook an egg" - Guido Van Rossum in response to the question, "What do you think is the most important skill every programmer should posses?" "I am asking for your forgiveness" - an open letter to Guido by someone who took the "D" in "BDFL" too literally. Parsing a Grammar. Several solid tools are suggested. http://groups.google.com/group/comp.lang.python/browse_thread/thread/ea9736e13bd20fe2 Alex Martelli was awarded the Frank Willison award at OSCON. Can I define one class across multiple files? Yes, but the need does have a code smell... http://groups.google.com/group/comp.lang.python/browse_thread/thread/4633283e851f6d9e Broken decorator example in a PEP -- it's a decorated class! Here are work arounds (python 2.6 cometh, never fear!) http://groups.google.com/group/comp.lang.python/browse_thread/thread/930e574102c9ac03 Releases of Note Revision 51087. It isn't prime. It isn't the product of two cubes. It is python2.5 beta3. http://www.python.org/download/releases/2.5/ http://www.python.org/dev/peps/pep-0356/ mod_python 3.2.10 released. http://groups.google.com/group/comp.lang.python/browse_thread/thread/2694ccef2bee274b functional 0.7 released. Functional toolkit for python. http://groups.google.com/group/comp.lang.python/browse_thread/thread/136c70074e0b5357 Clever Harold released. py_web_frameworks += 1 http://blog.melhase.net/articles/2006/08/02/clever-harold-the-shocking-first-exclusive Upcoming Community Events SciPy - Scientific Python Conference Aug 17-18 (Pasadena, CA) http://www.scipy.org/SciPy2006/ Open Source Developers Conference Dec 5-8 (Melbourne, Australia) http://www.osdc.com.au/ ======================================================================== 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. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon 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/ 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/python/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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.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/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& 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 There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. 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!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From gary at modernsongs.com Tue Aug 8 15:34:30 2006 From: gary at modernsongs.com (Gary Poster) Date: Tue, 8 Aug 2006 09:34:30 -0400 Subject: No August Fredericksburg ZPUG Message-ID: <35E41567-5829-4642-9D60-6A0034CD888E@modernsongs.com> The Fredericksburg, VA ZPUG will be taking a break this month: no August 9 meeting. Thanks Gary From vasudevram at gmail.com Tue Aug 8 18:16:20 2006 From: vasudevram at gmail.com (vasudevram) Date: 8 Aug 2006 09:16:20 -0700 Subject: ANN: xtopdf: PDF creation / conversion toolkit: alpha release of v1.3 Message-ID: <1155053779.999322.166110@m79g2000cwm.googlegroups.com> Hi group, xtopdf: PDF creation / conversion toolkit: alpha release of v1.3 This is actually a somewhat preliminary announcement, but may be of interest to developers / users who know Python and/or have earlier checked out my xtopdf PDF creation / conversion toolkit: I've released (via my web site, not yet properly packaged/documented and put on the SourceForge site, that will be done in some days), the next version of xtopdf: v1.3. This version adds support for conversion of CSV, TDV (Tab Delimited Values) and XLS (limited support) to PDF. v1.3 also adds some GUI tools written using wxPython (v1.0 had only command-line tools and a library for developers). Users/developers will need to install wxPython and properly configure it to work with their Python installation before they can use these GUI tools. This is fairly straightforward on Windows using the .MSI or .EXE (can't remember which it is right now) installer for wxPython, but on Linux, you'll need to know how to handle the tools that are used to build packages from source code, i.e. make, configure, etc. Also, wxPython is a medium-sized package - it took around an hour or two to fully build on my reasonably fast PC. So be patient (get yourself a coffee or two, or do something else in another Linux console / window while wxPython builds :-) Those who know even basic Python should be able to install and run both xtopdf v1.0 and the new stuff in v1.3, at least for the command-line tools (the programs are quite simple). Main SourceForge site for xtopdf v1.0: http://sourceforge.net/projects/xtopdf There are no releases between 1.0 and 1.3 :-) URL for xtopdf v1.3 on my web site: http://www.dancingbison.com/xtopdf-1.3.zip URL for xtopdf v1.0 on my web site: http://www.dancingbison.com/xtopdf-1.0.tar.gz wxPython site: http://wxpython.org xtopdf requires both Python and the open source version of the ReportLab toolkit. Python site: [You shouldn't be reading this group if you don't know the site :-), ok, maybe you're a newbie to Python and happened across this group;its http://www.python.org] ReportLab site: http://www.reportlab.org More details (for Windows) are available in a guide here: http://itext.ugent.be/library/question.php?id=41 I'd appreciate any feedback, about bugs (v1.3 is tested but not a lot yet, that will be done in next days), or how / what for anyone is using it. Apart from the "proper" packaging/documenting and upload to SourceForge (and my web site), I shall be writing and posting more about how to use it, etc. in the coming days. Enjoy, and Thanks Vasudev =========================== Vasudev Ram Software consulting and training http://www.dancingbison.com =========================== From goodger at python.org Tue Aug 8 21:41:23 2006 From: goodger at python.org (David Goodger) Date: Tue, 8 Aug 2006 15:41:23 -0400 Subject: Polyform Puzzler Message-ID: <4335d2c40608081241w19cecd65m504e7d708547b1fc@mail.gmail.com> Polyform Puzzler is a software toolkit for exploring & solving polyform puzzles, like Pentominoes and Soma Cubes. It consists of a set of front-end applications for specific polyform puzzles and a Python library that does the heavy lifting. New polyforms and new puzzles can easily be defined and added. http://puzzler.sourceforge.net/ -- David Goodger From bray at sent.com Wed Aug 9 17:25:11 2006 From: bray at sent.com (bray at sent.com) Date: Wed, 09 Aug 2006 10:25:11 -0500 Subject: ChiPy Chicago Python User Group Meeting Tomorrow Message-ID: <1155137111.6229.267996295@webmail.messagingengine.com> This will be our best meeting yet! ChiPy's Monthly meeting this Thurs. August 10, 2006. 7pm. (except for folks who want to help setup at 6:30 and get first dibs on pizza-compliments of Uncle Roy (Singham)) Topics ------ * Adrian Holovaty's new Django Add-on for quickly publishing websites. * John Melesky on AppScript * Sir Galahad on Python 2.5 (beta 3) in a nutshell * BarCamp review and hangovers * Lighting talks: MD5, ... Location -------- ThoughtWorks' Chicago office 651 West Washington Blvd., 6th floor Chicago, IL 60661 Location description: "6 story, brick building on the Southwest corner of Washington Blvd. and Desplaines St." "Right next to the 90/94 freeway" "Across the street from the Social Security building" * Map * "Official" info Call jason at 3 1 2 - 3 7 3 . 8 5 5 6 if you get locked out or lost. (The external doors should be open, but be sure to enter on the "east" side (Desplaines) Street (meter) parking is available in the area. Shoot for "free" (no meters) parking on the South side of the building if you're lucky. And be sure to feed those meters; Brother Leader Daley collects tons of cash from meter fines in this area. Garage parking is also available across the street (technically across the interstate) at the very tall SkyBridge condo building. 1) The closest "L" stop is Clinton on the "Green Line". (About an 8 minute walk from TW.) 2) The closest Metra station is the Ogilvie Transportation Center (in the Citibank Building) 2 blocks east of TW. (a 4 minute walk) 3) The closest water taxi stop is at Madison Street Bridge at 2 North Riverside Plaza. () ;-) 4) I can't find good info on the nearest helipad. Sorry, Mr. Trump. 5) Besides garage parking at SkyBridge across the freeway and meter parking around the building, there is additional garage parking at the Presidential Towers at Jefferson & Madison. There are 2 non-garage parking lots adjacent to our building. (I don't know the lots' "after 5pm" parking rules, though). Theme: If you're addicted to oil, there are lots of parking options within a short walk. About ChiPy ----------- ChiPy is a group of Chicago Python Programmers, l33t, and n00bs. Meetings are held monthly at various locations around Chicago. Also, ChiPy is a proud sponsor of many Open Source and Educational efforts in Chicago. Stay tuned to the mailing list for more info. ChiPy website: ChiPy Mailing List: Python website: ---- Forward this on. From mmueller at python-academy.de Sat Aug 12 06:40:08 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Sat, 12 Aug 2006 06:40:08 +0200 Subject: Program - Leipzig Python Workshop Message-ID: <7.0.1.0.0.20060812063426.01cccc60@python-academy.de> We are happy to announce that the program for the workshop is now available. === Workshop "Python im deutschsprachigen Raum" === Bis zum Workshop am 8. September sind es weniger als vier Wochen. Das Programm steht nun fest. Unter: http://www.python-academy.de/workshop/programm.html ist die aktuelle Version verf?gbar. Eine PDF-Version steht hier: http://www.python-academy.de/workshop/download.html zum herunterladen bereit. === Workshop-Programm === Stand: 12. August 2006 Freitag, 8. September 2006 9:00 ? 9:15 Uhr Mike M?ller, Python Academy, Leipzig Klaus Peter F?hnrich, Universit?t Leipzig Einf?hrung 9:15 ? 10:30 Uhr Mike M?ller, Python Academy, Leipzig Tutorial: Das ist Python 10:30 ? 11:00 Uhr Pause mit Verpflegung 11:00 ? 11:40 Uhr Gregor Lingl, Bundesrealgymnasium 16, Wien xturtle ? ein Grafikmodul f?r den Einstieg ins Programmieren 11:40 ? 12:20 Uhr Michael Goral, DevTrans, Steinmaur, Schweiz Die Pythondenkweise als wirkungsvoller Hebel f?r bessere Ergebnisse in der Anwendungsentwicklung 12:20 ? 13:20 Uhr Mittagspause (Essen individuell) 13:20 ? 14:20 Uhr Martin von L?wis, Hasso-Plattner-Institut Potsdam Keynote: Python-Dev: Wie Python entwickelt wird 14:20 ? 15:20 Uhr Stefan Behnel, lxml Projekt Tutorial: XML mit Python - Eine Einf?hrung 15:20 ? 15:40 Uhr Pause mit Verpflegung 15:40 ? 16:20 Uhr Rainer Fischbach, ECS Engineering, Consulting & Solutions GmbH, Neumarkt Python als Unterst?tzung im Produktdaten-Management 16:20 ? 17:00 Uhr Stefan Schwarzer, SSchwarzer.com, Leipzig Python-Einsatz beim Informationsdienst Wissenschaft e. V. 17:00 ? 18:00 Uhr Moderation: Mike M?ller und Stefan Schwarzer Diskussion: Die Zukunft von Python - eine Sprache f?r jedermann? 18:30 Uhr Stadtf?hrung (Treffpunkt Springbrunnen vor dem Gewandhaus) 20:30 Uhr Abendveranstaltung in einem Leipziger Restaurant (nicht im Teilnehmerbeitrag enthalten) === Workshop-Details === Am 8. September 2006 findet in Leipzig der Workshop "Python im deutschsprachigen Raum" statt. Der Workshop ist als Erg?nzung zu den internationalen und europ?ischen Python-Zusammenk?nften gedacht. Die Themenpalette der Vortr?ge ist sehr weit gefasst und soll alles einschlie?en, was mit Python im deutschsprachigen Raum zu tun hat. Eine ausf?hrliche Beschreibung der Ziele des Workshops, der Workshop-Themen sowie Details zu Organisation und Anmeldung sind unter http://www.python-academy.de/workshop nachzulesen. === Wichtige Termine === 15.08.2006 Letzter Termin f?r Fr?hbucherrabatt 08.09.2006 Workshop 15.09.2006 Letzter Termin f?r die Einreichung der publikationsf?higen Beitr?ge Dezember 2006 Ver?ffentlichung des Tagungsbandes === Bitte weitersagen === Der Workshop soll auch Leute ansprechen, die bisher nicht mit Python arbeiten. Wer mithelfen m?chte den Workshop bekannt zu machen, kann einen Link auf http://www.python-academy.de/workshop setzen. Auch au?erhalb des Internets kann der Workshop durch den Flyer http://www.python-academy.de/download/programm.pdf bekannt gemacht werden. Einfach doppelseitig ausdrucken oder kopieren und ein paar Exemplare am Schwarzen Brett von Universit?ten, Firmen, Organisationen usw. aush?ngen. Wir freuen uns auf eine rege Teilnahme, Mike M?ller Stefan Schwarzer From mmueller at python-academy.de Sun Aug 13 21:58:19 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Sun, 13 Aug 2006 21:58:19 +0200 Subject: Early Bird Registration closes Tuesday - Leipzig Python Workshop Message-ID: <7.0.1.0.0.20060813215451.01bfb960@python-academy.de> Early bird workshop registration closes Tuesday (August 15th). Late registration will be available until the workshop starts, but at a greater cost. === Workshop "Python im deutschsprachigen Raum" === Der letzte Termin f?r den Fr?hbucherrabatt ist Dienstag, der 15. August. Danach sind Anmeldungen noch bis zum Beginn des Workshops m?glich, die Anmeldegeb?hr ist aber etwas h?her. Anmeldungen unter: http://www.python-academy.de/workshop/anmeldung.html === Workshop-Details === Am 8. September 2006 findet in Leipzig der Workshop "Python im deutschsprachigen Raum" statt. Der Workshop ist als Erg?nzung zu den internationalen und europ?ischen Python-Zusammenk?nften gedacht. Die Themenpalette der Vortr?ge ist sehr weit gefasst und soll alles einschlie?en, was mit Python im deutschsprachigen Raum zu tun hat. Eine ausf?hrliche Beschreibung der Ziele des Workshops, der Workshop-Themen sowie Details zu Organisation und Anmeldung sind unter http://www.python-academy.de/workshop nachzulesen. === Wichtige Termine === 15.08.2006 Letzter Termin f?r Fr?hbucherrabatt 08.09.2006 Workshop 15.09.2006 Letzter Termin f?r die Einreichung der publikationsf?higen Beitr?ge Dezember 2006 Ver?ffentlichung des Tagungsbandes === Bitte weitersagen === Der Workshop soll auch Leute ansprechen, die bisher nicht mit Python arbeiten. Wer mithelfen m?chte den Workshop bekannt zu machen, kann einen Link auf http://www.python-academy.de/workshop setzen. Auch au?erhalb des Internets kann der Workshop durch den Flyer http://www.python-academy.de/download/programm.pdf bekannt gemacht werden. Einfach doppelseitig ausdrucken oder kopieren und ein paar Exemplare am Schwarzen Brett von Universit?ten, Firmen, Organisationen usw. aush?ngen. Wir freuen uns auf eine rege Teilnahme, Mike M?ller Stefan Schwarzer From mcfletch at vrplumber.com Mon Aug 14 00:01:08 2006 From: mcfletch at vrplumber.com (Mike C. Fletcher) Date: Sun, 13 Aug 2006 18:01:08 -0400 Subject: Toronto Area Python User's group meeting this Tuesday, 6:30pm, Linux Caffe Message-ID: <44DFA124.2030005@vrplumber.com> As discussed at the last meeting, we're moving the night for the PyGTA meetings to avoid the common conflicts with the DemoCamp nights. We'll be moving to the Third Tuesday of the month, with general gathering an socialisation starting at 6:30 and the "formal" part of the evening starting at 7pm. We go out for drinks in the neighborhood after the "formal" part of the meeting, so drop in even if you're not able to make it for 7pm on the dot. Sorry for the late notice on the date-change, hope to see you there, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com From anagappan at novell.com Mon Aug 14 18:25:06 2006 From: anagappan at novell.com (A Nagappan) Date: Mon, 14 Aug 2006 10:25:06 -0600 Subject: LDTP 0.5.0 released !!! Message-ID: <44E0F13A020000440000708C@lucius.provo.novell.com> Issue VIII - 10 August 2006 We are proud to announce the release of LDTP 0.5.0. This release features number of important breakthroughs in the history of LDTP as well as in the field of Test Automation. This release note covers a brief introduction on LDTP followed by the list of new features and major bug fixes which makes this new version of LDTP the best of the breed. Useful references have been included at the end of this article for those who wish to hack / use LDTP. LDTP developers had the privilege of participating in the Google Summer of Code contest. Special thanks to the mentors of LDTP in the event Varadhan and Emily Chen. We also thank Prashanth Mohan ('Casanova') for his wonderful contributions acting as student developer for LDTP as part of this event. LDTP Planet has been set up by Prashanth Mohan ('Casanova') for sharing information more effectively across the community. You can have access to the planet through the following link http://ldtp.freedesktop.org/planet/ About LDTP ========== Linux Desktop Testing Project is aimed at producing high quality test automation framework and cutting-edge tools that can be used to test Linux Desktop and improve it. It uses the Accessibility libraries to poke through the application's user interface. The framework also has tools to record test-cases based on user events in the interface of the application which is under testing. We strive to help in building a quality desktop. Whats new in this release... ============================ + Recording using LDTP This new version of LDTP features a recorder tool which would help in generating automation scripts automatically by recording user events. This would greatly reduce the time required for creating and maintaining automation scripts. Thanks to Venkateswaran ('whacko'), Harishankaran ('sp2hari') and Theyagarajan ('Taggy') for making this happen. For more information on this please refer to http://ldtp.freedesktop.org/wiki/RecordHOWTO + Integration with Tinderbox - LDTP has been integrated with the GNOME jhbuild. Using this feature one can execute test scripts automatically at the end of successful completion of package building using jhbuild. This was done as part of Google SoC. Thanks to Prashanth Mohan ('Casanova') again for his wonderful contribution. Please refer to the following links for more information. * http://prashblog.be/2006/07/27/ldtp-integrated-into-jhbuild/ * http://www.0d.be/2006/07/25/integrating-ldtp-into-jhbuild/ * http://tieguy.org/blog/2006/07/26/little-bits-of-awesomeness/ + Automation scripts * More than 70 new scripts for Gedit has been developed and is available for download with this release. Kudos to Lakshmi Narasimhan ('narasim_7') and 'addict3d' for their excellent work. You can download them from http://people.freedesktop.org/~prashmohan/gedit/ * New automation scripts for Evolution are being developed by Prashanth Mohan ('Casanova') as part of his SoC contribution. These scripts can be downloaded from http://people.freedesktop.org/~prashmohan/evolution/ + Documentation updates LDTP documentation section in the LDTP web site has been updated with the latest list of automation APIs. Thanks to our maintainer Nagappan ('nags') for his contribution. + Bug fixes This version includes loads of bug fixes to address important issues like memory leak, API functionality etc., For a detailed list please refer to release notes section of our project site hosted in http://ldtp.freedesktop.org. Thanks to all the developers for their contribution. Whats in Store... ================= + We are very pleased with the ongoing work on porting LDTP to ARM platform by people from Palm Source, China. One of their latest contribution has led to an Object Oriented LDTP approach. It still under development but you can have a taste of this new recipe by following this link http://ldtp.freedesktop.org/wiki/Object_2oriented_20LDTP + With Google SoC in full steam, we are awaiting more breakthroughs by our LDTP team pabe downloaded from the following location http://ldtp.freedesktop.org/wiki/Downloads References ========== For detailed information on LDTP framework and latest updates visit http://ldtp.freedesktop.org For information on various APIs in LDTP including those added for this release can be got from http://ldtp.freedesktop.org/user-doc/index.html To subscribe to LDTP mailing lists, visit http://ldtp.freedesktop.org/wiki/Mailing_20list IRC Channel - #ldtp on irc.freenode.net For suggestions to improve this newsletter, please write to jpremkumar at novell.com Nagappan A Linux Desktop Testing Project - http://ldtp.freedesktop.org http://nagappanal.blogspot.com Novell, Inc. SUSE? Linux Enterprise 10 Your Linux is ready? http://www.novell.com/linux From spam.noam at gmail.com Mon Aug 14 21:34:10 2006 From: spam.noam at gmail.com (spam.noam at gmail.com) Date: 14 Aug 2006 12:34:10 -0700 Subject: ANN: byteplay - a bytecode assembler/disassembler Message-ID: <1155584050.836622.70500@m73g2000cwd.googlegroups.com> Hello, I would like to present a module that I have wrote, called byteplay. It's a Python bytecode assembler/disassembler, which means that you can take Python code object, disassemble them into equivalent objects which are easy to play with, play with them, and then assemble a new, modified, code object. I think it's pretty useful if you like to learn more about Python's bytecode - playing with things and seeing what happens is a nice way to learn, I think. Here's a quick example. We can define this stupid function: >>> def f(a, b): ... print (a, b) >>> f(3, 5) (3, 5) We can convert it to an equivalent object, and see how it stores the byte code: >>> from byteplay import * >>> c = Code.from_code(f.func_code) >>> from pprint import pprint; pprint(c.code) [(SetLineno, 2), (LOAD_FAST, 'a'), (LOAD_FAST, 'b'), (BUILD_TUPLE, 2), (PRINT_ITEM, None), (PRINT_NEWLINE, None), (LOAD_CONST, None), (RETURN_VALUE, None)] We can change the bytecode easily, and see what happens. Let's insert a ROT_TWO opcode, that will swap the two arguments: >>> c.code[3:3] = [(ROT_TWO, None)] >>> f.func_code = c.to_code() >>> f(3, 5) (5, 3) You can download byteplay from http://byteplay.googlecode.com/svn/trunk/byteplay.py and you can read (and edit) the documentation at http://wiki.python.org/moin/ByteplayDoc . I will be happy to hear if you find it useful, or if you have any comments or ideas. Have a good day, Noam Raphael From nas at arctrix.com Tue Aug 15 00:09:58 2006 From: nas at arctrix.com (Neil Schemenauer) Date: Mon, 14 Aug 2006 16:09:58 -0600 Subject: RELEASED: scgi 1.11 Message-ID: <20060814220958.GA29521@mems-exchange.org> The SCGI protocol is a replacement for the Common Gateway Interface (CGI) protocol. It is similar to FastCGI but is designed to be easier to implement. The scgi package includes implementions of the SCGI protocol for Python, Apache 1 and Apache 2. The highlights of this release: * Improve portability of the passfd module (solves at least one bug on AMD64 machines). * Fix a mod_scgi bug that caused a segfault (due to a NULL pointer dereference) with certain configurations. Thanks to Thomas Yandell for helping track down the bug. * Don't send duplicated headers for SCRIPT_NAME and HTTPS. * Allow SCGIServer to use an open socket if provided by the calling procedure. The existing serve() method remains the same. The file can be downloaded from: http://quixote.python.ca/releases/scgi-1.11.tar.gz The source code is also available as a bazaar-ng repository: http://quixote.python.ca/scgi.dev/ Note that this release represents an opening up of the development process. I hope that the switch to bazaar-ng will make it easier for users in the community to contribute to the development of the package. Neil From johannes.wollard at gmail.com Tue Aug 15 03:05:11 2006 From: johannes.wollard at gmail.com (johannes.wollard at gmail.com) Date: 14 Aug 2006 18:05:11 -0700 Subject: ANN: Crunchy version 0.7 is here! Message-ID: <1155603911.043667.304530@m73g2000cwd.googlegroups.com> Version 0.7 of Crunchy has been released. It is available on Sourceforge (http://sourceforge.net/project/showfiles.php?group_id=169458) Crunchy, the Interactive Python Tutorial Maker, is an application that transforms an ordinary html-based Python tutorial into an interactive session within a web browser. Currently, only Firefox is supported. Crunchy is developed and tested on Windows XP and Ubuntu Dapper Drake, but should work on any suitable windows or UNIX system. Apart from Firefox and Python, Crunchy's only dependency is Elementtree, available from http://effbot.org/zone/element-index.htm. This still applies if you are using Python 2.5 because we use parts of Elementtree that are not included in the Python 2.5 standard library. 0. Name change To prevent confusion with an existing program named CrunchyFrog, "Crunchy Frog" has been renamed as "Crunchy", short for "Crunchy, the Interactive Python Tutorial Maker". 1. *Security fix* The previous versions of Crunchy allowed tutorials containing arbitrary (and hidden) javascript code to be loaded within a browser window. The new version removes any existing javascript code prior to processing for display within a browser. Feel free to try and break this - and please report any findings back to us. 2. New functionality. * It is possible to run external programs from within the browser; sample demos include GUI programs with 1. Tkinter, 2. pyGtk, 3. wxPython, 4. Pygame * Automatic syntax colouring of (static) Python code, including (as an option) line numbering. * New plotting canvas with simple to use api to draw mathematical functions * Drawing & plotting canvas can be set to arbitrary size. * Multiple canvas can now appear on same page. * New addition and simplification to the sound api. * Simplification of error message (tracebacks) more suitable for beginners. 3. New visual design: * Integrated menu which can be styled through custom css * Three sample css styles now included (selectable via the browser menu) 4. New content: * First draft sound tutorial exploring concepts of frequency, beats, harmonics (Fourier series), etc. * New addition to the basic "Crunchy user" tutorial * Additions to all reference documentation (sound & graphics api, vlam options, etc.) Please send bug reports and feedback to Andr? Roberge (andre.roberge at gmail.com) and/or Johannes Woolard (johannes.wollard at gmail.com). From steven.bethard at gmail.com Tue Aug 15 07:29:27 2006 From: steven.bethard at gmail.com (steven.bethard at gmail.com) Date: Tue, 15 Aug 2006 05:29:27 +0000 (GMT) Subject: python-dev Summary for 2006-07-01 through 2006-07-15 Message-ID: <20060815052929.C51B21E4003@bag.python.org> python-dev Summary for 2006-07-01 through 2006-07-15 ++++++++++++++++++++++++++++++++++++++++++++++++++++ .. contents:: [The HTML version of this Summary is available at http://www.python.org/dev/summary/2006-07-01_2006-07-15] ============= Announcements ============= ------------------- Python 2.5 schedule ------------------- Python continues to make progress towards Python 2.5 final. See `PEP 356`_ for more details and the full schedule. .. _PEP 356: http://www.python.org/dev/peps/pep-0356/ Contributing threads: - `TRUNK FREEZE for 2.5b2, tomorrow Tuesday 11th, 00:00 UTC `__ - `Subject: RELEASED Python 2.5 (beta 2) `__ - `TRUNK is UNFROZEN. `__ -------------------------- ctypes in the Python trunk -------------------------- Martin v. Lowis successfully imported the ctypes history into the Python trunk, so ctypes now shares its repository with the rest of Python. Thanks everyone for your hard work! Contributing threads: - `Moving the ctypes repository to python.org `__ - `Subversion outage Friday 15:00 GMT `__ - `SVN write access is back `__ - `Extended Subversion outage: Friday 16:40 GMT `__ ========= Summaries ========= ------------------------- Rebinding non-local names ------------------------- A bug in the Python trunk that allowed augmented assignment to rebind names in outer scopes initiated a new discussion about how to allow Python code to rebind non-local names, e.g.:: def counter(n=0): def increment(i=1): n += i # change the n in counter return n return increment Guido definitely didn't like the idea of introducing a new rebinding operator, e.g. ``:=`` or ``.=``. Phillip J. Eby suggested that a dot prefix to the name could indicate rebinding, e.g.:: def counter(n=0): def increment(i=1): .n += i return .n return increment Guido felt uncomfortable with this proposal because it would mean that in referencing a value the only difference between ``.NAME`` and ``NAME`` was whether or not the name was assigned to at another place in the same function. This ambiguity could be avoided by requiring all references to names in outer scopes to be prefixed by the dot, but that seemed like too large of a change for Python. There was also some discussion of trying to reuse the global keyword, but most folks felt that ``outer`` or ``nonlocal`` was a better name:: def counter(n=0): def increment(i=1): nonlocal n n += i return n return increment Guido requested a PEP on the subject, but at the time of this summary, none was available. Contributing threads: - `2.5 and beyond `__ - `Lexical scoping in Python 3k `__ - `Explicit Lexical Scoping (pre-PEP?) `__ -------------------------------------- Python and backwards incompatibilities -------------------------------------- A `complaint by Greg Black`_ about Python introducing backward incompatibilities started a long discussion about how Python developers could stay in better touch with existing user code. Greg Black's code had relied on undocumented behavior in time.strftime() that had allowed zeros to be passed in as default values. When that behavior changed in Python 2.4, Greg's code (along with a number of other people's code) was broken. Python core didn't have any unittests for the behavior, so no tests started failing when the change was made. Glyph suggested adding a mechanism so that user projects could submit buildslaves to run their test suites when changes are made to Python. The goal here would be to identify any de facto coding standards that weren't tested for in Python's test suite. If a change to Python caused major projects like Twisted or Zope to start failing dramatically, that change should be reconsidered even if it didn't break any documented behavior. People generally thought this was a great idea, particularly since it might catch some of these changes earlier than alpha or beta releases. There was also some concern that the Python 2.5 release cycle had been sped up too much and users hadn't had enough time to report errors. However, adding more beta releases (which seemed to be the major suggestion) also adds more work for release managers and requires more schedule coordination so that all the release managers can be available. People also had the mistaken impression that the trunk of Python was not so stable, particularly because they had assumed that non-green buildbots meant an unusable Python. In general, non-green buildbots typically mean that some part of the test suite is failing, not that the interpreter could not be built. A.M. Kuchling suggested adding some of the `checkin policies discussion`_ to the release announcements to make this more obvious. .. _complaint by Greg Black: http://www.gbch.net/gjb/blog/software/discuss/python-sucks.html .. _checkin policies discussion: http://www.python.org/dev/tools/ Contributing threads: - `User's complaints `__ - `changing time.strftime() to accept 0s (was: User's complaints) `__ - `Community buildbots (was Re: User's complaints) `__ - `Community buildbots `__ ------------------------------ Restricted execution in Python ------------------------------ Discussion continued on Brett Cannon's PhD thesis aimed at adding restricted execution to Python. Instead of trying to cripple objects like ``file``, a number of people suggested making ``file()`` and ``open()`` return different objects in restricted mode. This would require separating out some capabilities, so that, for example, a file-like object could be returned that didn't support writing. Michael Chermside suggested implementing a new type in C that stores its data privately, and requires the user to provide access-checking functions in order to make the private data visible. That way you could implement new access restrictions from pure Python code, by simply creating appropriate instances of the new type. Ka-Ping Yee asked about protecting one piece of Python code from another, but Guido and Brett suggested that the virtual machine probably couldn't provide such barriers. Brett's current progress is available in the bcannon-sandboxing branch. Contributing threads: - `For sandboxing: alternative to crippling file() `__ - `doc for new restricted execution design for Python `__ - `branch for sandox work created: bcannon-sandboxing `__ - `In defense of Capabilities [was: doc for new restricted execution design for Python] `__ - `what can we do to hide the 'file' type? `__ - `Restricted execution: what's the threat model? `__ - `Capabilities / Restricted Execution `__ - `second draft of sandboxing design doc `__ --------------------------------- Getting the current thread frames --------------------------------- Tim Peters snuck in a late feature, ``sys._current_frames()`` which returns a dict mapping each thread's id to that thread's current Python frame. Some people wanted to expose ``head_mutex`` instead to avoid introducing a new function, but that may not exist, depending on the build type. Given that Zope had been trying to emulate something like this for a while, it's impossible to do correctly in an extension module because the appropriate internals are not available, and it's essential for debugging deadlocks, the feature was eventually approved and checked in. Contributing thread: - `"Missing" 2.5 feature `__ -------------------- Time-out in URL Open -------------------- Facundo Batista asked about adding a timeout argument to ``urllib2.urlopen()``. People generally liked the idea, but since it would be a new feature, it would have to wait until Python 2.6. There was an `existing patch` modifying httplib, ftplib, telnetllib, poplib and smtplib in this way, but it needed updating for Python 2.6. .. _existing patch: http://bugs.python.org/723312 Contributing thread: - `Time-out in URL Open `__ ------------------------------------------- zlib module build failure on Mac OSX 10.4.7 ------------------------------------------- Skip Montanaro had some trouble building the zlib module from Python trunk on Mac OSX. Turns out he had an old static libz.a on the path, and that was getting found instead of the newer dynamic library. Ronald Oussoren checked in a patch to configure that should correctly set HAVE_ZLIB_COPY even if there is an old static library sitting around. At the same time, he suggested that maybe '-Wl,-search_path_first' should be added to the default LDFLAGS on OSX so that the OSX linker doesn't look for a dylib anywhere on the path before looking for a static library. Contributing thread: - `zlib module build failure on Mac OSX 10.4.7 `__ -------------------------------- Command line args in Python 3000 -------------------------------- Greg Ewing suggested that ``sys.argv`` could be split into the program name (``sys.argv[0]``) and the arguments (``sys.argv[1:]``). People liked this idea, and pointed out that it would be handy when there's no real program name, e.g. when exec is used with an inode number as is possible on some Unices. This was also accompanied by a discussion about splitting sys into more coherent subsets, e.g. immutable and mutable objects. Guido asked for people to hold off on this discussion until Brett had a clearer idea what pieces would need to be split off for restricted execution. Contributing thread: - `Handling of sys.args (Re: User's complaints) `__ -------------------------- Import semantics in Jython -------------------------- Jython had been following the Java convention that sub-packages were imported when their parent package was imported. Guido had suggested that at least Python packages in Jython should import with the standard Python semantics. During this fortnight, Guido checked back in with the Jython folks to see if they'd made their mind up about this. Frank Wierzbicki, the new maintainer for Jython, said that he won't have a chance to fix this until after Jython 2.3 is out, but both he and Samuele Pedroni suggested that it was a change that needed to be made. Contributing thread: - `Import semantics `__ ----------------------------------------------- ImportWarnings for directories without __init__ ----------------------------------------------- After the substantial discussion last fortnight on whether or not warnings should be issued if a directory was not imported because it was missing an __init__.py file, Anthony Baxter suggested that the best course of action was to suppress the ImportWarning by default, and allow users to unsuppress it in their sitecustomize.py file. Contributing threads: - `ImportWarning flood `__ - `ImportWarning decision `__ ----------------------------------- Putting doctest code into footnotes ----------------------------------- Benji York posted a `patch for doctest`_ that teaches doctest about ReST-style footnotes so that you can write documentation like:: After initializing the system [#init]_ it is possible to retrieve status information: >>> system.status() 'good to go' [snip some of the doctest] .. [#init] Initialize the system: >>> system = System() >>> system.init() People liked the idea, and Benji promised to update the patch for the 2.5 version of doctest. .. _patch for doctest: http://tinyurl.com/nekam Contributing thread: - `Doctest and Footnotes `__ ------------------------------- Using urllib.quote with unicode ------------------------------- Stefan Rank pointed out that ``urllib.quote()`` fails with a strange KeyError on unicode stings. He suggested either raising a TypeError or automatically encoding to UTF-8 as suggested in http://www.w3.org/International/O-URL-code.html. John J Lee pointed questioned whether this was generally accepted as the Right Thing, given `RFC 2617`_, `RFC 2616`_ and the recent discussion about a `uriparse module`_. In the end, people seemed to agree that the safest thing would be to raise an exception. .. _RFC 2617: http://www.ietf.org/rfc/rfc2617.txt .. _RFC 2616: http://www.ietf.org/rfc/rfc2616.txt .. _uriparse module: http://www.python.org/dev/summary/2006-06-01_2006-06-15/#rfc-3986-uniform-resource-identifiers-uris Contributing thread: - `urllib.quote and unicode bug resuscitation attempt `__ ----------------------------------- Borderline cases for ints and longs ----------------------------------- Neil Schemenauer asked if -2147483648 (``-sys.maxint - 1``)should be an int or a long. In Python 2.4 it was an int, but in the trunk, it was a long. Tim Peters explained that -2147483648 is not actually an int literal -- it is a long literal with a unary minus. Nonetheless, practicality beat purity, and Neal Norwitz and Neil Schemenauer put together a fix to make it an int again. You can still defeat the patch with something like ``eval('-(%s)' % str(-sys.maxint - 1)[1:])``, but no one seemed too worried about that. Contributing thread: - `Unary minus bug `__ --------------------------------- Adding list.get() and tuple.get() --------------------------------- Russell E. Owen asked about adding a ``.get()`` method to lists and tuples that would return a default value if the index was out of range. Most people seemed to think that wanting such a method was a bad code smell and Raymond Hettinger suggested that it could be replaced in Python 2.5 with a simple ``seq[i] if len(seq) > i else default``. Contributing thread: - `get for lists and tuples? `__ ----------------------------- Adding a __dir__ magic method ----------------------------- Tomer Filiba suggested adding a ``__dir__()`` magic method that would be called by ``dir()``. The default one on ``object`` would do the normal search through ``__dict__`` and the superclasses, and subclasses of ``object`` could override this to add attributes that are harder to find, e.g. pseudo-attributed implemented through ``__getattr__``. Everyone liked the idea and Guido said it could be added for Python 2.6. Contributing thread: - `introducing __dir__? `__ ----------------------------------------------------- pydoc support for attributes defined with PyGetSetDef ----------------------------------------------------- Barry Warsaw pointed out that pydoc couldn't handle attributes defined with PyGetSetDef because there was no corresponding type in the types module. He found a similar problem with "member_descriptor" types like ``datetime.timedelta.days``. The latter was particularly a problem because the datetime module was not importable in the types module because the types module is imported before the platform-specific extension module directory is on sys.path. He suggested a `fix for pydoc`_ that would introduce a _types module coded in C that could make the appropriate types available. .. _fix for pydoc: http://bugs.python.org/1520294 Contributing thread: - `Support for PyGetSetDefs in pydoc `__ ================ Deferred Threads ================ - `Python Style Sheets ? Re: User's complaints `__ ================== Previous Summaries ================== - `Cleanup of test harness for Python `__ - `PEP 328 and PEP 338, redux `__ - `Empty Subscript PEP on Wiki - keep or toss? `__ - `More Switch: Explicit freezing `__ - `Proposal to eliminate PySet_Fini `__ - `Switch and static, redux `__ =============== Skipped Threads =============== - `traceback regression `__ - `sys.settrace() in Python 2.3 vs. 2.4 `__ - `Bug in stringobject? `__ - `weakattr `__ - `how long to wait for expat to incorporate a fix to prevent a crasher? `__ - `LOAD_CONST POP_TOP `__ - `Another 2.5 bug candidate? `__ - `DRAFT: python-dev summary for 2006-06-01 to 2006-06-15 `__ - `Proposed beta 2 changes (Q for Anthony/Neal) `__ - `2.5b1 Windows install `__ - `Patch for commands.py to provide callback `__ - `import screwiness `__ - `zipfile.ZipFile('foo.zip', 'a'): file not found -> create? `__ - `Musings on concurrency and scoping ("replacing" Javascript) `__ - `About a month until PSF call for test trackers closes! `__ - `test_ctypes failure on Mac OS X/PowerPC 10.3.9 (Panther) `__ - `[slighly OT] Native speakers and hurting brains `__ - `exception too expensive? `__ - `Weekly Python Patch/Bug Summary `__ - `xml issue in 2.5 `__ - `Fix for Lib/test/leakers/test_gestalt.py `__ - `Discussion on Lib/test/crashers/ `__ - `Add new PyErr_WarnEx() to 2.5? `__ - `Klocwork analysis of source if we want it `__ - `easy_install `__ - `subprocess.CalledProcessError.errno (#1223937) `__ - `Minor: Unix icons for 2.5? `__ - `PEP 356: python.org/sf/1515343 resolution `__ - `Autoloading? (Making Queue.Queue easier to use) `__ - `Long options support `__ - `Behavior change in subprocess.py `__ - `Proposal: Add Sudoku Solver To The "this" Module `__ - `The buffer() function `__ - `Partial support for dlmodule.c in 64-bits OSes `__ - `IDLE - firewall warning `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from July 01, 2006 through July 15, 2006. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This python-dev summary is the 8th written by Steve Bethard. To contact me, please send email: - Steve Bethard (steven.bethard at gmail.com) Do *not* post to comp.lang.python if you wish to reach me. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at 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`_! ------------------------- How to Read the Summaries ------------------------- That this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. .. _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 .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From steven.bethard at gmail.com Tue Aug 15 07:32:16 2006 From: steven.bethard at gmail.com (steven.bethard at gmail.com) Date: Tue, 15 Aug 2006 05:32:16 +0000 (GMT) Subject: python-dev Summary for 2006-07-16 through 2006-07-31 Message-ID: <20060815053721.4256A1E400A@bag.python.org> python-dev Summary for 2006-07-16 through 2006-07-31 ++++++++++++++++++++++++++++++++++++++++++++++++++++ .. contents:: [The HTML version of this Summary is available at http://www.python.org/dev/summary/2006-07-16_2006-07-31] ============= Announcements ============= ------------------- Python 2.5 schedule ------------------- After inserting a third beta release to allow some more time for testing the new features, Python continues to make progress towards the final Python 2.5 release. See `PEP 356`_ for more details and the full schedule. .. _PEP 356: http://www.python.org/dev/peps/pep-0356/ Contributing threads: - `outstanding bugs to fix for 2.5 `__ - `Py2.5 release schedule `__ ------------------------------- How to submit a patch to Python ------------------------------- Just a few reminders for all those still new to python-dev. When submitting a new patch to SourceForge, don't assign it to anyone. Most python developers get email notifications for new patches and will assign it to themselves if appropriate. If you feel like the approach the patch takes might need discussion, it's alright to present it to python-dev and ask for some feedback. If you do, be sure to put the patch number and url (e.g. http://bugs.python.org/) near the top of the message, so that developers can easily find it. And if you don't want to wait for your patch to be looked at (which may take some time as all developers are volunteers), a few of the folks here, including Martin v. Lowis, have offered a five-for-one deal. Simply find five other patches, and check them for things like: * Does the code look okay? * Does Python build with it applied? * Do all unit tests pass? * Does the patch have tests? * Does the patch have documentation? Then post your notes to the five patch trackers and post a final message to python-dev indicating the patches you reviewed and the patch which you'd like to have someone look at for you. Contributing threads: - `new guy `__ - `first draft of bug guidelines for www.python.org/dev/ `__ - `Patch submitted, now what? `__ ---------------------------------------- Demos of trackers to replace SourceForge ---------------------------------------- There are currently three potential trackers that have successfully imported the SourceForge data with demos online: roundup_, jira_ and launchpad_. Try 'em out, and send your discussions and comments to infrastructure at python.org and put your reports and reviews `on the wiki`_. .. _roundup: http://efod.se/python-tracker/ .. _jira: http://jira.python.atlassian.com/secure/Dashboard.jspa .. _launchpad: https://demo.launchpad.net/products/python/+bugs .. _on the wiki: http://wiki.python.org/moin/CallForTrackers Contributing thread: - `More tracker demos online `__ ========= Summaries ========= ------------------------------ Restricted execution in Python ------------------------------ Brett Cannon decided this fortnight to go for an all-out capabilities based restricted execution design, and posted a `new design document`_. As part of this work, Brett planned to rewrite most of the import machinery in pure Python code, hopefully cleaning up some of the idiosyncrasies of the current import.c mechanisms, and allowing him to do things like restrict imports to only .py files, not .pyc files. Armin Rigo pointed out that a good place to start would be the `PyPy import implementation`_. On the restricted execution front, one of the things that is now likely to happen in Brett's sandboxing branch is that ``object.__subclasses__()`` and dangerous constructors like the one for the code object will be completely removed from the Python level. This means a few backwards incompatible changes, but Brett suggested that they should only break pretty advanced and esoteric Python code. Since it's for his Ph.D. dissertation, he didn't want to tie his hands by requiring full backwards compatibility, and he was fine with waiting to merge his branch until Python 3000. .. _new design document: http://svn.python.org/view/python/branches/bcannon-sandboxing/securing_python.txt .. _PyPy import implementation: http://codespeak.net/svn/pypy/dist/pypy/module/__builtin__/importing.py Contributing threads: - `Capabilities / Restricted Execution `__ - `new security doc using object-capabilities `__ -------------------------- Character case and locales -------------------------- Mihai Ibanescu asked about a `bug in the logging module`_ due to the fact that ``'INFO'.lower() != 'info'`` in some locales. Marc-Andre Lemburg and Martin v. Lowis explained that since in Unicode, nearly all case-conversions are only script-dependent, not language-dependent, ``u'INFO'.lower() == u'info'`` should always be true. .. _bug in the logging module: http://bugs.python.org/1524081 Contributing thread: - `logging module broken because of locale `__ ----------------------------------------------- Progress on the C version of the decimal module ----------------------------------------------- After looking at the current progress in converting the decimal module to C, Raymond Hettinger suggested that rather than using the Python implementation as an outline of the C implementation, a separate C implementation should be developed and then later wrapped as necessary to provide the Python APIs. Tim Peters explained their incremental approach: leaving most of the module written in Python, and converting methods to C code one at a time. Raymond had originally supported this approach, but after viewing the current C code, thought that it would result in C code that was too complex and convoluted. There was some extended discussion on the mechanism in the current decimal module for holding flags, which uses a dict mapping error types to the counts of their occurrences. Raymond in particular wanted the C decimal module to be able to change this API if it was too complex to implement. A number of others agreed that the API had been a bad decision, and it looked like there would at least be a note in the documentation for Python 2.5 suggesting that users should not rely on the counting feature. Contributing thread: - `Strategy for converting the decimal module to C `__ --------------------------------------- PEP 357: Integer clipping and __index__ --------------------------------------- Armin Rigo pointed out that the current implementation of ``__index__()`` was incorrectly truncating long integers:: >>> (2**100).__index__() 2147483647 As the original ``__index__()`` method was intended only to allow things other than plain Python ints as slice indices, truncating to the maximum value was fine. However, when ``__index__()`` also became the "can you faithfully act like an integer" check, this truncation was no longer acceptable. Nick Coghlan spent some time reworking the `PEP 357`_ C API so that all the use cases of ``__index__()`` were covered. His `patch for fixing __index__`_ changes the nb_index slot to return a PyInt or PyLong instead of a C int, and introduces the C API functions PyNumber_Index, PyNumber_AsSsize_t and PyNumber_AsClippedSsize_t(), all of which have an output variable signifying whether or not the object they received had an ``__index__`` method. .. _PEP 357: http://www.python.org/dev/peps/pep-0357/ .. _patch for fixing __index__: http://bugs.python.org/1530738 Contributing thread: - `Bad interaction of __index__ and sequence repeat `__ -------------------------------------------------------- PEP 302: Non-importer objects on sys.path_importer_cache -------------------------------------------------------- Phillip J. Eby asked about how to best fix the non-PEP-302 compliant changes to the import machinery made by the Need for Speed Sprint. `PEP 302`_ indicates that everything on sys.path_importer_cache should be either None or a valid importer object, but the Need for Speed changes added True and False values to that as well. After getting approval to make the appropriate changes necessary to stay PEP-302-compliant, Phillip added ``imp.NullImporter`` to replace False values, and kept ``None`` to mean that the builtin import machinery should be used. .. _PEP 302: http://www.python.org/dev/peps/pep-0302/ Contributing threads: - `Undocumented PEP 302 protocol change by need-for-speed sprint `__ - `Release manager pronouncement needed: PEP 302 Fix `__ --------------------------------------------------------------- Running the test suites of user projects when Python is updated --------------------------------------------------------------- Grig Gheorghiu volunteered to do some of the work to get community buildbots running, that is, buildbots running the test suites of Python user projects whenever the Python core repository was updated. People were quite enthusiastic and Martin v. Lowis offered to set up a post-commit hook on the python repository to trigger a build on Grig's buildbots if necessary. Contributing threads: - `Community buildbots `__ - `Community buildbots (was Re: User's complaints) `__ - `Community buildbots -- reprise `__ -------------------------------------- Safe dumper/loader using Python syntax -------------------------------------- Sylvain Fourmanoit presented his miniconf_ module which is a safe and cross-version dumper/loader for simple objects using the Python syntax. People generally liked the module, and Phillip J. Eby helped Sylvain clean up the implementation a bit. There was some discussion of including it in the Python 2.6 stdlib and perhaps Bob Ippolito's simplejson_ module alongside it. .. _miniconf: http://cheeseshop.python.org/pypi?:action=display&name=miniconf .. _simplejson: http://undefined.org/python/#simplejson Contributing threads: - `New miniconf module `__ - `JSON implementation in Python 2.6 `__ ------------------------------- Programmatically sending Ctrl-C ------------------------------- In testing his `patch to make sockets and Ctrl-C play nicely`_, Tony Nelson found that he needed a portable way to send a Ctrl-C-like signal. For Unix, he was using ``signal.alarm``, but was wondering if there was a way to get something similar on Windows. Martin v. Lowis pointed out GenerateConsoleCtrlEvent, but also noted that this would send the Ctrl-C to all processes. In the end, Tony decided to punt on Windows, and just stick with the Unix tests. .. _patch to make sockets and Ctrl-C play nicely: http://bugs.python.org/1519025 Contributing threads: - `Socket Timeouts patch 1519025 `__ - `Testing Socket Timeouts patch 1519025 `__ ------------------------------------------ Documenting performance of container types ------------------------------------------ Neal Becker asked about documentation the performance of the basic Python container types, e.g. that lookup in a dict is O(1) and deletion from the beginning of a list is O(N). A number of people agreed that having such information would be helpful, but there was some concern that Guido should be the one to decide what performances guarantees were made by the language, and not just the CPython implementation. The discussion trailed off before any final decisions on how to update the documentation were made. Contributing thread: - `Document performance requirements? `__ --------------------------- Running the uuid test suite --------------------------- Georg Brandl fixed a bug that was causing the new uuid module's test suite not to run at all. The resulting tests indicated a number of problems in determining a MAC address. Neal Norwitz patched the uuid module so that it should work at least on Linux, Tru64, Solaris, and HP-UX, and Tim Peters patched it so that test_uuid no longer thinks that the uuid module knows multiple ways of getting a well-defined MAC address (which it doesn't on Windows). Contributing threads: - `uuid test suite failing `__ - `how about adding ping's uuid module to the standard lib ? `__ - `Another uuid problem `__ - `test_uuid `__ ------------------------------------ CPython and checking for NULL values ------------------------------------ Neal Norwitz took a look at some of the issues raised by the automatic analysis of Python's source code offered by Klocwork_. There was a fairly long discussion around a Py_XINCREF of a variable that was required by the documentation to be non-NULL (and thus the "X" is unnecessary). There was some suggestion of trying to check for NULL values anyway, but the rest of Python doesn't do such checks. .. _Klocwork: http://www.klocwork.com/ Contributing thread: - `remaining issues from Klocwork static analysis `__ --------------------------------------------- Excluding certain constructs from Python code --------------------------------------------- Boris Borcic suggested that to make changing version of Python easier, style sheets should be introduced such that you could allow or disallow particular constructs that you liked or didn't like. People thought this was generally a very bad idea as it would essentially introduce a bunch of language variants, and coders might not be able to read each others' source code without first applying the appropriate transformation. Contributing threads: - `Python Style Sheets ? Re: User's complaints `__ - `Python Style Sheets ? Re: User's complaints `__ --------------------------------------------------------- Making attributes with leading single underscores private --------------------------------------------------------- David Hopwood proposed enforcing the `PEP 8`_ convention that attributes with a single underscore are private to that object. His approach revolved around allowing only the first argument of a function to access attributes starting with '_', but Armin Rigo and others felt that this was not likely to be enforceable, giving an example where subclassing allowed access to supposedly private attributes. People generally felt that without an implementation to back up the proposal, there wasn't much to discuss. .. _PEP 8: http://www.python.org/dev/peps/pep-0008/ Contributing thread: - `Internal namespace proposal `__ ----------------------------------- Loading module attributes on demand ----------------------------------- In order to reduce the memory consumption of GTK+ applications written in Python, Johan Dahlin was looking into dynamically generating module attributes so that they would only be loaded when the application actually accessed them. He was able to produce this behavior by subclassing ModuleType, overridding __getattribute__, and then putting this object onto sys.path, but he felt like this was kind of a hackish solution. Phillip J. Eby pointed out the importing_ package and said that the __getattribute__ approach was generally okay, though it would cause problems for pydoc and inspect which don't handle subclasses of ModuleType well. Andrew Bennetts pointed out mercurial's demandload_ which allows modules to be imported on demand, but this didn't really solve Johan's problem because all attributes of the modules themselves were still imported at the same time. .. _importing: http://cheeseshop.python.org/pypi/Importing .. _demandload: http://selenic.com/repo/hg?f=cb4715847a81;file=mercurial/demandload.py Contributing thread: - `Dynamic module namspaces `__ ------------------------------- Improving the Python test suite ------------------------------- Matt Fleming has put together `a wiki page`_ indicating the tests that are currently missing from Python's test suite, as well as the tests that are incomplete. He plans on working his way through the list when he gets some time, but help for any of the tests is quite welcome. .. _a wiki page: http://wiki.python.org/moin/ImprovingLibTests Contributing thread: - `Improving unit tests for the standard library `__ ---------------------------------- Improving the Python documentation ---------------------------------- Georg Brandl, referring to `bug 469773`_, suggested that python gain a "Using Python" page containing the man page and how to invoke the interpreter. He also suggested that creating a list of frequently needed documentation sections that are hard to find for newbies could go a long way towards making the Python documentation more user-friendly. .. _bug 469773: http://bugs.python.org/469773 Contributing thread: - `Using Python docs `__ ================ Deferred Threads ================ - `struct module and coercing floats to integers `__ - `Rounding float to int directly (Re: struct module and coercing floats to integers) `__ ================== Previous Summaries ================== - `Support for PyGetSetDefs in pydoc `__ =============== Skipped Threads =============== - `Problem with super() usage `__ - `Pronouncement on SF #1520294 sought `__ - `I have submitted a patch that implement IrDA socket support . `__ - `User's complaints `__ - `Pickling objects that return string from reduce `__ - `[Python-checkins] r50708 - in python/trunk: Lib/test/test_sys.py Misc/NEWS Python/pystate.c `__ - `Python sprint in NY and CA, Aug. 21-24 `__ - `Weekly Python Patch/Bug Summary `__ - `os.utime and os.chmod failures (etc) Python 2.5b2 `__ - `FW: Bug? Certainly a new *behavior* from subprocess in 2.5 on Win32 `__ - `Behavior change in subprocess.py `__ - `segfault when using PyGILState_Ensure/Release in Python2.3.4 `__ - `Ireland PyPy sprint 21th-27th August 2006 `__ - `Python 2.4, VS 2005 & Profile Guided Optmization `__ - `Python sprint in Arlington July 29/30 `__ - `setup.py and cross-compiling `__ - `2.5: uses of sys.exc_type, exc_value `__ - `[Windows, buildbot] kill_python.c mystery `__ - `patch for mbcs codec (again) `__ - `Which version of distutils to ship with Python 2.5? `__ - `Patch for building ctypes on more OpenBSD target platforms `__ - `Release manager: pdb bugfix incompatibility `__ - `patching pydoc? `__ - `Fwd: patching pydoc? `__ - `Patch Against shutil.copytree Bug `__ - `httplib and bad response chunking `__ - `cgi.FieldStorage DOS (sf bug #1112549) `__ - `Eliminating loops `__ ======== Epilogue ======== This is a summary of traffic on the `python-dev mailing list`_ from July 16, 2006 through July 31, 2006. It is intended to inform the wider Python community of on-going developments on the list on a semi-monthly basis. An archive_ of previous summaries is available online. An `RSS feed`_ of the titles of the summaries is available. You can also watch comp.lang.python or comp.lang.python.announce for new summaries (or through their email gateways of python-list or python-announce, respectively, as found at http://mail.python.org). This python-dev summary is the 9th written by Steve Bethard. To contact me, please send email: - Steve Bethard (steven.bethard at gmail.com) Do *not* post to comp.lang.python if you wish to reach me. The `Python Software Foundation`_ is the non-profit organization that holds the intellectual property for Python. It also tries to advance the development and use of Python. If you find the python-dev Summary helpful please consider making a donation. You can make a donation at http://python.org/psf/donations.html . Every cent counts so even a small donation with a credit card, check, or by PayPal helps. -------------------- Commenting on Topics -------------------- To comment on anything mentioned here, just post to `comp.lang.python`_ (or email python-list at 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`_! ------------------------- How to Read the Summaries ------------------------- That this summary is written using reStructuredText_. Any unfamiliar punctuation is probably markup for reST_ (otherwise it is probably regular expression syntax or a typo :); you can safely ignore it. We do suggest learning reST, though; it's simple and is accepted for `PEP markup`_ and can be turned into many different formats like HTML and LaTeX. .. _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 .. _c.l.py: .. _comp.lang.python: http://groups.google.com/groups?q=comp.lang.python .. _PEP Markup: http://www.python.org/peps/pep-0012.html .. _Docutils: http://docutils.sf.net/ .. _reST: .. _reStructuredText: http://docutils.sf.net/rst.html .. _PSF: .. _Python Software Foundation: http://python.org/psf/ .. _archive: http://www.python.org/dev/summary/ .. _RSS feed: http://www.python.org/dev/summary/channews.rdf From python-url at phaseit.net Tue Aug 15 20:50:42 2006 From: python-url at phaseit.net (Jack Diederich) Date: Tue, 15 Aug 2006 18:50:42 +0000 (UTC) Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Aug 15) Message-ID: QOTW: "Consider changing your business plan: write crappy software, charge heaps for support -- it's not a novel idea" - John Machin "To make it run fast, use psyco. To make it even faster, implement the compare function in C." - Raymond Hettinger A Perl convert gladly announces his conversion but misses CPAN: http://groups.google.com/group/comp.lang.python/browse_thread/thread/f12a260f3fdc45e3/ Can you obscure python code? Sure, but if you didn't bother to read the FAQ what makes you think someone will bother to read your code? http://groups.google.com/group/comp.lang.python/browse_thread/thread/b4e08adec2d835f5/ Timbot exhaustively satisfies those with an interest in the details of not-a-number formats as Python knows them: http://groups.google.com/group/comp.lang.python/browse_thread/thread/5c2b4b2a88c8df4/ Alex Martelli provides a recipe for a model embedding of Python in C (or C++) which culminates in passing dictionary values between the two languages (as well as an accurate summary of the dead-trees literature of interest to newcomers): http://groups.google.com/group/comp.lang.python/browse_thread/thread/ab5367982b59b564/ David Mertz is not dead he's just writing on Developerworks instead of c.l.py: http://www.ibm.com/developerworks/blogs/page/davidmertz Releases of Note SQLAlchemy 0.2.7 "Python SQL toolkit and Object Relational Mapper" http://cheeseshop.python.org/pypi/SQLAlchemy/0.2.7 Yahoo! Developer Center, Python Edition. http://developer.yahoo.com/python/ Upcoming Community Events The 2007 Southern California Linux Expo specifically invites proposals for Python-related papers: http://groups.google.com/group/comp.lang.python/msg/36316f6227738fed Plone Conference 2006, October 25-27 (Seattle, Washington) http://plone.org/events/conferences/seattle-2006 Open Source Developers Conference Dec 5-8 (Melbourne, Australia) http://www.osdc.com.au/ ======================================================================== 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. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon 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/ 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/python/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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.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/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& 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 There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. 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!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From mmueller at python-academy.de Tue Aug 15 23:58:41 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Tue, 15 Aug 2006 23:58:41 +0200 Subject: Abstracts - Leipzig Python Workshop Message-ID: <7.0.1.0.0.20060815235451.01d01980@python-academy.de> The abstracts of the presentations are now available at: http://www.python-academy.de/workshop/programm.html The presentation titles are links to the abstracts. === Workshop "Python im deutschsprachigen Raum" === Die Kurzfassungen der Vortr?ge sind jetzt verf?gbar unter: http://www.python-academy.de/workshop/programm.html Die Vortragstitel sind die Links zu den Texten. === Workshop-Details === Am 8. September 2006 findet in Leipzig der Workshop "Python im deutschsprachigen Raum" statt. Der Workshop ist als Erg?nzung zu den internationalen und europ?ischen Python-Zusammenk?nften gedacht. Die Themenpalette der Vortr?ge ist sehr weit gefasst und soll alles einschlie?en, was mit Python im deutschsprachigen Raum zu tun hat. Eine ausf?hrliche Beschreibung der Ziele des Workshops, der Workshop-Themen sowie Details zu Organisation und Anmeldung sind unter http://www.python-academy.de/workshop nachzulesen. === Wichtige Termine === 15.08.2006 Letzter Termin f?r Fr?hbucherrabatt 08.09.2006 Workshop 15.09.2006 Letzter Termin f?r die Einreichung der publikationsf?higen Beitr?ge Dezember 2006 Ver?ffentlichung des Tagungsbandes === Bitte weitersagen === Der Workshop soll auch Leute ansprechen, die bisher nicht mit Python arbeiten. Wer mithelfen m?chte den Workshop bekannt zu machen, kann einen Link auf http://www.python-academy.de/workshop setzen. Auch au?erhalb des Internets kann der Workshop durch den Flyer http://www.python-academy.de/download/programm.pdf bekannt gemacht werden. Einfach doppelseitig ausdrucken oder kopieren und ein paar Exemplare am Schwarzen Brett von Universit?ten, Firmen, Organisationen usw. aush?ngen. Wir freuen uns auf eine rege Teilnahme, Mike M?ller Stefan Schwarzer From anthony at python.org Thu Aug 17 16:17:38 2006 From: anthony at python.org (Anthony Baxter) Date: Fri, 18 Aug 2006 00:17:38 +1000 Subject: RELEASED Python 2.5 (release candidate 1) Message-ID: <200608180017.52057.anthony@python.org> On behalf of the Python development team and the Python community, I'm happy to announce the first RELEASE CANDIDATE of Python 2.5. This is not yet the final release - it is not suitable for production use. It is being released to solicit feedback and hopefully expose bugs, as well as allowing you to determine how changes in 2.5 might impact you. As a release candidate, this is one of your last chances to test the new code in 2.5 before the final release. *Please* try this release out and let us know about any problems you find. In particular, note that changes to improve Python's support of 64 bit systems might require authors of C extensions to change their code. More information (as well as source distributions and Windows and Universal Mac OSX installers) are available from the 2.5 website: http://www.python.org/2.5/ As of this release, Python 2.5 is now in *feature freeze*. Unless absolutely necessary, no functionality changes will be made between now and the final release of Python 2.5. The plan now is to let the release candidate shake out any last-minute bugs in Python 2.5, leading to a 2.5 final release in early September. PEP 356 includes the schedule and will be updated as the schedule evolves. At this point, any testing you can do would be greatly, greatly appreciated. The new features in Python 2.5 are described in Andrew Kuchling's What's New In Python 2.5. It's available from the 2.5 web page. Amongst the language features added include conditional expressions, the with statement, the merge of try/except and try/finally into try/except/finally, enhancements to generators to produce a coroutine kind of functionality, and a brand new AST-based compiler implementation. New modules added include hashlib, ElementTree, sqlite3, wsgiref, uuid and ctypes. In addition, a new profiling module cProfile was added. Enjoy this new release, Anthony Anthony Baxter anthony at 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: 191 bytes Desc: not available Url : http://mail.python.org/pipermail/python-announce-list/attachments/20060818/a331c29d/attachment.pgp From grig.gheorghiu at gmail.com Thu Aug 17 17:31:34 2006 From: grig.gheorghiu at gmail.com (Grig Gheorghiu) Date: 17 Aug 2006 08:31:34 -0700 Subject: ANN: Pybots -- Python Community Buildbots Message-ID: <1155828694.179737.16390@m73g2000cwd.googlegroups.com> The idea behind the Pybots project (short for "Python Community Buildbots") is to allow people to run automated tests for their Python projects, while using Python binaries built from the very latest source code from the Python subversion repository. The idea originated from Glyph, of Twisted fame. He sent out a message to the python-dev mailing list (thanks to John J. Lee for bringing this message to my attention), in which he said: "I would like to propose, although I certainly don't have time to implement, a program by which Python-using projects could contribute buildslaves which would run their projects' tests with the latest Python trunk. This would provide two useful incentives: Python code would gain a reputation as generally well-tested (since there is a direct incentive to write tests for your project: get notified when core python changes might break it), and the core developers would have instant feedback when a "small" change breaks more code than it was expected to." Well, Neal Norwitz made this happen by setting up a buildmaster process on one of the servers maintained by the PSF. He graciously allowed me to maintain this buildmaster, and I already added a buildslave which runs the Twisted unit tests (in honor of Glyph, who was the originator of this idea) every time a check-in is made in the Python trunk or in the 2.5 branch. You can see the buildmaster's status page here: http://www.python.org/dev/buildbot/community/all/ I strongly encourage you to contribute to the Pybots project by setting up a buildslave for your project. I'll post another entry with instructions on how to configure a buildslave so that it can be coordinated by the Pybots buildmaster. I also have a mailing list (thanks, Titus!) for people who are interested in this project: http://lists2.idyll.org/listinfo/pybots Please send a message to the pybots list, and I'll respond to you. See also my blog post here for pretty much the same information as in this message, but with more links: http://agiletesting.blogspot.com/2006/08/pybots-python-community-buildbots.html Thanks, Grig Gheorghiu From vasudevram at gmail.com Sat Aug 19 15:38:44 2006 From: vasudevram at gmail.com (vasudevram) Date: 19 Aug 2006 06:38:44 -0700 Subject: Packt published an article about xtopdf - creating PDF from Plain Text, DBF, CSV, TDV, and XLS Data Message-ID: <1155994724.176961.181050@i42g2000cwa.googlegroups.com> Hi group, This is an article I wrote for Packt Publishing - http://www.packtpub.com : Using xtopdf, a PDF creation toolkit - http://www.packtpub.com/article/Using_xtopdf It shows how to use xtopdf - http://sourceforge.net/projects/xtopdf - to create PDF from plain text, DBF, CSV, TDV and XLS data. Use of both command-line and the GUI tools in xtopdf is covered. xtopdf is written in Python and requires the ReportLab toolkit. The GUI tools are written in wxPython - http://www.wxpython.org. Enjoy Vasudev Ram ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Software consulting and training http://www.dancingbison.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From philipp at weitershausen.de Sat Aug 19 16:37:45 2006 From: philipp at weitershausen.de (Philipp von Weitershausen) Date: Sat, 19 Aug 2006 16:37:45 +0200 Subject: Zope 3.3.0 beta 2 released! Message-ID: <44E72239.8050501@weitershausen.de> The Zope 3 development team is proud to announce Zope 3.3.0 beta 2. Zope 3 is the next major Zope release and has been written from scratch based on the latest software design patterns and the experiences of Zope 2. Cleanup of the Zope 3 packages has continued to ensure a flexible and scalable platform. We continued the work on making the transition from Zope 2 to Zope 3 by making Zope 2.10 use even more of the Zope 3 packages. But we're not there yet. **You can't run Zope 2 applications in Zope 3.** Downloads --------- http://zope.org/Products/Zope3 Installation instructions for both Windows and Un*x/Linux are now available in the top level README.txt file of the distribution. The binary installer is recommended for Windows. Zope 3.3 requires Python 2.4.1 to run. You must also have zlib installed on your system. Most Important Changes Since Zope 3.2 ------------------------------------- - Provided a new component registry API that allows multiple component registries to be combined more flexibly than before. See 'zope.component.interfaces.IComponentRegistry' for more information. - Greatly simplified local-component registration. See 'zope.component.interfaces.IComponentRegistry' for more information. - Moved many packages out of zope.app to make them easier to use outside of Zope. - Change the session credentials plugin to make it configurable in which fields it looks for the credentials. - Added a new API for collating text. You can now adapt a locale to 'zope.i18n.interfaces.ILocales.ICollator'. You can then use that to sort strings, such as menu entries, in a locale-specific fashion. - A new 'zope.annotation.factory' helper function that makes it easier to create annotations. Also added a README in 'zope.annotation' which explains how to use it. - Added a more complete set of widgets for fields that use iterable sources. These widgets now mirror the set provided by vocabulary-based fields. - Added a cleaner and more robust API to testbrowser for setting file-upload data. - Deprecated several ZCML directives: * factory * vocabulary * content (as an alias to the class directive) * modulealias * renderer:renderer - The 'browser:layer' directive and the 'ILayer' interface has been deprecated. Registering layers has become obsolete, layers should be created as interfaces extending 'IBrowserRequest'. - The 'browser:skin' directive has been deprecated. Skins should be created as interfaces extending 'IBrowserRequest' and can be registered using a simple 'utility' directive. - The 'ISkin' interface has been renamed to 'IBrowserSkinType'. For a complete list of changes see the 'CHANGES.txt' file. Resources --------- - Zope 3 Development Web Site: http://dev.zope.org/Zope3 - Zope 3 Dev Mailing List: http://mail.zope.org/mailman/listinfo/zope3-dev - Zope 3 Users Mailing List: http://mail.zope.org/mailman/listinfo/zope3-users - IRC Channel: #zope3-dev at irc.freenode.net Acknowledgments --------------- Thanks goes to everyone that contributed. From levub137 at wi.rr.com Sat Aug 19 18:31:09 2006 From: levub137 at wi.rr.com (Raymond L. Buvel) Date: Sat, 19 Aug 2006 11:31:09 -0500 Subject: [ANN] clnum-1.3 Class Library For Numbers Python Binding Message-ID: <44E73CCD.8030904@wi.rr.com> The clnum package adds rational numbers and arbitrary precision floating point numbers in real and complex form to Python. Also provides arbitrary precision floating point replacements for the functions in the math and cmath standard library modules. Home page: http://calcrpnpy.sourceforge.net/clnum.html Changes in 1.3 * Added combinatorial functions. * Improved the performance of converting very large Python longs. From levub137 at wi.rr.com Sat Aug 19 18:33:19 2006 From: levub137 at wi.rr.com (Raymond L. Buvel) Date: Sat, 19 Aug 2006 11:33:19 -0500 Subject: [ANN] ratfun-2.3 Polynomials and Rational Functions Message-ID: <44E73D4F.4040004@wi.rr.com> The ratfun module provides classes for defining polynomial and rational function (ratio of two polynomials) objects. These objects can be used in arithmetic expressions and evaluated at a particular point. Home page: http://calcrpnpy.sourceforge.net/ratfun.html Note: If you are using rpncalc-1.2 or later, this module is already included. This release is for folks who don't want rpncalc. Changes in 2.3 * Update the included clnum package. * Improved the formatting of the string representation of a polynomial. * Polynomial and rational function evaluation now works with array inputs. From levub137 at wi.rr.com Sat Aug 19 18:34:47 2006 From: levub137 at wi.rr.com (Raymond L. Buvel) Date: Sat, 19 Aug 2006 11:34:47 -0500 Subject: [ANN] rpncalc-2.4 RPN Calculator for Python Message-ID: <44E73DA7.6070202@wi.rr.com> The rpncalc package adds an interactive Reverse Polish Notation (RPN) interpreter to Python. This interpreter allows the use of Python as an RPN calculator. You can easily switch between the RPN interpreter and the standard Python interpreter. Home page: http://calcrpnpy.sourceforge.net/ Changes in 2.4 * Update the included clnum package. * Added combinatorial functions. From mmueller at python-academy.de Sun Aug 20 19:31:24 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Sun, 20 Aug 2006 19:31:24 +0200 Subject: Early bird registration extended till end of August - Leipzig Python Workshop Message-ID: <7.0.1.0.0.20060820192250.01cdc848@python-academy.de> The early bird registration for the Leipzig Python workshop has been extended until August 31. There was little time between the late posting of the workshop program and the early bird deadline. In addition, we are in the middle of the vacation season, so some people might not been able to read the posting in time. Therefore, we like to give everybody the chance to profit from early bird rate again. === Workshop "Python im deutschsprachigen Raum" === Der letzte Termin f?r den Fr?hbucherabatt wurde auf den 31.08.2006 verschoben. Wegen der sp?teren Ver?ffentlichung des Workshop-Programms war nur wenig Zeit sich auf Grund des Programms f?r die Teilnahme zu entscheiden und den g?nstigeren Teilnahmebeitrag in Anspruch zu nehmen. Hinzu kommt, dass wir mitten in der Urlaubssaison sind und deshalb manch einer die Ank?ndigung erst sp?ter liest. Wir m?chten deshalb allen nochmal die M?glichkeit geben den Fr?hbucherabatt zu nutzen. === Workshop-Details === Am 8. September 2006 findet in Leipzig der Workshop "Python im deutschsprachigen Raum" statt. Der Workshop ist als Erg?nzung zu den internationalen und europ?ischen Python-Zusammenk?nften gedacht. Die Themenpalette der Vortr?ge ist sehr weit gefasst und soll alles einschlie?en, was mit Python im deutschsprachigen Raum zu tun hat. Eine ausf?hrliche Beschreibung der Ziele des Workshops, der Workshop-Themen sowie Details zu Organisation und Anmeldung sind unter http://www.python-academy.de/workshop nachzulesen. === Wichtige Termine === 31.08.2006 Letzter Termin f?r Fr?hbucherrabatt 08.09.2006 Workshop 15.09.2006 Letzter Termin f?r die Einreichung der publikationsf?higen Beitr?ge Dezember 2006 Ver?ffentlichung des Tagungsbandes === Bitte weitersagen === Der Workshop soll auch Leute ansprechen, die bisher nicht mit Python arbeiten. Wer mithelfen m?chte den Workshop bekannt zu machen, kann einen Link auf http://www.python-academy.de/workshop setzen. Auch au?erhalb des Internets kann der Workshop durch den Flyer http://www.python-academy.de/download/programm.pdf bekannt gemacht werden. Einfach doppelseitig ausdrucken oder kopieren und ein paar Exemplare am Schwarzen Brett von Universit?ten, Firmen, Organisationen usw. aush?ngen. Wir freuen uns auf eine rege Teilnahme, Mike M?ller Stefan Schwarzer From xi at gamma.dn.ua Sun Aug 20 20:40:37 2006 From: xi at gamma.dn.ua (Kirill Simonov) Date: Sun, 20 Aug 2006 21:40:37 +0300 Subject: [ANN] PyYAML-3.04: YAML parser and emitter for Python Message-ID: <20060820184037.GA5119@58sirius016.dc.ukrtel.net> ======================== Announcing PyYAML-3.04 ======================== A new release of PyYAML, featuring LibYAML bindings and support for recursive structures, is now available: http://pyyaml.org/wiki/PyYAML Changes ======= * Include experimental LibYAML bindings. * Fully support recursive structures. * Fix a number of bugs and annoyances (see http://pyyaml.org/wiki/PyYAML#History for more details). Resources ========= PyYAML homepage: http://pyyaml.org/wiki/PyYAML PyYAML documentation: http://pyyaml.org/wiki/PyYAMLDocumentation TAR.GZ package: http://pyyaml.org/download/pyyaml/PyYAML-3.04.tar.gz ZIP package: http://pyyaml.org/download/pyyaml/PyYAML-3.04.zip Windows installer: http://pyyaml.org/download/pyyaml/PyYAML-3.04.win32-py2.3.exe http://pyyaml.org/download/pyyaml/PyYAML-3.04.win32-py2.4.exe PyYAML SVN repository: http://svn.pyyaml.org/pyyaml Submit a bug report: http://pyyaml.org/newticket?component=pyyaml YAML homepage: http://yaml.org/ YAML-core mailing list: http://lists.sourceforge.net/lists/listinfo/yaml-core About PyYAML ============ YAML is a data serialization format designed for human readability and interaction with scripting languages. PyYAML is a YAML parser and emitter for Python. PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and provides Python-specific tags that allow to represent an arbitrary Python object. PyYAML is applicable for a broad range of tasks from complex configuration files to object serialization and persistance. Example ======= >>> import yaml >>> print yaml.load(""" ... &A { ... direct self reference: *A, ... indirect self references: [*A, *A, *A] ... } ... """) {'direct self reference': {...}, 'indirect self references': [{...}, {...}, {...}]} Copyright ========= The PyYAML module is written by Kirill Simonov . PyYAML is released under the MIT license. This release is developed with the support of the Google Summer of Code program under the mentorship of Clark Evans. From stevech1097 at yahoo.com.au Mon Aug 21 05:34:24 2006 From: stevech1097 at yahoo.com.au (Steven Chaplin) Date: Mon, 21 Aug 2006 11:34:24 +0800 Subject: Subject: ANN: pycairo release 1.2.2 now available Message-ID: <1156131264.1275.1.camel@localhost.localdomain> Pycairo is a set of Python bindings for the multi-platform 2D graphics library cairo. http://cairographics.org http://cairographics.org/pycairo A new pycairo release 1.2.2 is now available from: http://cairographics.org/releases/pycairo-1.2.2.tar.gz http://cairographics.org/releases/pycairo-1.2.2.tar.gz.md5 83a2e06d9fc3530753701d580a18087e pycairo-1.2.2.tar.gz Overview of changes from pycairo 1.2.0 to pycairo 1.2.2 ======================================================= * Pycairo requires cairo 1.2.2 (or later) * setup.py has been updated to allow installation by executing $ python setup.py install * examples/cairo_snippets/snippets/gradient_mask.py A new example to demonstrate pattern masks. * The cairo.svg module has been removed because: 1) Cairo does not include SVG parsing, so this module does not belong in pycairo. 2) libsvg-cairo (the underlying C library) is unmaintained. Send instant messages to your online friends http://au.messenger.yahoo.com From Karsten.Hilbert at gmx.net Tue Aug 22 23:41:03 2006 From: Karsten.Hilbert at gmx.net (Karsten Hilbert) Date: Tue, 22 Aug 2006 23:41:03 +0200 Subject: GNUmed 0.2 release Message-ID: <20060822214103.GB5922@merkur.hilbert.loc> Dear Python community, we are happy to announce the release of GNUmed 0.2 "Librarian". GNUmed is an application to be used by doctors to document clinical care in the non-hospital setting. Both backend and frontend come under the GPL such that the doctor/user can always guarantee access to the complete data of his patients (contrary to many proprietary systems). The frontend is written in Python/wxPython and uses PostgreSQL as its backend. This version adds several important features: - server can be installed on MS/Windows, too - client runs on MS/Windows, too - remote control client from legacy applications - patient demographics import interface - managing staff members from within the user interface - searching the medical record - a complete document management system - importing documents from files - scanning in documents - handling of review status - handling of clinical relevance - taking patient pictures with a webcam - completely integrated with the clinical structure of the medical record Of course, the advanced structured electronic medical record has improved upon its existing robustness and offers: - grouping of health data by - underlying health issue - episodes of activity of health issue - doctor-patient encounter - structuring of progress notes into - Subjective - Objective - Assessment - Plan Download your package from here: http://wiki.gnumed.de/bin/view/Gnumed/InstallerGuideHome Debian packages will be available in 10 days time. Find extensive documentation here: http://wiki.gnumed.de Karsten Hilbert, MD GNUmed developer

GNUmed 0.2 - The FOSS Electronic Medical Record. (22-Aug-06) -- GPG key ID E4071346 @ wwwkeys.pgp.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346 From ndmoses at ntlworld.com Wed Aug 23 04:47:29 2006 From: ndmoses at ntlworld.com (Neil Moses) Date: Wed, 23 Aug 2006 03:47:29 +0100 Subject: [ANN] PyODB version 0.6 released Message-ID: <44EBC1C1.3050703@ntlworld.com> I would like to announce version 0.6 of PyODB a Python unixODBC API binding. This release contains improved connection handling, fetch() now takes an optional number of rows to retrieve and added user documentation. PyODB is a Python module and provides a simplified set of bindings to unixODBC (http://www.unixodbc.org) allowing fast and easy development of open database applications. The module supports multiple data source connections with the following connection methods; execute(), fetch(), disconnect(), begin(), commit() and rollback(). The software has been developed on a Linux environment using Python 2.x and SWIG (http://www.swig.org). The module has been tested on Linux and Solaris platforms using databases MySQL, Informix and PostgreSQL but in theory should work on any platform supporting unixODBC and an ODBC database driver. To download the release visit http://sourceforge.net/projects/pyodb Regards, Neil Moses From limodou at gmail.com Wed Aug 23 10:07:06 2006 From: limodou at gmail.com (limodou) Date: Wed, 23 Aug 2006 16:07:06 +0800 Subject: [ANN]UliPad 3.3 is released Message-ID: <505f13c0608230107o77099468g7377961d3fea4c57@mail.gmail.com> What's it? ======== It's an Editor based on wxPython. NewEdit is the old name, and UliPad is the new name. UliPad uses Mixin and Plugin technique as its architecture. Most of its classes can be extended via mixin and plugin components, and finally become an integrity class at creating the instance. So UliPad is very dynamic. You can write the new features in new files, and hardly need to modify the existing code. And if you want to extend the existing classes, you could write mixins and plugins, and this will be bound to the target class that I call "Slot Class". This technique will make the changes centralized and easily managed. What are its features? ================ * Cross platform o based on wxPython, so it can run anywhere that wxPython works, such as: Windows, Linux. o Unicode support. * Most features of wxStyledTextCtrl(Scintilla) o Syntax highlighting, support Python, c/c++, html, plain text, perl, ruby, css, javascript o Folding o Brace Matching o ... * Extended selection o Extended word selection -- You can press Ctrl+MouseDoubleClick to select a word including '.' o Matched selection -- Select text in quoted chars like: (), [], {}, '', "". * Other editing extension o Duplicating text -- Just like Vim Ctrl+V, Ctrl+P, and more. You can duplicate above or below char, word, line o Quoting text -- Add some quoted chars before and after selected text, just as: "", '', (), [], {}, and o Text convertion and view -- python -> html, reStructured Text -> html, textile -> html, and you can output or view o Utf-8 encoding auto detect o Changing document encoding o Auto backup o Last session support -- It'll save all the filenames as closed, and reopen the files as next started. o Smart judge the indent char -- It'll auto guess the indent char, and sets it. o Finding in files o Bookmark support * Python support o built-in python interactive window based on ?PyShell, support Unicode o Auto completion o Function syntax calltips o Run, run with argument, stop python source o Auto change current path o Python class browser o Indent pasting support(New) * Code snippets o You can manage your code snippets with categories, and each category can have many items. Every item will represent a code snippet. You can insert an item just by double-clicking on it. It even supports importing and exporting. * Simple project support o Can create a special file _project, so every file and folder under the folder which has the _project can be considered as a whole project. * Extension mechanism o Script -- You can write easy script to manipulate the all resource of UliPad, just like: text conversion, etc. o Plugin -- Customized function. More complex but more powerful. Can easily merge with UliPad, and can be managed via menu. o Shell command -- Add often used shell commands, and execute them. * Ftp support o You can edit remote files through ftp. You can add, rename, delete, upload, download file/directory. * Multilanguage support o Currently supports two languages: English and Chinese, which can be auto-detected. * Shipped plugins(must be configed as used them before) o Document links -- Python documentation and wxPython documentation. o Many plugins can be found at UliPad wiki page. * Shipped scripts o Many scripts can be found at UliPad wiki page. * Wizard (New) o You can make your own wizard template. The wizard can input user data, combine with template, and output the result. And wizard also support code framework created. This feature will help you improving coding efficiency. * Direcotry Browser(New) o Browse multiple directories, and you can really add, delete, rename directories and files. Double click will open the file in Editor window. o Support Copy, Cut, and Paste. o Search in Directory * AutoComPlete(acp)(New) o Suport user autocomplete file, it can help to input code very helpful and functional. Just like EditPlus, but may be more powerful. o Manually apply some acp files to current document * Column Edit Mode(New) Where to download it? ================ download lastest version 3.3: http://wiki.woodpecker.org.cn/moin/UliPad?action=AttachFile&do=get&target=UliPad_3.3.zip also have windows installer: http://wiki.woodpecker.org.cn/moin/UliPad?action=AttachFile&do=get&target=UliPad3.3.exe wiki: http://wiki.woodpecker.org.cn/moin/UliPad svn: http://cvs.woodpecker.org.cn/svn/woodpecker/ulipad/trunk maillist: http://groups.google.com/group/ulipad If you have any problem as using UliPad, welcome to join the UliPad maillist to discuss. Hope fun! -- I like python! My Blog: http://www.donews.net/limodou My Django Site: http://www.djangocn.org NewEdit Maillist: http://groups.google.com/group/NewEdit From ian at excess.org Wed Aug 23 17:18:34 2006 From: ian at excess.org (Ian Ward) Date: Wed, 23 Aug 2006 11:18:34 -0400 Subject: ANN: Urwid 0.9.6 - Console UI Library Message-ID: <44EC71CA.9050008@excess.org> Announcing Urwid 0.9.6 ---------------------- Urwid home page: http://excess.org/urwid/ Tarball: http://excess.org/urwid/urwid-0.9.6.tar.gz About this release: =================== This release improves Unicode support with Python < 2.4 and new features were added to the tutorial and reference generation scripts. The graph.py example program introduced in 0.9.5 should now work properly for everyone. Please let me know if you have any trouble with it. New in this release: ==================== - Fixed Unicode conversion and locale issues when using Urwid with Python < 2.4. The graph.py example program should now work properly with older versions of Python. - The docgen_tutorial.py script can now write out the tutorial example programs as individual files. - Updated reference documentation table of contents to show which widgets are flow and/or box widgets. - Columns.set_focus(..) will now accept an integer or a widget as its parameter. - Added detection for rxvt's HOME and END escape sequences. - Added support for setuptools (improved distutils). About Urwid =========== Urwid is a console UI library for Python. It features fluid interface resizing, UTF-8 support, multiple text layouts, simple attribute markup, powerful scrolling list boxes and flexible interface design. Urwid is released under the GNU LGPL. From python-url at phaseit.net Wed Aug 23 20:55:43 2006 From: python-url at phaseit.net (Jack Diederich) Date: Wed, 23 Aug 2006 18:55:43 +0000 (UTC) Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Aug 23) Message-ID: QOTW: "Because there's no chance that the original request is sane." - Georg Brandl (responding to a question involving a Banana) "this is one of your last chances to test the new code in 2.5 before the final release. *Please* try this release out and let us know about any problems you find" - Anthony Baxter, Python Release Manager sum() is for numbers. It doesn't work with strings for your protection. http://groups.google.com/group/comp.lang.python/browse_thread/thread/e782a88bf5b2f911/ Parsing valid email addresses is hard. http://groups.google.com/group/comp.lang.python/browse_thread/thread/dfb305247edd7c6c/ Q: How do I make my code python 3000 compatible? A: Wait for python 3000. http://groups.google.com/group/comp.lang.python/browse_thread/thread/8aee8423747c094d/ The C++ STL can't match python's speed in some applications. http://groups.google.com/group/comp.lang.python/browse_thread/thread/94fed9a76015a5e4/ David Wahler is no longer out of the office. http://groups.google.com/groups/search?q=David+Wahler+out+of+office Releases of Note Python 2.5 Release Candidate 1 See http://www.python.org/2.5/ byteplay - a python bytecode assembler/disassembler http://wiki.python.org/moin/ByteplayDoc ratfun-2.3 Polynomials and Ration Function library http://calcrpnpy.sourceforge.net/ratfun.html PyYAML-3.04 YAML parser and emitter for Python http://pyyaml.org/wiki/PyYAML Upcoming Community Events Plone Conference 2006, October 25-27 (Seattle, Washington) http://plone.org/events/conferences/seattle-2006 Open Source Developers Conference Dec 5-8 (Melbourne, Australia) http://www.osdc.com.au/ ======================================================================== 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. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon 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/ 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/python/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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.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/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& 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 There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. 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!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From jdahlin at async.com.br Wed Aug 23 21:31:51 2006 From: jdahlin at async.com.br (Johan Dahlin) Date: Wed, 23 Aug 2006 16:31:51 -0300 Subject: ANNOUNCE: kiwi 1.9.9 Message-ID: <44ECAD27.9050206@async.com.br> Kiwi is a PyGTK framework for building graphical applications loosely based on MVC Model-View-Controller (MVC) and Allen Holub's Visual proxy [1]. Think of Kiwi as a high-level, object-oriented layer built on PyGTK. Its design is based on real-world experience using PyGTK to develop large desktop applications, which use many concepts common to most graphical applications: multiple windows and dialogs, forms, data persistence, lists and high-level classes that support domain objects directly. Download ======== Grab the latest sources from: http://download.gnome.org/sources/kiwi/1.9/kiwi-1.9.9.tar.gz What's new since 1.9.8? ======================= - KiwiEntry improvements (Johan, Patrick, Ronaldo) - Win32 installation fixes for Gazpacho & Kiwi (Johan) - DateEntry fixes (Ronaldo, Johan) - DateEntry win32 support (Aaron Spike) - Logging improvements (Johan) - Datatypes refactoring and improved Gazpacho integration (Ronaldo) - Add UI tests (Johan) - Bugs fixes: #2535: entry needs exceptions that don't fail (Patrick O'Brien) #2545: DateEntry calendar popup doesn't hide correctly (Ronaldo) #2562: Falha na exibi??o de valores do tipo "currency" (Lincoln, Ronaldo) #2610: [Patch] Remove unnecessary on_column__clicked handler (Dave Cook) #2611: Adding a sortable keyword to objectlist (Dave Cook) #2612: [Patch] objectlist.refresh() fix and optimization (Dave Cook) #2632: Problems with datatype currency when the language ... (Lincoln, Johan) #2654: Decimal precision is removed when pickling (Ronaldo) #2656: ComboEntry's clear() is missing (Ronaldo) #2681: Kiwi doesn't respect system colors after widget ... (Johan, Gustavo Barberi) #2682: Mandatory fields fails to validade if they state ... (Gustavo, Ronaldo) #2685: Make it able to turn fading of invalid stateness to ... (Ali, Johan) #2697: Add a pixbuf data type (Johan, Ronaldo) #2698: Add a ProxyButton (Johan, Henrique) #2720: DateEntry breaks when set invalid. (Ali) #2721: Missing locale specific date formatting information ... (Aaron Spike, Johan) #2758: Datatype converters should provide a get_mask method. (Ronaldo) Features ======== * An MVC-derived framework of classes: * Views, which represent the graphical display * Controllers, which handles user interaction with the widgets in a View. * Delegates, combines a View and a Controller. * Models, which are special mixins for your domain objects * Proxies, special types of Delegate designed to implement forms * Validation: Kiwi supports validation on different levels: data type validation and verification on the Model/Proxy level, View validation and hooks for visually displaying validation state. * ObjectList widget, which provides a higher level abstraction of GtkTreeView and all its classes (GtkTreeModel, GtkTreeViewColumn, GtkCellRenderer) with hooks to easily integrate into the Kiwi Framework. * Mask suport: You can set a mask on entries to force the input to follow a certain standard, such as zip code, social security, ip address * Gazpacho integration for most (non-deprecated) interactive widgets with attributes for handling validation and proxy attributes. * UI Testing framework Features a recorder and a player. The recorder allows you to record different tasks, a script will be saved which will reproduce the actions you made in the interface. * Kiwi Tasklets Tasklet is a small coroutines framework written by Gustavo Carneiro, it was previously known as gtasklets. * PyGTK utilities, to make it easier to add signals and properties to your objects. * i18n translation utilities, to help you translate PyGTK applications, currently depends on gettext and intltool. * and many other things! Requirements ============ Python 2.3 or higher (2.4 recommended) http://www.python.org/ PyGTK 2.6.0 or higher (2.8 recommended) http://www.pygtk.org/ gazpacho 0.6.5 (svn recommenced) http://gazpacho.sicem.biz/ Documentation ============= Kiwi provides API documentation generated by epydoc, it can be found at http://www.async.com.br/projects/kiwi/api/ Included in the tarball are also a number of examples, which serves as a good starting point. Keep in mind that most of them require gazpacho to be installed. Thanks ====== Christian Robottom Reis: Original author and design Lorenzo Gil Sanchez: PyGTK 2.x port Also thanks to the following people which has contributed features or bug reports: Ali Afshar, Gustavo Barbieri, Gustavo Carneiro, David M Cook, Daniel Saran R. da Cunha, Patrick O'Brien, Ronaldo Maia, Evandro Vale Miquelito, Henrique Romano, Sidnei da Silva, Aaron Spike Resources ========= Homepage http://www.async.com.br/projects/kiwi/ Download http://www.async.com.br/projects/kiwi/download/ Repository http://svn.async.com.br/cgi-bin/viewcvs.cgi/kiwi/ Report a bug http://bugs.async.com.br/enter_bug.cgi?product=Kiwi API docs http://www.async.com.br/projects/kiwi/api/ Open bugs http://tinyurl.com/cyrms Mail. list http://www.async.com.br/mailman/listinfo/kiwi/ [1] http://en.wikipedia.org/wiki/Model-view-controller [2] http://tinyurl.com/2ccch [3] http://epydoc.sourceforge.net/ -- Johan Dahlin Async Open Source From frank at niessink.com Wed Aug 23 22:32:27 2006 From: frank at niessink.com (Frank Niessink) Date: Wed, 23 Aug 2006 22:32:27 +0200 Subject: [ANN] Release 0.59 of Task Coach Message-ID: <44ECBB5B.3020402@niessink.com> Hi all, I'm pleased to announce release 0.59 of Task Coach. New in this release: Bugs fixed: * Improved efficiency while tracking effort for tasks. * The column width of the list with filenames in the attachment page of the task editor is now adaptable, so that long filenames can be made visible entirely. * Translation errors in tips. * When having multiple tasks with the same subject, new effort records would always be created for the first of these tasks instead of the selected task. * Opening a file with a non-ascii filename specified on the command line did not work. Features added: * Japanese translation thanks to Yutaka Usui. * Filter sidebar. * Printing. Selecting 'File' -> 'Print' will print the currently active view. This means only the visible columns will be printed and only the filtered tasks will be printed, in the current sort order. * Export to HTML. Selecting 'File' -> 'Export' -> 'Export to HTML' will export the currently active view to HTML. This means only the visible columns will be exported and only the filtered tasks will be printed, in the current sort order. * Columns with numbers or dates are right-aligned. 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 is developed using Python and wxPython. You can download Task Coach from: http://taskcoach.niessink.com https://sourceforge.net/projects/taskcoach/ A binary installer is available for Windows XP and a disk image is available for Mac OSX, in addition to the source distribution. Note that Task Coach is alpha software, meaning that it is wise to back up your task file regularly, and especially when upgrading to a new release. Cheers, Frank From skip at pobox.com Fri Aug 25 04:08:20 2006 From: skip at pobox.com (skip at pobox.com) Date: Thu, 24 Aug 2006 21:08:20 -0500 Subject: SpamBayes 1.1a3 Message-ID: <17646.23444.394006.480373@montanaro.dyndns.org> The SpamBayes team is pleased to announce release 1.1a3 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 an *ALPHA* release. It should only be installed by users willing to try out experimental software, and almost certainly contains new bugs. If you don't know what an alpha release is, please stick with 1.0.4 for the moment. The 1.1 release has been worked on since May of 2004, so contains a vast number of improvements over the 1.0.x line. These include, but are not limited to: * New database backends, including ZODB and ZOE. * Internationalisation support, including partial translations into French and Spanish. * Improved statistics reporting. * The ability to set audio notifications with the Outlook plug-in. * The ability to set the Outlook plug-in to move/copy ham, as well as spam/unsures. * Partial POP3 over SSL support for sb_server. * A vastly improved sb_imapfilter. * Several new experimental options, include one designed to help extract text content from image-based spams. Suggestions about what to try out can be found here: http://entrian.com/sbwiki/TryOutThePreRelease This release, like the ill-fated 1.0.2 and 1.0.3, is built with Python 2.4. We believe that the remaining incompatibilities with Python 2.4 have been resolved, and so this release should also include superior email parsing to the 1.0.x line. Details about the changes in this release can be found at http://sourceforge.net/project/shownotes.php?release_id=442102 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! Skip Montanaro. (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 and a command-line-based framework for testing new anti-spam techniques. The Windows installation program will install either the Outlook add-in (for Microsoft Outlook users), the SpamBayes server program (for all other POP3 mail client users, including Microsoft Outlook Express), or the SpamBayes IMAP filter (for all IMAP mail client users). 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 faltet at carabos.com Fri Aug 25 12:16:45 2006 From: faltet at carabos.com (Francesc Altet) Date: Fri, 25 Aug 2006 12:16:45 +0200 Subject: [ANN] PyTables 1.3.3 released Message-ID: <200608251216.45986.faltet@carabos.com> =========================== Announcing PyTables 1.3.3 =========================== I'm happy to announce a new minor release of PyTables. In this one, we have focused on improving compatibility with latest beta versions of NumPy (0.9.8, 1.0b2, 1.0b3 and higher), adding some improvements and the typical bunch of fixes (some of them are important, like the possibility of re-using the same nested class in declaration of table records; see later). Go to the PyTables web site for downloading the beast: http://www.pytables.org/ or keep reading for more info about the new features and bugs fixed. Changes more in depth ===================== Improvements: - Added some workarounds on a couple of 'features' of recent versions of NumPy. Now, PyTables should work with a broad range of NumPy versions, ranging from 0.9.8 up to 1.0b3 (and hopefully beyond, but let's see). - When a loop for appending a table is not flushed before the node is unbounded (and hence, becomes ``killed`` in PyTables slang), like in:: import tables as T class Item(T.IsDescription): name = T.StringCol(length=16) vals = T.Float32Col(0.0) fileh = T.openFile("/tmp/test.h5", "w") table = fileh.createTable(fileh.root, 'table', Item) for i in range(100): table.row.append() #table.flush() # uncomment this prevent the warning table = None # Unbounding table node! a ``PerformanceWarning`` is issued telling the user that it is *much* recommended flushing the buffers in a table before unbounding it. Hopefully, this will also prevent other scary errors (like ``Illegal Instruction``, ``Malloc(): trying to call free() twice``, ``Bus Error`` or ``Segmentation fault`` ) that some people is seeing lately and which are most probably related with this issue. Bug fixes: - In situations where the same metaclass is used for declaring several columns in a table, like in:: class Nested(IsDescription): uid = IntCol() data = FloatCol() class B_Candidate(IsDescription): nested1 = Nested() nested2 = Nested() they were sharing the same column metadata behind the scenes, introducing several inconsistencies on it. This has been fixed. - More work on different padding conventions between NumPy/numarray. Now, all trailing spaces in chararrays are stripped-off during write/read operations. This means that when retrieving NumPy chararrays, it shouldn't appear spureous trailing spaces anymore (not even in the context of recarrays). The drawback is that you will loose *all* the trailing spaces, no matter if you want them in this place or not. This is not a very confortable situation to deal with, but hopefully, things will get better when NumPy would be at the core of PyTables. In the meanwhile, I hope that the current behaviour would be a minor evil for most of situations. This closes ticket #13 (again). - Solved a problem with conversions from numarray charrays to numpy objects. Before, when saving numpy chararrays with a declared length of N, but none of this components reached such a length, the dtype of the numpy chararray retrieved was the maximum length of the component strings. This has been corrected. - Fixed a minor glitch in detection of signedness in IntAtom classes. Thanks to Norbert Nemec for reporting this one and providing the fix. Known bugs: - Using ``Row.update()`` in tables with some columns marked as indexed gives a ``NotImplemented`` error although it should not. This is fixed in SVN trunk and the functionality will be available in the 1.4.x series. Meanwhile, a workaround would be refraining to declare columns as indexed and index them *after* the update process (with Col.createIndex() for example). Deprecated features: - None Backward-incompatible changes: - Please, see ``RELEASE-NOTES.txt`` file. Important note for Windows users ================================ If you are willing to use PyTables with Python 2.4 in Windows platforms, you will need to get the HDF5 library compiled for MSVC 7.1, aka .NET 2003. It can be found at: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-165-win-net.ZIP Users of Python 2.3 on Windows will have to download the version of HDF5 compiled with MSVC 6.0 available in: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/bin/windows/5-165-win.ZIP What it is ========== PyTables is a package for managing hierarchical datasets and designed to efficiently cope with extremely large amounts of data (with qsupport for full 64-bit file addressing). It features an object-oriented interface that, combined with C extensions for the performance-critical parts of the code, makes it a very easy-to-use tool for high performance data storage and retrieval. PyTables runs on top of the HDF5 library and numarray (but NumPy and Numeric are also supported) package for achieving maximum throughput and convenient use. Besides, PyTables I/O for table objects is buffered, implemented in C and carefully tuned so that you can reach much better performance with PyTables than with your own home-grown wrappings to the HDF5 library. PyTables sports indexing capabilities as well, allowing doing selections in tables exceeding one billion of rows in just seconds. Platforms ========= This version has been extensively checked on quite a few platforms, like Linux on Intel32 (Pentium), Win on Intel32 (Pentium), Linux on Intel64 (Itanium2), FreeBSD on AMD64 (Opteron), Linux on PowerPC (and PowerPC64) and MacOSX on PowerPC. For other platforms, chances are that the code can be easily compiled and run without further issues. Please, contact us in case you are experiencing problems. Resources ========= Go to the PyTables web site for more details: http://www.pytables.org About the HDF5 library: http://hdf.ncsa.uiuc.edu/HDF5/ About numarray: http://www.stsci.edu/resources/software_hardware/numarray To know more about the company behind the PyTables development, see: http://www.carabos.com/ Acknowledgments =============== Thanks to various the users who provided feature improvements, patches, bug reports, support and suggestions. See the ``THANKS`` file in the distribution package for a (incomplete) list of contributors. Many thanks also to SourceForge who have helped to make and distribute this package! And last but not least, a big thank you to THG (http://www.hdfgroup.org/) for sponsoring many of the new features recently introduced in PyTables. Share your experience ===================== Let us know of any bugs, suggestions, gripes, kudos, etc. you may have. ---- **Enjoy data!** -- The PyTables Team From dangoor at gmail.com Fri Aug 25 14:16:44 2006 From: dangoor at gmail.com (Kevin Dangoor) Date: Fri, 25 Aug 2006 08:16:44 -0400 Subject: Michigan Python Users Group, September 7 meeting Message-ID: <3f085ecd0608250516s4e0082c4n8708e3282401ebf@mail.gmail.com> This is the first anniversary meeting of the Michigan Python Users Group! Thursday, September 7th at 7PM Our topics for this month include an SQLAlchemy Introduction by Mark Ramm and Steve Kryskalla talking about two of the new Python 2.5 features. The meeting will be held at the Arbor Networks office in Ann Arbor.: Arbor Networks City Center Building 220 East Huron, 6th Floor Ann Arbor, MI Map: http://tinyurl.com/pt957 With the topics we have for this meeting, I would expect about 90 minutes of the main topics. We often have free-flowing discussion following the main topics, so feel free to come with other topics you wish to discuss. See you there! Kevin -- Kevin Dangoor TurboGears / Zesty News email: kid at blazingthings.com company: http://www.BlazingThings.com blog: http://www.BlueSkyOnMars.com From sh at defuze.org Sat Aug 26 22:28:02 2006 From: sh at defuze.org (Sylvain Hellegouarch) Date: Sat, 26 Aug 2006 21:28:02 +0100 Subject: ANN: amplee 0.1.0 - Atom Publishing Protocol implementation Message-ID: <44F0AED2.6050802@defuze.org> ================ amplee 0.1.0 ================ What is amplee? ================ amplee is an implementation of the Atom Publishing Protocol using atomixlib 0.4.3 and CherryPy 3. You can find more information at http://trac.defuze.org/wiki/amplee Get amplee ================ easy_install http://www.defuze.org/oss/amplee/amplee-0.1.0-py2.4.egg License ================ BSD Enjoy! - Sylvain Hellegouarch sh defuze.org From dberlin at gmail.com Sat Aug 26 23:33:02 2006 From: dberlin at gmail.com (dberlin at gmail.com) Date: 26 Aug 2006 14:33:02 -0700 Subject: FarPy GUIE v0.5.1 Released! Message-ID: <1156627982.385041.125380@75g2000cwc.googlegroups.com> http://farpy.holev.com/ http://sourceforge.net/projects/farpyguie About GUIE (GUI Editor) provides a simple WYSIWYG GUI editor for wxWidgets. The program was made in C# and saves the GUI that was created to a XML format I called GUIML. This GUIML is a pretty standard representation of the GUI created with the program with some helpful additions for .NET. Next, GUIE takes these GUIML files and translates it to either wxPython Python code or wxRuby Ruby code (more languages in the future). You may ask yourself why I took the extra step? Why didn't I go straight from C# controls to wxPython code? Why is GUIML necessary? Well, it isn't. It is there simply for people (or maybe I) to take the GUIML and convert it to other languages. This, by effect can convert this tool from a Python GUI editor, to "any programming language with a GUI module" GUI editor. The GUI Editor was built to be as point & click as possible, trying to avoid wx's sizers completly. This means that controls can go anywhere, and you have the freedom to play with the GUI however you want. Changes (as of v0.5.1) Added: Drag & Drop functionality for adding controls Changed: Settings mechanism. "settings.opt" replacing "settings.xml". Fixed: Bug causing panel background color to be other than white Changes (as of v0.5) Added: Source release Added: Partial wxPerl support Fixed: Splash screen causes loading delay Fixed: When saving guiml, controls got a gray background-color Changed: Certain GUI improvements in settings form Fixed: Actions should be disabled when no form is open Changed: Logo in splash screen Fixed: XY Coords incorrect when hovering controls Added: Unicode support in guiml files From fuzzyman at gmail.com Sun Aug 27 19:35:53 2006 From: fuzzyman at gmail.com (Fuzzyman) Date: 27 Aug 2006 10:35:53 -0700 Subject: [ANN] StandOut 3.0.0 Released Message-ID: <1156700153.531024.72860@74g2000cwt.googlegroups.com> There is a new release of `StandOut `_, the flexible output object. {sm;:-)} This version is a complete rewrite, with a *full* set of `unit tests `_. *standout* is a module that provides a single class: ``StandOut`` - the flexible output object. It provides a simple way of adding logging to a program, and an easy way of adding verbosity levels. By assigning a priority level to each message, it makes it trivially easy to allow your users to choose their own verbosity level. Verbosity levels for normal output and the log file can be different. Alternatively you can just use StandOut for logging ``stdout`` and ``stderr`` to a file. As an added bonus it includes a software unbuffered mode. In this mode all writes to ``stdout`` and ``stderr`` are flushed immediately. Quick download links : * `standout.py (8.5kB) `_ * `standout.zip (108kB) `_ The zip file includes full documentation and unit tests. Basic usage, for logging all output on the standard output and standard error streams to a file : .. raw:: html {+coloring} from standout import StandOut stout = StandOut('log.txt') # body of program main() # then close the log file # and restore normal output/error streams stout.close() {-coloring} StandOut is currently used in both `Movable Python `_ and `rest2web `_. From gil.mueller at nexgo.de Mon Aug 28 15:14:21 2006 From: gil.mueller at nexgo.de (Gil Mueller) Date: Mon, 28 Aug 2006 15:14:21 +0200 Subject: IAF - Interaction Framework Release 0.02 Message-ID: <44F2EC2D.2070005@nexgo.de> The framework now includes remote communication. IAF is a framework for specifying interactions between components or subsystems for reactive and distributed systems. It provides high-level message passing services based on group communication. It is also very useful for integrating component-based systems. The release is available on http://www.gil-mueller.com/freecorner.html. From uche at ogbuji.net Mon Aug 28 18:56:26 2006 From: uche at ogbuji.net (Uche Ogbuji) Date: Mon, 28 Aug 2006 10:56:26 -0600 Subject: ANN: 4Suite XML 1.0rc3 Message-ID: <44F3203A.9060704@ogbuji.net> Today we release 4Suite XML 1.0 release candidate 3, now available from Sourceforge and ftp.4suite.org. Please help us test 4Suite to ensure a high-quality 1.0 final release. 4Suite is split into three separate packages: 4Suite XML - XML, XPath, XSLT, related technologies and support libraries 4Suite RDF - RDF processing libraries and stand-alone DBMS 4Suite Repository - XML and RDF repository This is a release of only the first component. Highlights of changes in 4Suite XML since the last release -- * Python 2.5 support (tested on Python 2.5b3) * Improved packages, including support for generation of eggs * Integrated PEP 302 import hooks (zipimports) to better support third-party applications (setuptools, py2exe, cx_Freeze) * Add output and params arguments to Ft.Xml.Xslt.Transform * Implement all of EXSLT Dynamic module (dyn:map, dyn:max, dyn:min, dyn:sum and dyn:closure were missing) * Subclassed gettext support so that all Python versions support plural forms and loading of message catalogs as embedded data files. * Domlette node classes can now be subclassed * Add support for EntityResolver interface to Saxlette (primarily to satisfy Python's XMLFilterBase for SAX filters) * Add Ft.Xml.CreateInputSource convenience function * Add Ft.Xml.Sax.SaxPrinter, a SAX handler that uses a 4Suite printer to re-serialize from SAX events * Add C14N and exclusive C14N writers * Added support for xml:id * Add native getElementById() method to Domlette documents to allow for XPath's id() and XPointer's short-hand expressions. * Bug fixes, improvements to performance and documentation 4Suite XML is a comprehensive library for XML processing. It is implemented in Python and C and supports XML (SAX-like and DOM-like), XPath, XSLT, RELAX NG, XUpdate, XInclude, XPointer, and more. The manual is included in the documents, or you can browse it online at http://uche.ogbuji.net/tech/4suite/etc/CoreManual.html For general information, see: http://4suite.org http://uche.ogbuji.net/tech/4Suite/ For the files, see: ftp://ftp.4suite.org/pub/4Suite/ Mirrored on www.fourthought.com: http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc3-py2.3-win32.egg http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc3-py2.4-win32.egg http://www.fourthought.com/files/4Suite/4Suite_XML-1.0rc3-py2.5-win32.egg http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.tar.bz2 http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.tar.gz http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.zip http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.win32-py2.2.exe http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.win32-py2.3.exe http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.win32-py2.4.exe http://www.fourthought.com/files/4Suite/4Suite-XML-1.0rc3.win32-py2.5.exe http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc3.tar.bz2 http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc3.tar.gz http://www.fourthought.com/files/4Suite/4Suite-XML-docs-1.0rc3.zip You can also get the files on Python CheeseShop: http://cheeseshop.python.org/pypi/4Suite-XML/ We usually upload to Sourceforge, and will do so as soon as we can, but server errors have made it impossible for us to complete the file release so far. https://sourceforge.net/projects/foursuite/ https://sourceforge.net/project/showfiles.php?group_id=39954 Documentation: In the locations specified above, with filenames of the form 4Suite-XML-docs-1.0rc3.* Release notes -- The current installation directory layout document tells where package files are installed: http://4suite.org/docs/installation-locations.xhtml From srackham at methods.co.nz Tue Aug 29 00:59:43 2006 From: srackham at methods.co.nz (Stuart Rackham) Date: Tue, 29 Aug 2006 10:59:43 +1200 Subject: ANN: AsciiDoc 8.0.0 released Message-ID: <44F3755F.6030707@methods.co.nz> This release has a lot of new stuff including an experimental LaTeX backend. See the CHANGELOG at http://www.methods.co.nz/asciidoc/CHANGELOG.html for a full list of additions and changes. What is it? ----------- AsciiDoc is an uncomplicated text document format for writing articles, short documents, books and UNIX man pages. AsciiDoc files can be translated to HTML, XHTML and DocBook (articles, books and refentry documents) using the asciidoc(1) command. DocBook can be post-processed to presentation formats such as HTML, PDF, roff, and Postscript using readily available Open Source tools. AsciiDoc is configurable: both the AsciiDoc source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by user. Requisites ---------- Python 2.3 or higher. Obtaining AsciiDoc ------------------ The latest AsciiDoc version, examples and online documentation can be downloaded from http://www.methods.co.nz/asciidoc/ AsciiDoc is also hosted at the SourceForge at http://sourceforge.net/projects/asciidoc/ Regards, Stuart -- Stuart Rackham From djaquay at yahoo.com Tue Aug 29 19:31:11 2006 From: djaquay at yahoo.com (djaquay at yahoo.com) Date: Tue, 29 Aug 2006 12:31:11 -0500 Subject: ANN: wxPyCoverage 0.01 - Interactive source display of trace.py output Message-ID: wxPyCoverage is a simple source browser that shows which lines of code have and have not been executed, by accepting the output from trace.py and updating the code display as the program executes. To run it, redirect the output from your program to the input of wxPyCoverage, thusly: trace.py --trace yourCode.py | ./wxPyCoverage.py wxPyCoverage will accept input from stdin indefinitely, expecting that it's in the format output by trace.py, i.e.: file.py(line): text file.py(line): text file.py(line): text --- modulename: etc... file.py(line): text file.py(line): text file.py(line): text etc. This was written using Python 2.4, but should work with whatever versions print trace output in that format. It was also written using wxPython 2.6.x, and uses that to allow interactive browsing of the source code. It was tested on SuSE Linux 10.1. If you're using this on Windows, and have issues, please let me know; (I don't have a Windows box handy to do my own testing). Enjoy, Dave (djaquay at users.sourceforge.net) From info at wingware.com Tue Aug 29 21:42:33 2006 From: info at wingware.com (Wingware Announce) Date: Tue, 29 Aug 2006 15:42:33 -0400 (EDT) Subject: Wing IDE 2.1.2 released Message-ID: Hi, We're happy to announce version 2.1.2 of Wing IDE, an advanced development environment for the Python programming language. This is a bugfix release that improves support for Python 2.5 (2.5c1 is required) and fixes a number of bugs. The release can be downloaded from: http://wingware.com/downloads A detailed list of changes is available here: http://wingware.com/pub/wingide/2.1.2/CHANGELOG.txt Wing IDE provides powerful debugging, editing, code intelligence, and search capabilities that reduce development and debugging time, cut down on coding errors, and make it easier to understand and navigate Python code. Highlights of Wing IDE 2.1: * Professional quality code editor * Visual Studio, VI/Vim, Emacs, and Brief key bindings * Auto-completion, call tips, and source browser * Graphical debugger for Python, Zope, and Plone * Subversion, CVS, and Perforce integration * Powerful search interface * User-extensible with Python scripts * Templates (code snippets), bookmarks, folding, macros, and more Some features are available in Wing IDE Pro only -- for details see http://wingware.com/wingide/features This release is available for Windows (2000+), Linux, and Mac OS X (10.3+ with X11 installed) and can be compiled from sources on *BSD, Solaris, and other Posix operating systems. For more information see: Product Info: http://wingware.com/products Sales: http://wingware.com/store/purchase Sincerely, The Wingware Team From mike at hostetlerhome.com Tue Aug 29 21:23:29 2006 From: mike at hostetlerhome.com (Mike Hostetler) Date: 29 Aug 2006 14:23:29 -0500 Subject: ANN: Python and XML talk in Omaha Message-ID: <87psejl51q.fsf@localhost.localdomain> On Sept 5, I will be giving a presentation on "Python and XML" for the Omaha Dynamic Users Group. The goal of the Dynamic Users Group is to learn from and about dynamic languages, (Perl, Ruby, Smalltalk as well as Python). Most of the audience will not be Python users. However, my talk will not be an introductory talk about Python. Instead it will be a whet-your-appetite talk with loads of examples. I will focus on XML processing with minidom and cElementtree. I would appreciate any other Pythonistas in the area to join the fun. The talk will take place on the campus of Creighton University and will go from 7pm-9pm. Here's a link with more info: http://blog.blainebuxton.com/2006/08/python-and-xml-in-omaha.html -- Mike Hostetler mike at hostetlerhome.com http://mike.hostetlerhome.com From ian at excess.org Wed Aug 30 18:40:08 2006 From: ian at excess.org (Ian Ward) Date: Wed, 30 Aug 2006 12:40:08 -0400 Subject: ANN: Templayer 1.3 - HTML templating library Message-ID: <44F5BF68.20803@excess.org> Announcing Templayer 1.3 ------------------------ Templayer home page: http://excess.org/templayer/ Tarball: http://excess.org/templayer/templayer-1.3.tar.gz About this release: =================== This release includes new documentation and a new auto-reload feature useful for mod_python and web frameworks. Also, the internal template representation was changed to improve performance and consistency, and the HTML generated with HTML Markup is now more standards-compliant. New in this release: ==================== - Added reference documentation and a new tutorial. - Added an auto_reload parameter to Template.__init__ to make the Template.start_file function check and reload a template if it has been modified. This is useful for mod_python and web frameworks with long-lived processes. - Changed the internal representation of the templates to improve performance for large templates and to solve an issue with slots being filled with text that appears to contain another slot that is being filled at the same time. The new implementation no longer allows "%" and "{" characers in slot and layer names. - The Template.missing_slot function is now passed a list of missing slots for a layer. This should improve performance when ignoring a large number of missing slots. - The HTML markup has been adjusted to make its use of
and

tags more standards-compliant. - HtmlTemplate has been renamed to HTMLTemplate and MarkupException has been renamed to MarkupError. The old names are still provided for backwards compatibility. About Templayer =============== Templayer was created to offer an alternative to the more common ways of generating dynamic HTML: embedding code within the HTML or embedding HTML within code. Instead of mixing HTML and Python, two rich and extremely expressive languages, Templayer adds a small amount of syntax to each and keeps the two separate and coherent. Templayer is released under the GNU LGPL. From amk at amk.ca Wed Aug 30 19:30:29 2006 From: amk at amk.ca (A.M. Kuchling) Date: Wed, 30 Aug 2006 13:30:29 -0400 Subject: Call For Proposals: PyCon 2007 Message-ID: <20060830173029.GA14327@localhost.localdomain> PyCon 2007 Call for Proposals ----------------------------- Want to share your expertise? PyCon 2007 is looking for proposals to fill the formal presentation tracks. PyCon 2007 will take place February 23-25 2007 in Addison, Texas, Previous PyCon conferences have had a broad range of presentations, ranging from reports on academic and commercial projects to tutorials and case studies. We hope to continue that tradition this year. As long as the presentation is interesting and potentially useful to the Python community, it will be considered for inclusion in the program. For 2007, we're especially interested in tutorial presentations that will teach conference-goers something new and useful. Can you show attendees how to: use a module? explore a Python language feature? package an application? Important Dates =============== * Submission deadline: October 31, 2006 * Acceptance deadline: November 15, 2006 * Electronic copy deadline: February 15, 2007 PyCon Topics ============ Suitable topics for PyCon presentations include, but are not limited to: * Core Python * Other implementations: IronPython, Jython, PyPy, and Stackless. * Python libraries and extensions * Databases * Documentation * Embedding and Extending Python * Game Programming * GUI Programming * Network Programming * Open Source Python projects * Packaging Issues * Programming Tools * Project Best Practices * Science and Math * Web Programming (Django, Zope, TurboGears, WSGI, ...) Talk Format =========== The preferred length for talks is 30 minutes. You can request a 45-minute slot, but proposals requiring 45 minutes will be reviewed more stringently and tutorial talks will be preferred for these longer slots. Session lengths include time for audience questions. You should budget at least five minutes for questions; for example, a 30-minute talk will be 25 minutes of presentation and 5 minutes of questions. Submission Mechanics ==================== Use the PyCon Online Proposal Submission (http://us.pycon.org/apps07/proposals) to send us your proposals and ideas. Proposal submission will begin on September 15th. If your proposal is accepted, you have the option of including a companion paper along with your presentation. The paper will be published on the PyCon web site. Presentations and papers may be in text (plain or reST), HTML, or PDF; HTML or text are preferred. We suggest, but do not require, that authors place their papers under a Creative Commons license. Please visit the CC 'Choose a License' page (http://creativecommons.org/about/licenses) to select a license that meets your requirements. The HelpForSpeakers wiki page (http://us.pycon.org/TX2007/HelpForSpeakers) has suggestions and advice for speakers. Other Presentations =================== If you don't want to make a formal presentation, you can still bring your new project or idea to PyCon. There will be several Lightning Talk sessions for talks no longer than five minutes. There will also be Open Space for informal and spur-of-the-moment presentations. Open Space consists of thirty-minute blocks that are allocated during PyCon on a first-come first-served basis. These blocks can be used for presentations, round table discussions, hands-on tutorials, or anything else you wish to present. From amk at amk.ca Wed Aug 30 19:31:13 2006 From: amk at amk.ca (A.M. Kuchling) Date: Wed, 30 Aug 2006 13:31:13 -0400 Subject: Call For Tutorials: PyCon 2007 Message-ID: <20060830173113.GB14327@localhost.localdomain> PyCon 2007 Call for Tutorials ----------------------------- Enjoy teaching classes or tutorials? PyCon 2007 is looking for proposals for a pre-conference tutorials day. PyCon 2007 will be held February 23-25 in Addison, Texas (near Dallas). Tutorials will be held on February 22 at the same location. Tutorial sessions will be a half day (3 hours, with a 15-minute break); presenters may request two sessions in order to make up a full day. Tutorials may be on any topic, but obviously should be instructional in nature. Providing take-home materials for attendees is encouraged, and tutorial presenters will receive $50 per student registered for their session (with a minimum payment of $500, and a maximum of $1500). Extra consideration will be given to presenters with prior experience teaching classes or giving conference tutorials. Please provide one reference or evidence of such prior experience (sessions taught at OSCON, EuroPython, local user groups, etc.). PyCon attendees will register for tutorials at extra cost. We reserve the right to cancel tutorials with low attendance; presenters will not be paid for cancelled tutorials. Important Dates =============== * Submission deadline: November 15, 2006 * Acceptance deadline: November 22, 2006 * Cancellation date: January 20, 2007 (for inadequate attendance) Submission Format ================= Proposals should be 250 to 1000 words long (i.e., one to four pages in manuscript format), containing the following information: * Author name(s) * Contact Information * Summary of proposed presentation * Presentation outline * Intended audience (non-programmers, beginning programmers, advanced users, CPython developers, etc.) * (Recommended) At least one previous presentation/teaching engagement reference. E-mail your proposal to . ASCII format is preferred, with HTML as a secondary alternative. If you have any questions about submission, please send mail to the conference organizers at pycon at python.org. From python-url at phaseit.net Wed Aug 30 21:41:00 2006 From: python-url at phaseit.net (Jack Diederich) Date: Wed, 30 Aug 2006 19:41:00 +0000 (UTC) Subject: Dr. Dobb's Python-URL! - weekly Python news and links (Aug 30) Message-ID: QOTW: "The best working hypothesis is that upgrading will break things." - Grant Edwards "Should I take this to mean: "Don't go near TNEF because your underwear will become carnivorous and consume your genitalia?" - Hendrik van Rooyen Which is better, Turbogears or Rails? Flame on. http://groups.google.com/group/comp.lang.python/browse_thread/thread/0837e5e8002a5099/ PyThreadState_SetAsyncExc() is a C-level call because it is impossible to use safely. We're all adults here but we're not all wizards. http://groups.google.com/group/comp.lang.python/browse_thread/thread/121933c824d76c95/ A style question on an if-else clause gets a dozen different answers http://groups.google.com/group/comp.lang.python/browse_thread/thread/0bc45bec69e22e5d/ Testing stdout output is easy with doctest (unittest integration too!) http://groups.google.com/group/comp.lang.python/browse_thread/thread/a5a5f786d3cce8f8/ Ray asks what version of python people use in production and gets a variety of answers. http://groups.google.com/group/comp.lang.python/browse_thread/thread/ac65629d56f4e2e5/ Releases of Note NumPy 1.0b4, 4th beta release of the Numeric and Numarray package http://groups.google.com/group/comp.lang.python/browse_thread/thread/af8547bb878f8cd3/ Wing IDE 2.1.2 Powerful python aware IDE. http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/3fca6821f10c0859/ Upcoming Community Events Plone Conference 2006, October 25-27 (Seattle, Washington) http://plone.org/events/conferences/seattle-2006 Open Source Developers Conference Dec 5-8 (Melbourne, Australia) http://www.osdc.com.au/ ======================================================================== 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. For far, FAR more Python reading than any one mind should absorb, much of it quite interesting, several pages index much of the universe of Pybloggers. http://lowlife.jp/cgi-bin/moin.cgi/PythonProgrammersWeblog http://www.planetpython.org/ http://mechanicalcat.net/pyblagg.html 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 Python411 indexes "podcasts ... to help people learn Python ..." Updates appear more-than-weekly: http://www.awaretek.com/python/index.html Steve Bethard, Tim Lesher, and Tony Meyer continue the marvelous tradition early borne by Andrew Kuchling, Michael Hudson and Brett Cannon 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/ 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/python/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 Although unmaintained since 2002, the Cetus collection of Python hyperlinks retains a few gems. 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://www.python.org/dev/peps/pep-0042/ The online Python Journal is posted at pythonjournal.cognizor.com. editor at pythonjournal.com and editor at pythonjournal.cognizor.com welcome submission of material that helps people's understanding of Python use, and offer Web presentation of your work. del.icio.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/topic/python/ (requires subscription) http://groups-beta.google.com/groups?q=python-url+group:comp.lang.python*&start=0&scoring=d& 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 There is *not* an RSS for "Python-URL!"--at least not yet. Arguments for and against are occasionally entertained. 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!". Write to the same address to unsubscribe. -- The Python-URL! Team-- Dr. Dobb's Journal (http://www.ddj.com) is pleased to participate in and sponsor the "Python-URL!" project. From frank at niessink.com Wed Aug 30 22:23:52 2006 From: frank at niessink.com (Frank Niessink) Date: Wed, 30 Aug 2006 22:23:52 +0200 Subject: [ANN] Release 0.60 of Task Coach Message-ID: <44F5F3D8.5000405@niessink.com> Hi all, I'm pleased to announce release 0.60 of Task Coach. New in this release: Bugs fixed: * Closing a task file did not reset the 'lastfile' setting. * Selecting Japanese translation would cause error upon next restart. * Task Coach wouldn't quit when the setting 'Minimize window when closing' was set. * Deleting an effort record would throw an exception. Website change: * Added MD5 digests to download page. (See http://taskcoach.niessink.com -> download) 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 is developed using Python and wxPython. You can download Task Coach from: http://taskcoach.niessink.com https://sourceforge.net/projects/taskcoach/ A binary installer is available for Windows XP and a disk image is available for Mac OSX, in addition to the source distribution. Note that Task Coach is alpha software, meaning that it is wise to back up your task file regularly, and especially when upgrading to a new release. Cheers, Frank From conversy at cena.fr Wed Aug 30 23:17:37 2006 From: conversy at cena.fr (=?iso-8859-1?q?St=E9phane_Conversy?=) Date: 30 Aug 2006 14:17:37 -0700 Subject: ANN: sauvage 0.3.2, an SVG to OpenGL library Message-ID: <1156972657.752456.83130@e3g2000cwe.googlegroups.com> Hi, I released version 0.3.2 of sauvage, a library that helps creating, manipulating and rendering SVG scenes with OpenGL. More info here: http://www.tls.cena.fr/~conversy/research/sauvage/index.html s. From mmueller at python-academy.de Thu Aug 31 06:31:09 2006 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Thu, 31 Aug 2006 06:31:09 +0200 Subject: Today (August 31) last day for early bird registration - Leipzig Python Workshop Message-ID: <7.0.1.0.0.20060831062757.01c9be20@python-academy.de> Today, August 31, is the definitely last day for early bird registration for the Leipzig Python workshop. There won't be any further extensions. Therefore, today is the last chance to take advantage of the reduced rate. Heute (31. August) letzter Tag f?r Fr?hbucherrabatt - Leipziger Python-Workshop === Workshop "Python im deutschsprachigen Raum" === Der definitiv letzte Termin f?r den Fr?hbucherrabatt ist heute (31.08.2006). Eine nochmalige Verl?ngerung wird es nicht geben. Deshalb ist heute die letzte Chance den g?nstigeren Teilnahmebeitrag in Anspruch zu nehmen. === Workshop-Details === Am 8. September 2006 findet in Leipzig der Workshop "Python im deutschsprachigen Raum" statt. Der Workshop ist als Erg?nzung zu den internationalen und europ?ischen Python-Zusammenk?nften gedacht. Die Themenpalette der Vortr?ge ist sehr weit gefasst und soll alles einschlie?en, was mit Python im deutschsprachigen Raum zu tun hat. Eine ausf?hrliche Beschreibung der Ziele des Workshops, der Workshop-Themen sowie Details zu Organisation und Anmeldung sind unter http://www.python-academy.de/workshop nachzulesen. === Wichtige Termine === 31.08.2006 Letzter Termin f?r Fr?hbucherrabatt 08.09.2006 Workshop 15.09.2006 Letzter Termin f?r die Einreichung der publikationsf?higen Beitr?ge Dezember 2006 Ver?ffentlichung des Tagungsbandes === Bitte weitersagen === Der Workshop soll auch Leute ansprechen, die bisher nicht mit Python arbeiten. Wer mithelfen m?chte den Workshop bekannt zu machen, kann einen Link auf http://www.python-academy.de/workshop setzen. Auch au?erhalb des Internets kann der Workshop durch den Flyer http://www.python-academy.de/download/programm.pdf bekannt gemacht werden. Einfach doppelseitig ausdrucken oder kopieren und ein paar Exemplare am Schwarzen Brett von Universit?ten, Firmen, Organisationen usw. aush?ngen. Wir freuen uns auf eine rege Teilnahme, Mike M?ller Stefan Schwarzer From newsgroups at jensdiemer.de Thu Aug 31 09:13:32 2006 From: newsgroups at jensdiemer.de (Jens Diemer) Date: Thu, 31 Aug 2006 09:13:32 +0200 Subject: [ANN] PyLucid CMS v0.7.0 released Message-ID: <44f68c1b$0$5159$9b4e6d93@newsspool1.arcor-online.net> about PyLucid ------------------------------------------------------------------ PyLucid is a lightweight, OpenSource ( GPL 2.x or newer ) content management system ( CMS ) written in Python WSGI. Nearly all output can be customized. No shell account is needed. You only need a standard webserver with Python (at least v2.2.1) CGI and MySQL ( mySQLdb ) to run PyLucid. You can use PyLucid as a Framework for you small Web-Application. Because you can make you own Plugins! Look at: http://www.pylucid.org/index.py/DeveloperInfo/ PyLucid use the WSGI Standard, so you can run it as CGI, fastCGI, SCGI, AJP and others... major changes ------------------------------------------------------------------ * WSGI compatibly (using Colubrid - but not optimized)! * new template engine jinja in place of simpleTAL * new CSS and JS handling * new internal page editing * new: "List of all available Tags" when you edit a CMS page * new: PluginDownloader (a Plugin to make you own written Plugins downloadable for other Users) (available since v0.7RC2) * File oganisation changed * new /_install - Section (look at InstallAccess): o new 'low level Admin' Tools - example: 'rename all used tabelnames' o new 'info / tests' - many SQL-Server information * shortcut for every page. So the URLs are cleaner * No poormanmodrewrite! I think the URLs are good enough. minor changes ------------------------------------------------------------------ * internal Links works now with the new shortcuts! * You can make short Links to deep pages. Example: http://www.pylucid.org/index.py/Doku/Markup/TinyTextileExample/ -> http://www.pylucid.org/index.py/TinyTextileExample/ * DB dump improved (a little, but not really enough) * "list of new sides" improved (See how edit the pages) Links ------------------------------------------------------------------ Homepage..: http://www.pylucid.org sf.net....: http://sourceforge.net/projects/pylucid/ Install instructions: http://www.pylucid.org/index.py/InstallPyLucid/ -- Mfg. Jens Diemer ---- CMS in pure Python CGI: http://www.pylucid.org