From uymqlp502 at sneakemail.com Fri Jun 1 07:24:29 2007 From: uymqlp502 at sneakemail.com (uymqlp502 at sneakemail.com) Date: Thu, 31 May 2007 22:24:29 -0700 Subject: bug fix for scalar package Message-ID: <1180675469.984066.268690@a26g2000pre.googlegroups.com> A few days ago (May 28th), I announced release 1.3 of my scalar package. Unfortunately, it had a bug in the "format" function for output, but I just fixed it in release 1.3.1. My apologies to anyone who downloaded version 1.3. http://RussP.us/scalar.htm From yucetekol at gmail.com Fri Jun 1 10:09:53 2007 From: yucetekol at gmail.com (yuce) Date: Fri, 01 Jun 2007 08:09:53 -0000 Subject: PySWIP 0.1.3 released Message-ID: <1180685393.430262.221970@p77g2000hsh.googlegroups.com> I am pleased to announce the 0.1.3 version of PySWIP. PySWIP is a GPL'd Python - SWI-Prolog bridge which enables querying SWI-Prolog in your Python programs. PySWIP includes both an (incomplete) SWI-Prolog foreign language interface and a utity class that makes it easy querying SWI-Python. Since it uses SWI-Prolog as a shared library and ctypes to access it, PySWIP doesn't require compilation to be installed. This version breaks the compatibility with previous versions. Example: >>> from pyswip.prolog import Prolog >>> prolog = Prolog() >>> prolog.assertz("father(michael,john)") [{}] >>> prolog.assertz("father(michael,gina)") [{}] >>> list(prolog.query("father(michael,X)")) [{'X': 'john'}, {'X': 'gina'}] >>> for soln in prolog.query("father(X,Y)"): ... print soln["X"], "is the father of", soln["Y"] ... michael is the father of john michael is the father of gina Foreign Functions Example: Since version 0.1.3 of PySWIP, it is possible to register a Python function as a Prolog predicate through SWI-Prolog's Foreign Function Interface. Here's an example: from pyswip.prolog import Prolog from pyswip.easy import registerForeign, getAtomChars def hello(t): print "Hello,", getAtomChars(t) return True hello.arity = 1 registerForeign(hello) prolog = Prolog() prolog.assertz("father(michael,john)") prolog.assertz("father(michael,gina)") list(prolog.query("father(michael,X), hello(X)")) Outputs: Hello, john Hello, gina Requirements: * Python 2.3 and higher. * ctypes 0.9.9.9 and higher. * SWI-Prolog 5.6.x and higher (most probably other versions will also work). * libpl as a shared library. * Works on Linux and Win32, should work for all POSIX. Changes since version 0.1.2: * Renamed `pyswip/util.py` to `pyswip/prolog.py`. * New module `pyswip.easy`. * Now it is possible to register a Python function as a Prolog predicate through SWI-Prolog's Foreign Function Interface. * Additions to the core library. * Added example, *register foreign* which shows how to register a Python function as an SWI-Prolog predicate. * Added example, *Towers of Hanoi* PySWIP homepage is at: http://code.google.com/p/pyswip Downloads at: http://code.google.com/p/pyswip/downloads/list Discussion Group is at: http://groups.google.com/group/pyswip Regards, Yuce Tekol yucetekol [at] gmail [dot] com> From jdavid at itaapy.com Fri Jun 1 16:15:42 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Fri, 01 Jun 2007 16:15:42 +0200 Subject: itools 0.15.5 released Message-ID: <46602A0E.9010409@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.i18n itools.vfs itools.cms itools.ical itools.web itools.csv itools.pdf itools.workflow itools.datatypes itools.rss itools.xhtml itools.gettext itools.schemas itools.xliff itools.handlers itools.stl itools.xml itools.html itools.tmx itools.http itools.uri This release has a single feature enhancement worth to comment: now "itools.cms" indexes the content of RTF files (for this to work the command "unrtf" must be installed). Also important is the requirement to run the "icms-update" script on existing instances of "itools.cms". This will just re-index the catalog (it is needed because of a little internal change on the "username" field). Still in "itools.cms", there have been a number of user interface tweaks here and there, but most notably in the tracker. There is a change in the "itools.catalog" API worth to comment. Now when the method search is called without any arguments, all indexed documents are returned. Also, the method "get_physical_path" has been added to all handlers. And path objects have gained the method "get_name". Packages and scripts that have seen minor fixes and improvements are: itools.catalog, itools.pdf, itools.web, itools.xml, isetup-build, icms-update and icms-restore. Credits: - Luis Belmar-Letelier worked on the tracker; - Herv? Cauwelier implemented the RTF indexer and worked on the user interface of itools.cms; - J. David Ib??ez fixed bugs here and there; - Henry Obein fixed bugs on RML (itools.pdf); - Sylvain Taverne fixed some bugs; Resources --------- Download http://download.ikaaro.org/itools/itools-0.15.5.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 tundra at tundraware.com Fri Jun 1 22:40:27 2007 From: tundra at tundraware.com (Tim Daneliuk) Date: Fri, 01 Jun 2007 15:40:27 -0500 Subject: [ANN]: 'twander' Cross-Platform File Manager Version 3.224 Released And Available Message-ID: <4660843B.2070208@tundraware.com> 'twander' Version 3.224 is now released and available for download at: http://www.tundraware.com/Software/twander The last public release was 3.210. This release fixes a number of bugs and adds a variety of useful new features. See the WHATSNEW.txt file for all the details. --------------------------------------------------------------------- What Is 'twander'? ------------------ 'twander' is a macro-programmable Filesystem Browser that runs on both Unix-like systems as well as Win32 systems. It embraces the best ideas of both similar GUI-driven programs (Konqueror, Windows Explorer) as well as text-based interfaces (Midnight Commander, List, Sweep). Or, If You Prefer The "Elevator Pitch" -------------------------------------- 'twander' is: - A better file browser for Unix and Win32. (Tested on FreeBSD, Linux, Win32. Probably works on Mac OS/X, but not tested.) - A way to make browsing the same on all the OSs you use. - A macro-programmable tool that lets *you* define the features. - A GUI navigation front-end for your shell. - A way to "can" workflows for your technically-challenged colleagues. - A way to free yourself from the shackles of the mouse. - A way to significantly speed up your day-to-day workflow. - A Python/Tkinter application - about 5000 lines of code/comments - A RCT (Really Cool Tool) that will have you addicted in a day or two See the web page for more information, a screen shot, and the complete documentation. --------------------------------------------------------------------- Complete details of all fixes, changes, and new features can be found in the WHATSNEW.txt and documentation files included in the distribution. Users are strongly encouraged to join the twander-users mailing list as described in the documentation. A FreeBSD port has been submitted as well. From armin.ronacher at active-4.com Sat Jun 2 15:01:25 2007 From: armin.ronacher at active-4.com (Armin Ronacher) Date: Sat, 02 Jun 2007 06:01:25 -0700 Subject: Jinja 1.1 Released Message-ID: <1180789285.269714.309260@q69g2000hsb.googlegroups.com> Jinja 1.1 Released ================== Jinja 1.1 codenname sinka is out! And with more changes then ever. Here a small summary of the new features and improvements: - blocks now support ``{{ super() }}`` to render the parent output. - the template lexer keeps not track of brace, parenthesis and bracket balance in order to not break variable tags apart if they are configured to look like this: ``${expr}``. This also fixes the problem with nested dicts in variable expressions. - added whitespace management system for the template designer. - many new filters and helpers such as `lipsum`, `batch`, `slice`, `sum`, `abs`, `round`, `striptags` and others. - reimplemented Buffet plugin so that you can use Jinja in pylons. - added optional C-implementation of the context baseclass. - it's now possible to stream templates. - reworked loader layer. All the cached loaders now have "private" non cached baseclasses so that you can easily mix your own caching layers in. - added `MemcachedLoaderMixin` and `MemcachedFileSystemLoader` contributed by Bryan McLemore. - many new unittests, bugfixes and improvements. The whole list of changes can be found in the `changelog`_. Get it while it's hot from the `cheeseshop`_. .. _changelog: http://jinja.pocoo.org/documentation/changelog#version-1-1 .. _cheeseshop: http://cheeseshop.python.org/pypi/Jinja/1.1 From detlev at die-offenbachs.de Sun Jun 3 12:10:26 2007 From: detlev at die-offenbachs.de (Detlev Offenbach) Date: Sun, 03 Jun 2007 12:10:26 +0200 Subject: ANN: eric4 4.0.0 release Message-ID: Hi, I am proud to announce the availability of the first official release of eric4. eric4 is the successor of the well known eric3 Python development environment. What is eric4? -------------- eric4 is an Integrated Development Environment for the Python (and Ruby) language. It comes with all batteries included. It has too many features to list here. For details please visit http://www.die-offenbachs.de/eric/index.html Regards, Detlev -- Detlev Offenbach detlev at die-offenbachs.de From dmitry at targeted.org Mon Jun 4 07:14:13 2007 From: dmitry at targeted.org (dmitry at targeted.org) Date: Sun, 03 Jun 2007 22:14:13 -0700 Subject: Pythomnic 5.0 - platform for building reliable network services in Python Message-ID: <1180934053.662765.94840@g4g2000hsf.googlegroups.com> Pythomnic is a platform for building non-stop middleware around a set of network services. It allows changing source code and configuration on the fly without interrupting the live service. Pythomnic modules can be invisibly migrated from one server to another for redundancy or load balancing. Such middleware can take as much business logic as necessary, from being a simple adapter to an integration platform. New in version 5.0: * RPC channels are protected with cryptographic HMAC signature. * Client request timeouts are rigorously enforced and can be queried from the application code using new pmnc_time_left construct. * Centralized two-phase lock manager can be deployed and used for network-wide mutual exclusion with a pmnc_lock construct. * New shell-like interface allows connecting to a service using telnet and sending it commands for controlling external equipment, software or the service itself. + More documentation http://www.pythomnic.org/ From python-url at phaseit.net Mon Jun 4 19:05:39 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 4 Jun 2007 17:05:39 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 4) Message-ID: QOTW: "Stop thinking of three lines as 'extensive coding' and your problem disappears immediately." - Steve Holden "Hey, did you hear about the object-oriented version of COBOL? They call it 'ADD ONE TO COBOL'." - Tim Roberts EuroPython: Registration is open! http://www.europython.org/sections/registration_issues/registration-open EuroPython in the Python411 Podcast Series http://www.europython.org/sections/tracks_and_talks/announcements/europython-in-python411 Python 2.5 appears to give wrong results on Windows for file creation/modification/last access time - but no, it's right, although the differences are a bit hard to explain: http://groups.google.com/group/comp.lang.python/browse_thread/thread/890eef2197c6f045 http://groups.google.com/group/comp.lang.python/browse_thread/thread/2a73854b3f835d78 The right way to handle Unicode filenames, including Zip archives: http://groups.google.com/group/comp.lang.python/browse_thread/thread/4d39da08fdddc48b/ The concept of "active exception" may be a bit obscure - see a great clarification by Duncan Booth in this thread: http://groups.google.com/group/comp.lang.python/browse_thread/thread/74dc5145c2bb558b However widely it's believed that items in a Tkinter listbox can't be differentially colored, rfg007 knows better: http://groups.google.com/group/comp.lang.python/browse_thread/thread/a7276ce6910019e5/ itertools.groupby is a great tool. Trying to improve the documentation, contributors arrive at pleasing examples: http://groups.google.com/group/comp.lang.python/browse_thread/thread/7ef930186a8e5e4c/ What people like about Python, pitfalls, desired features, misfeatures, all in a rather serious and objective thread called -of course- "Python rocks!" :) http://groups.google.com/group/comp.lang.python/browse_thread/thread/2a771ba3d329d57 Python and memory handling: why you don't notice the freed memory, why one should not care, and details on the "small-object allocator" http://groups.google.com/group/comp.lang.python/browse_thread/thread/5d3a5a37048e707e/ If you are concerned on how __special__ methods map onto the internal type structures, or just curious about that, these comments may be useful: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e86275f51899b0a5/ ======================================================================== 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. The Python Papers aims to publish "the efforts of Python enthusiats". http://pythonpapers.org/ Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 continues the marvelous tradition early borne by Andrew Kuchling, Michael Hudson, Brett Cannon, Tony Meyer, and Tim Lesher 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From andrewdalke at gmail.com Mon Jun 4 19:21:20 2007 From: andrewdalke at gmail.com (Andrew Dalke) Date: Mon, 04 Jun 2007 17:21:20 -0000 Subject: ANN: LOLPython 1.0 Message-ID: <1180977680.081476.219970@n4g2000hsb.googlegroups.com> Following along with the current lolcat fad, and taking inspiration from lolcode, I've implemented LOLPython. For details and downloads see http://www.dalkescientific.com/writings/diary/archive/2007/06/01/lolpython.html Here's an example implementation of a Fibonacci number generator SO IM LIKE FIBBING WIT N OK? LOL ITERATE FIBONACCI TERMS LESS THAN N /LOL SO GOOD N BIG LIKE EASTERBUNNY BTW, FIBONACCI LIKE BUNNIES! LOL U BORROW CHEEZBURGER U BORROW CHEEZBURGER I CAN HAZ CHEEZBURGER HE CAN HAZ CHEEZBURGER WHILE I CUTE? I AND HE CAN HAZ HE AND I ALONG WITH HE IZ HE BIG LIKE N? KTHXBYE U BORROW HE The lolpython.py runtime converts LOLPython to Python. def FIBBING ( N ) : 'ITERATE FIBONACCI TERMS LESS THAN N' assert N >= 0 # BTW, FIBONACCI LIKE BUNNIES! LOL yield 1 yield 1 I = 1 HE = 1 while 1: I , HE = HE , I + HE if HE >= N : break yield HE and by default exec's the translated code. You might also be interested looking at the code because I use PLY for tokenization and translate the token stream into Python code which is then exec'ed. The neatest part was making the exec'ed code act like it was in __main__ using module_name = "__main__" python_s = to_python(lolpython_s) m = types.ModuleType(module_name) sys.modules[module_name] = m exec python_s in m.__dict__ which is a trick others might use when implementing interesting import hooks. LOLPython, at http://www.dalkescientific.com/writings/diary/archive/2007/06/01/lolpython.html Please note that LOLPython does not implement the lolcode standard language. While I was influenced by some of the language I wanted something which was semantically equivalent to Python, including support for classes, exceptions and the yield statement. For an implementation of lolcode in Python (and also using PLY) see sjlol at: http://lolcode.com/implementations/sjlol and a full list of implementations at http://lolcode.com/implementations/implementations including IDE support in Visual Studio. Andrew Dalke dalke at dalkescientific.com From jeff at taupro.com Thu Jun 7 09:35:57 2007 From: jeff at taupro.com (Jeff Rush) Date: Thu, 07 Jun 2007 02:35:57 -0500 Subject: Calling Usergroup Organizers (and Wannabees) Message-ID: <4667B55D.7040301@taupro.com> We'd like to strengthen and raise the visibility of Python usergroups and foster the creation of new ones, by sharing the valuable experiences of those leaders around the community who make it happen. [1] One step is to make others more aware of what is already happening, perhaps in their own neighborhood re Python meetings. I've created a shared blog and invite organizers of existing groups to send me their email address to get privs to post to it. http://python-groups.blogspot.com/ Because these postings will be distributed far and wide, a posting should be of interest to those who did not attend but are considering doing so, or that might be instructive to organizers in other cities. An overview of what was covered in a past meeting, or an announcement with substance on what an upcoming meeting is going to be about are good postings. A simple date and local address, or that the pizza was good last week, is not. ;-) [2] A second step is to encourage and support new organizers in forming groups in their area. There is a strong demand for such meetings, but many are uncertain how to go about it. Therefore I've created a new mailing list on which experienced and new organizers can share tips on getting started, whether about getting the word out, finding a place to meet or getting interesting speakers. http://mail.python.org/mailman/listinfo/group-organizers Those of us with a history of involvement in a usergroup often forget that many people have never attended a usergroup meeting, or lack experience in running one, so let's help strengthen this aspect of Python. We could use some videos or photos of group meetings as well, posted to youtube.com/flickr.com and the link emailed to me for use. I'd also like to reach out to the existing, successful usergroups and ask them to spread the word about their efforts by being interviewed by Ron Stephens on Python411, and/or writing up an article on how your group got started for Tennessee Leeuwenburg of _The Python Papers_. Even a simple "what a typical meeting is like in my area" is helpful. http://www.awaretek.com/python/index.html http://pythonpapers.cgpublisher.com/ It would be especially interesting to see how usergroups operate in various countries around the world, and perhaps help bring together these regions. In closing, please, for existing usergroups as well as new ones coming online, update the entry for your group on the roster of Python usergroups. http://wiki.python.org/moin/LocalUserGroups Jeff Rush Advocacy Coordinator From mmueller at python-academy.de Thu Jun 7 22:35:11 2007 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Thu, 07 Jun 2007 22:35:11 +0200 Subject: [ANN] Leipzig Python User Group - Meeting, June 12, 2007, 08:00pm Message-ID: <20070607203518.E927672AD150@vs147134.vserver.de> === Leipzig Python User Group === We will meet on Tuesday, June 12 at 08:00pm at the training center of Python Academy in Leipzig, Germany ( http://www.python-academy.com/center/find.html ). 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, we will provide English translation if needed. Current information about the meetings are at http://www.python-academy.com/user-group . Mike === Leipzig Python User Group === Wir treffen uns am Dienstag, 12.06.2007 um 20:00 Uhr im Schulungszentrum der Python Academy in Leipzig ( http://www.python-academy.de/Schulungszentrum/anfahrt.html ). F?r das leibliche Wohl wird gesorgt. Eine Anmeldung unter info at python-academy.de w?re nett, damit wir genug Essen besorgen k?nnen. Willkommen ist jeder, der Interesse an Python hat, die Sprache bereits nutzt oder nutzen m?chte. Aktuelle Informationen zu den Treffen sind unter http://www.python-academy.de/User-Group zu finden. Viele Gr??e Mike From jamesthiele.usenet at gmail.com Fri Jun 8 18:05:50 2007 From: jamesthiele.usenet at gmail.com (jamesthiele.usenet at gmail.com) Date: Fri, 08 Jun 2007 16:05:50 -0000 Subject: Seattle Python Interest Group meeting 14 June 2007 Message-ID: <1181318750.801589.124760@o11g2000prd.googlegroups.com> Thursday, June 14th, 2007 at 7 PM See details at www.seapig.org From bob at mellowood.ca Fri Jun 8 20:11:19 2007 From: bob at mellowood.ca (Bob van der Poel) Date: Fri, 08 Jun 2007 11:11:19 -0700 Subject: Version 1.2 of MMA is now available Message-ID: <1181326279.098306.168690@q69g2000hsb.googlegroups.com> Version 1.2 of MMA - Musical MIDI Accompaniment - is now available for downloading. Included in this release: A new command set which lets MMA create and play MIDI files on-the- fly, Some additional synchronization options, Smoother volume changes with (De)Crescendos, Minor bug fixes/improvements. See the entire change log in the included CHANGES-1.1 file. MMA is a accompaniment generator -- it creates midi tracks for a soloist to perform with. User supplied files contain pattern selections, chords, and MMA directives. For full details please visit: http://www.mellowood.ca/mma/ If you have any questions or comments, please send them to: bob at mellowood.ca From tomerfiliba at gmail.com Sun Jun 10 16:44:38 2007 From: tomerfiliba at gmail.com (sebulba) Date: Sun, 10 Jun 2007 14:44:38 -0000 Subject: New mailing list mirrors Message-ID: <1181486678.120099.35880@n4g2000hsb.googlegroups.com> Hi all, I created two new google groups to mirror the activity of python-dev and python-3000: * http://groups.google.com/group/python-3000 * http://groups.google.com/group/python-dev2 There are many mirrors out there, but none of them lets you post to a thread. With google groups you can just hit "reply" on the message you want to reply to, and that's it. No need to send an email to the group (although you still need to register your email with python mailing list). Supports searching, tree-view, list-view, fixed/proportional font, tracking of read/unread messages, etc. Enjoy. -tomer From chris.arndt at web.de Sun Jun 10 21:13:17 2007 From: chris.arndt at web.de (Christopher Arndt) Date: Sun, 10 Jun 2007 21:13:17 +0200 Subject: ANN: Next pyCologne meeting, Wed June 13, 2007, 6:30 pm Message-ID: <466C4D4D.8090702@web.de> Dear Pythonistas, the next monthly meeting of pyCologne, the Python User Group K?ln, takes place on: Date: Wednesday June 13, 2007 Time: 6:30 Uhr pm c.t. Venue: H?rsall 301 (3. Etage), Institut f?r Informatik, Universit?t K?ln, Pohligstr. 1, 50969 K?ln, Germany !!! ATTENTION: NEW VENUE !!! Around 9 pm we will head to a nearby establishment and have some drinks, food and a friendly chat. Further information about pyCologne, including directions, photographs and minutes of past meetings etc., can be found on our web site on the German Python wiki: http://wiki.python.de/pyCologne CU, Christopher Arndt From frank at niessink.com Sun Jun 10 23:06:16 2007 From: frank at niessink.com (Frank Niessink) Date: Sun, 10 Jun 2007 23:06:16 +0200 Subject: [ANN] Release 0.64.1 of Task Coach Message-ID: <67dd1f930706101406v5ac23559j3c8a1f2df99047ca@mail.gmail.com> Hi, I'm pleased to announce release 0.64.1 of Task Coach. This is a bug fix release that should fix the following bugs: * Task Coach would complain about an error when closing the application. This was due to a missing package in the Windows executable distribution. * On Linux, Task Coach was not very helpful when the taskcoachlib package is installed for a different python version than the one the user is starting Task Coach with. 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://www.taskcoach.org https://sourceforge.net/projects/taskcoach/ In addition to the source distribution, packaged distributions are available for Windows XP, Mac OSX, and Linux (Debian and RPM format). 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 george.sakkis at gmail.com Mon Jun 11 06:46:59 2007 From: george.sakkis at gmail.com (George Sakkis) Date: Mon, 11 Jun 2007 04:46:59 -0000 Subject: ANN: papyros 0.1 Message-ID: <1181537219.759582.122610@k79g2000hse.googlegroups.com> I am pleased to announce the first alpha release of Papyros, a lightweight platform-independent package for parallel processing. Papyros provides a master-slave model: clients can submit jobs to a master object which is monitored by one or more slave objects that do the real work. Two main implementations are provided, one using multiple threads and one multiple processes in one or more hosts through Pyro (http://pyro.sourceforge.net/). Papyros' primary design goal is simplicity: a time consuming loop in a single-thread single-process program can be replaced with an equivalent parallel version in a few lines, with minimal boilerplate code overhead. To get a copy, visit http://code.google.com/p/papyros/; also available from the Cheeseshop at http://www.python.org/pypi/papyros/. George Sample code ========== Here's a basic example; for more details go through the README and the included demo script. import papyros class FactorizationJob(papyros.Job): '''A job for computing the prime factors of an integer.''' def __call__(self, n): # <-- find the prime factors here --> # return factors # create a multithreded master with three slave threads from papyros.multithreaded import MultiThreadedMaster master = MultiThreadedMaster(3) # factorize concurrently ten random numbers import random for _ in xrange(10): master.addJob(FactorizationJob(random.randrange(1e6,1e7))) # fetch each job as soon as it finishes for job in iter(master.popProcessedJob, None): factors = job.result print '%d prime factors for %d: %s' % (len(factors), job.args[0], factors) From sjmachin at lexicon.net Mon Jun 11 14:37:49 2007 From: sjmachin at lexicon.net (John Machin) Date: Mon, 11 Jun 2007 05:37:49 -0700 Subject: ANN: xlrd 0.6.1 final is now available Message-ID: <1181565469.281379.220630@q19g2000prn.googlegroups.com> The final release of version 0.6.1 of xlrd is now available from http://www.lexicon.net/sjmachin/xlrd.htm and from the Cheeseshop (http://cheeseshop.python.org/pypi/xlrd). What is xlrd? It's a small (download approx 0.1 Mb) pure-Python library for extracting information from Microsoft Excel (tm) files, anywhere Python 2.1 or later will run -- no need for Excel itself, nor COM, nor even Windows. Further info: follow the links on the home page. This major release incorporates the functionality of 0.6.0 which was not released independently for various reasons including the need to push ahead with the 0.6.1 functionality. New in 0.6.0: facility to access named cell ranges and named constants (Excel UI: Insert/Name/Define). New in 0.6.1: extracts formatting information for cells (font, "number format", background, border, alignment and protection) and rows/ columns (height/width etc). To save memory and time for those who don't need it, this information is extracted only if formatting_info=1 is supplied to the open_workbook() function. The cell records BLANK and MULBLANKS which contain no data, only formatting information, will continue to be ignored in the default (no formatting info) case. There have been several changes made to handle anomalous files (written by 3rd party software) which Excel will open without complaint, but failed with xlrd, usually because an assertion fails or xlrd deliberately raises an exception. Refer to HISTORY.html for details. These have been changed to accept the anomaly either silently or with a NOTE message or a WARNING message, as appropriate. Many thanks are due to Simplistix Ltd (http://www.simplistix.co.uk). for funding the new functionality in 0.6.1. Since 0.6.1a4 was released in February, only one bug-fix and some tidying up have been done -- see HISTORY.html for details. Feedback: general discussion on the python-excel newsgroup (sign up at http://groups.google.com.au/group/python-excel?lnk=li&hl=en) or mailto: sjmac... at lexicon.net preferably with [xlrd] as part of the message subject. Cheers, John From python-url at phaseit.net Mon Jun 11 15:23:32 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 11 Jun 2007 13:23:32 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 11) Message-ID: QOTW: "That's the Martellibot for you. Never use a word where a paragraph with explanatory footnotes will do. Sigh. I miss him on c.l.py." - Simon Brunning "Conclusion: advice to 'try Python for yourself' is apt in a way the original questioner might not realize." - Cameron Laird A small survey revealing so many people using Python for so many different tasks... http://groups.google.com/group/comp.lang.python/browse_thread/thread/64b947bf0d77a9da/ "Bragging about Python": A call for good examples to impress non-Pythoneers generates a nice and compact solution to the 8 Queens problem by Paul McGuire. http://groups.google.com/group/comp.lang.python/browse_thread/thread/61c10896866425f6/ Naming conventions again: this time, how people construct meaningful names, and what they consider a "good" name: http://groups.google.com/group/comp.lang.python/browse_thread/thread/4f1610900da8f4bb/ Several attempts to speed up date conversions - and at the end, perhaps one doesn't even *need* the conversion at all! http://mail.python.org/pipermail/python-list/2007-June/444306.html If you thought that you could not use multiple Python interpreters inside the same process, you were wrong, and this is how to do it: http://groups.google.com/group/comp.lang.python/browse_thread/thread/4ac31cd3a389a4d8/ Did you know that you could skip a value using string interpolation? Here is the trick: http://groups.google.com/group/comp.lang.python/browse_thread/thread/79bb6c636f8710bb/ ======================================================================== 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. The Python Papers aims to publish "the efforts of Python enthusiats". http://pythonpapers.org/ Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 continues the marvelous tradition early borne by Andrew Kuchling, Michael Hudson, Brett Cannon, Tony Meyer, and Tim Lesher 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From cstawarz at csail.mit.edu Mon Jun 11 16:47:41 2007 From: cstawarz at csail.mit.edu (Christopher Stawarz) Date: Mon, 11 Jun 2007 10:47:41 -0400 Subject: multitask 0.2.0: Cooperative multitasking and asynchronous I/O using generators Message-ID: <25E751C7-82AD-498F-87D2-B0D3087235C0@csail.mit.edu> multitask allows Python programs to use generators (a.k.a. coroutines) to perform cooperative multitasking and asynchronous I/O. Applications written using multitask consist of a set of cooperating tasks that yield to a shared task manager whenever they perform a (potentially) blocking operation, such as I/O on a socket or getting data from a queue. The task manager temporarily suspends the task (allowing other tasks to run in the meantime) and then restarts it when the blocking operation is complete. Such an approach is suitable for applications that would otherwise have to use select() and/or multiple threads to achieve concurrency. multitask 0.2.0 includes the following changes: * Child tasks now return values to their parent by raising StopIteration with the return values as arguments: >>> def parent(): ... print (yield return_none()) ... print (yield return_one()) ... print (yield return_many()) ... >>> def return_none(): ... yield ... # implicit StopIteration here ... >>> def return_one(): ... yield ... raise StopIteration(1) ... >>> def return_many(): ... yield ... raise StopIteration(2, 3) ... >>> multitask.add(parent()) >>> multitask.run() None 1 (2, 3) This mechanism was suggested by Dustin Mitchell [1] and provides a cleaner, more explicit way of returning values than the mechanism used in multitask 0.1.0 (which was to assume that the last value yielded by a child was its return value). [1] http://mail.python.org/pipermail/python-list/2007-May/438370.html * Added get_default_task_manager() to provide access to the default TaskManager instance used by add() and run() * Added readline(), which (on Unix-like systems) is useful for doing non-blocking reads from the stdout of a child process For more information: http://o2s.csail.mit.edu/o2s-wiki/multitask To download: http://o2s.csail.mit.edu/download/multitask/ Cheers, Chris Stawarz From jeff at taupro.com Tue Jun 12 09:39:51 2007 From: jeff at taupro.com (Jeff Rush) Date: Tue, 12 Jun 2007 02:39:51 -0500 Subject: Calling for Python Writers/Authors Message-ID: <466E4DC7.5010906@taupro.com> For those who write books and articles, I've established a wiki page just as we already have a page for those who offer training services for Python. If you would like to be reachable by those needing writing services of various kinds, please add yourself to the list, along with some indication of what you prefer to work on, your portfolio of work and your experience level: http://wiki.python.org/moin/PythonWriters I'm open to creative ideas on how to format the information. A link to the page has been added to the sidebar menu under "Community". Jeff Rush Advocacy Coordinator From edreamleo at charter.net Tue Jun 12 16:22:13 2007 From: edreamleo at charter.net (Edward K Ream) Date: Tue, 12 Jun 2007 09:22:13 -0500 Subject: Leo 4.4.3 beta 2 released Message-ID: Leo 4.4.3 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: ---------------------------- - Added support for chapters in Leo's core. Chapters are disabled by default. To enable, set @bool use_chapters = True. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - Many minor improvements, new settings, commands and bug fixes. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From cstawarz at csail.mit.edu Thu Jun 14 23:23:57 2007 From: cstawarz at csail.mit.edu (Christopher Stawarz) Date: Thu, 14 Jun 2007 17:23:57 -0400 Subject: pybonjour 1.1.0: Pure-Python interface to Apple Bonjour and compatible DNS-SD libraries Message-ID: pybonjour provides a pure-Python interface (via ctypes) to Apple Bonjour and compatible DNS-SD libraries (such as Avahi). It allows Python scripts to take advantage of Zero Configuration Networking (Zeroconf) to register, discover, and resolve services on both local and wide-area networks. Since pybonjour is implemented in pure Python, scripts that use it can easily be ported to Mac OS X, Windows, Linux, and other systems that run Bonjour. pybonjour 1.1.0 includes a new TXTRecord class for generating and parsing DNS TXT records. The code base has also undergone a bit of internal cleanup. For more information: http://o2s.csail.mit.edu/o2s-wiki/pybonjour To download: http://o2s.csail.mit.edu/download/pybonjour/ Cheers, Chris Stawarz From mcfletch at vrplumber.com Fri Jun 15 04:06:17 2007 From: mcfletch at vrplumber.com (Mike C. Fletcher) Date: Thu, 14 Jun 2007 22:06:17 -0400 Subject: Regular Toronto Area Python User's Group (PyGTA) meeting on Tuesday Message-ID: <4671F419.2030908@vrplumber.com> We will be having our regular PyGTA meeting this upcoming Tuesday (June 19th). We'll make the start-time 7pm, as Linux Caffe now has extended Summer hours (open until 11pm) and we can thus hang around longer (and maybe even have ice cream floats and the like there after the meeting). Our tentative topic for the meeting is the CSound Python binding, which is a programmatic music synthesis library that is used in the OLPC Activity "TamTam". Seneca Cunningham will be presenting her explorations with the library in attempting to produce a Theremin-like activity/instrument for/with the OLPC platform. Have fun all, Mike -- ________________________________________________ Mike C. Fletcher Designer, VR Plumber, Coder http://www.vrplumber.com http://blog.vrplumber.com From frpythoneers at gmail.com Fri Jun 15 07:15:47 2007 From: frpythoneers at gmail.com (frpythoneers at gmail.com) Date: Fri, 15 Jun 2007 05:15:47 -0000 Subject: ANN: Front Range Pythoneers Meeting, Wed, June 20, 6-8 PM, in Boulder, Colorado - NLP with Python Message-ID: <1181884547.438200.40850@j4g2000prf.googlegroups.com> == Meeting: Wednesday, June 20, 2007 == * Time: 6-8 PM * Location: bivio Software, Inc., 28th and Iris, Boulder, CO. Above Hair Elite in Suite S. There is abundant parking. This coming Wednesday: * Steve Bethard will present on Python and Natural Language Processing: the computational semantics group at the University of Colorado at Boulder is interested in improving machine understanding of text by moving past the basic word-level approaches used by most commercial applications these days. Whether they're teaching computers how to tell a person from an organization, how to decide what order a set of events occurred in, or how to convert a document into a complex semantic graph, Python plays a key role in the process. Steve will be discussing a number of the uses they've found for Python, including the handling of complex data formats, modularizing their natural language processing components, and the different types of feature extraction they perform when building machine learning models. * Lightning talks for SciPy 2007. Are you working on a project combining scientific computing and Python? Feel free to try out an idea for a talk at SciPy on on our group with a 5-10 min informal presentation! The SciPy conference is Aug 16-17 at CalTech, and the deadline for abstracts is June 29. We will have free food & drink as usual. We're meeting from 6-8 PM at bivio Software, which is at 28th and Iris in Boulder, above Hair Elite in Suite S. For our next meeting (July 18), we will be having presentations showcasing web frameworks for Python. And we are planning to have a sprint or jam on Saturday, August 4 around web frameworks. More details to come. Hope to see you there Wednesday! More details: http://wiki.python.org/moin/FrontRangePythoneers From richardjones at optushome.com.au Sat Jun 16 05:52:13 2007 From: richardjones at optushome.com.au (Richard Jones) Date: Sat, 16 Jun 2007 13:52:13 +1000 Subject: Open Source Developers' Conference 2007 - Brisbane - Call for Papers Message-ID: <200706161352.14077.richardjones@optushome.com.au> Call for Papers Open Source Developers' Conference 2007 - Brisbane Australia "Success in Development & Business" OSDC is an Australian grass-roots conference providing Open Source developers with an opportunity to meet, share, learn, and of course show-off. OSDC focuses on Open Source developers building solutions directly for customers and other end users, anything goes as long as the code or the development platform is Open Source. Last year's conference attracted over 180 people, 60 talks, and 6 tutorials. Entry for delegates is kept easy by maintaining a low registration fee (approx $300), which always includes the conference dinner. This year OSDC will be held in Brisbane (Australia) from the 26th to the 29th of November, with an extra dedicated stream for presentations on Open Source business development, case studies, software process, and project management. The theme for this year's conference is "Success in Development & Business". If you are an Open Source maintainer, developer or user we would encourage you to submit a talk proposal on the open-source tools, solutions, technologies, or languages you are working with. Previous years have included numerous talks on topics such as: - FOSS Software Development Tools, Software Process and Project Management - Languages/Platforms: C/C++, Java, C#/Mono/OSS.Net - Scripting: Perl, PHP, Python, Ruby - Databases - Education - Web Technologies - Emerging Technologies and Innovation For more details and to submit your proposal(s), see http://osdc.com.au/papers/cfp.html If you have any questions or require assistance with your submission, please don't hesitate to ask! We recognise the increasing importance of Open Source in providing a medium for collaboration between individuals, researchers, business and government. In recognition of this, we offer optional peer- review for those members of our community who desire it. We are still finalising our review board, in addition to which those requesting peer-review will be asked to contribute reviews for up to three papers. OSDC 2007 Brisbane (Australia) - Key Program Dates: 30 Jun - Initial proposals (short abstract) due 31 Jul - Proposal acceptance 31 Aug - Submission deadline 15 Sep - Peer-review response (optional) 30 Sep - Final version for proceedings 26 Nov - OSDC 2007 Tutorials 27-29 Nov - OSDC 2007 Main Conference! For all information, contacts and updates, see the OSDC conference web site at http://osdc.com.au/ We gratefully acknowledge the following companies for their early commitment in sponsoring OSDC 2007: - Apress (http://apress.com/) - Common Ground (http://commongroundgroup.com/) - Google (http://google.com.au/) - OpenGear (http://opengear.com.au/) Interested in sponsoring also? See http://www.osdc.com.au/sponsors/opportunities.html From dave at dabeaz.com Mon Jun 18 04:20:43 2007 From: dave at dabeaz.com (David Beazley) Date: Sun, 17 Jun 2007 21:20:43 -0500 Subject: Announce: Python Bootcamp at Big Nerd Ranch Europe (July 2007) Message-ID: Just a quick announcement to let everyone know that there is still time to register for the upcoming Python Bootcamp course being offered by Big Nerd Ranch in Frankfurt, Germany, July 16-20, 2007. Further details about the class are available here: http://www.bignerdranch.com/classes/python.shtml As the instructor, I am very excited about this class and think that it has a lot to offer to programmers with or without prior Python experience. Probably the most exciting aspect of the course is that it has been developed from the ground up to target modern Python. As a result, it fully covers the latest language features and library modules. These topics include iterators, generators, metaclasses, the etree module, ctypes, and more. In addition to this, the course strongly focuses on topics such as such as common Python programming patterns, how to write reliable code, unit testing, debugging, systems, and network programming. More information is available at the above website. I can also be contacted directly for further inquiries regarding course content. Hope to see a few Python fans in Europe! Cheers, Dave Brief Instructor Bio: David Beazley is the author of the "Python Essential Reference, 3rd Ed." and several well-known Python packages including SWIG and PLY. More information is available at http:// www.dabeaz.com. From ian at showmedo.com Tue Jun 19 13:42:00 2007 From: ian at showmedo.com (Ian Ozsvald) Date: Tue, 19 Jun 2007 12:42:00 +0100 Subject: ANN: ShowMeDo commercial series: 'Python 101 - easygui and csv' Message-ID: <4677C108.2010403@showmedo.com> Summary: 1 hour 20 minutes of lessons in how to build a complete and tested Python application from scratch. The series is aimed at beginners, all necessary material is provided, viewers can ask me (the author) questions as they go. Commercial series: 'Python 101 - easygui and csv': http://showmedo.com/videos/series?name=IwrOgqPc9 Detail: The 17 episodes walk a new Python programmer through all necessary steps to build a working and unit-tested Python program. In this series I use Wingware's Wing IDE but any Python development environment can be used. The program reads in a csv data file (e.g. from Excel) using a file-open dialog (easygui), the data is processed, a mathematical average generated and a modified csv file is written out. easygui's messagebox and yes/no dialog are also used. I show how to document the code, refactor the early script using functions and test functions using nosetests. Several exercises are set which extend the viewer's knowledge of easygui. They also provide practice for writing code, refactoring and applying test-driven development. The viewer is encouraged to ask questions using the Comments section, I'll answer all questions and everyone is encouraged to help each other. Full source is provided and the viewer can download the videos for off-line viewing. Further details are available here: http://blog.showmedo.com/2007/06/13/learn-gui-and-file-handling-techniques/ -- http://ShowMeDo.com http://ShowMeDo.com/about (our pictures) http://blog.ShowMeDo.com http://forums.ShowMeDo.com Ian at ShowMeDo.com From python-url at phaseit.net Tue Jun 19 18:06:29 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Tue, 19 Jun 2007 16:06:29 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 19) Message-ID: QOTW: "Regarding a Java programmer moving to Python, a lot of the mindset change is about the abundant use of built in data types of Python. So a Java programmer, when confronted with a problem, should think 'how can I solve this using lists, dicts and tuples?' (and perhaps also my new favourite, sets). Class-based solution should be chosen only after seeing that the problem can't be trivially solved with built-in types." - Ville Vainio "The remainder of the unittest docs are somewhat obtuse and uninspiring." - Raymond Hettinger How to generate HTML page thumbnails: John J Lee enumerates several alternatives, using MSIE, Firefox, Konqueror and others. http://groups.google.com/group/comp.lang.python/browse_thread/thread/2185ad4e31c9320b/ Concatenating strings may be painfully slow in some circumstances if not done the right way: http://groups.google.com/group/comp.lang.python/browse_thread/thread/3999b83838787fa1/ Initializing class members only when needed, using a LazyClassAttribute decorator: http://groups.google.com/group/comp.lang.python/browse_thread/thread/18f8b54cb15f922f/ Postpone attribute creation: similar to thread above, but more from a design perspective: http://groups.google.com/group/comp.lang.python/browse_thread/thread/393d2ac620716d90/ Simple Programs: the search for small, complete, useful examples of Python code still continues: http://groups.google.com/group/comp.lang.python/browse_thread/thread/ec8184ca4ed7e3e6/ See the resulting programs at http://wiki.python.org/moin/SimplePrograms A simple question: "How many list items comply with this condition?", and many answers: http://groups.google.com/group/comp.lang.python/browse_thread/thread/6d488fb624fbb6a7/ Continuing from last week: "only one way to do it", now discussing tail call optimization, generic programming, Scheme and macros... http://groups.google.com/group/comp.lang.python/browse_thread/thread/e587471d08dbfcbb/ ======================================================================== 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. The Python Papers aims to publish "the efforts of Python enthusiats". http://pythonpapers.org/ Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 continues the marvelous tradition early borne by Andrew Kuchling, Michael Hudson, Brett Cannon, Tony Meyer, and Tim Lesher 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From jeff at taupro.com Wed Jun 20 07:20:18 2007 From: jeff at taupro.com (Jeff Rush) Date: Wed, 20 Jun 2007 00:20:18 -0500 Subject: DFW Pythoneers Meeting THIS Saturday Message-ID: <4678B912.2080204@taupro.com> This Saturday we'll be holding our 4th Saturday meeting of the DFW Pythoneers, at the usual location of Nerdbooks.com bookstore in Richardson. For directions, visit the Nerdbooks.com website. We start at 2pm and run until 5pm, and then go out for a group dinner. At this meeting one of our local members, Jeremy Dunck, will be giving us a preview of a 60-minute advanced Django tutorial he is helping to give at OSCON next month. The advanced material will cover the unicode branch, signals and either stateful views or gis branch. Since many of our members are not experienced with Django, Jeremy will present a 45-minute introduction to Django first, which will cover URLConf, views, models and perhaps middleware. --- By the way, I've been contacted by a developer at the Travelocity Dallas office, who is looking for local Python developers with experience in Django or Genshi. If you're interested, let me know and I can put you in touch. --- And just to give a heads-up for July, our own Patrick R. Michaud has agreed to give our group a presentation on the status of support for Python in the virtual machine, Parrot, underlying Perl 6 and many other languages. For more info, check out: http://www.parrotcode.org Patrick will present to us on the 2nd Saturday of July, the 14th. Patrick is the author of PGE, the parrot/Perl6 Grammar engine and is also the Perl 6 compiler pumpking. See you there! Jeff Rush DFW Pythoneers Organizer From fabiofz at gmail.com Wed Jun 20 19:07:40 2007 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Wed, 20 Jun 2007 14:07:40 -0300 Subject: Pydev 1.3.5 Released Message-ID: Hi All, Pydev and Pydev Extensions 1.3.5 have been released Details on Pydev Extensions: http://www.fabioz.com/pydev Details on Pydev: http://pydev.sf.net Details on its development: http://pydev.blogspot.com Release Highlights in Pydev Extensions: ----------------------------------------------------------------- * Auto-Import: o Import is now set in correct line even with multi-line imports. o Added option to disable the introduction of auto-imports. o Added option to remove modules that start with '_' from the imports (so, tokens would have to be found in __init__.py files). * Code Analysis: Having a list comprehension with a subscript was not being treated correctly. * Debugger: Working with jython. * Debugger: Working with wxPython. Release Highlights in Pydev: ---------------------------------------------- * Eclipse 3.3 Integration: Does not keep eclipse from a correct shutdown anymore. * Docstrings and code completion pop-up: o The docstrings are now wrapped to the size of the pop-up window. o The initial columns with whitespaces that are common for all the docstring is now removed. o The previous size of the pop-up window in completions is now restored. * Extract method refactoring: was not adding 'if' statement correctly on a specific case. * Organize imports: (Ctrl+Shift+O): comments are not erased in import lines when using it anymore. * Interpreter Config: solved a concurrency issue (which could issue an exception when configuring the interpreter). * Jython integration: can now work with a j9 vm. * Jython integration: those that don't use jython can now use eclipse without JDT (but it's still required for jython development). * Outline: o The comments are now set in the correct level (below module, class or method). o Comments are sorted by their position even when alphabetic sorting is in place. o Comments are added to the outline if they start or end with '---'. What is PyDev? --------------------------- PyDev is a plugin that enables users to use Eclipse for Python and Jython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, refactor, debug and many others. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software http://www.esss.com.br Pydev Extensions http://www.fabioz.com/pydev Pydev - Python Development Enviroment for Eclipse http://pydev.sf.net http://pydev.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20070620/6acaa7c5/attachment.htm From titus at caltech.edu Thu Jun 21 15:26:41 2007 From: titus at caltech.edu (Titus Brown) Date: Thu, 21 Jun 2007 06:26:41 -0700 Subject: E-book: _Intro to Web Testing_ Message-ID: <20070621132641.GC14839@caltech.edu> Grig Gheorghiu, Jason Huggins and I have just finished a book, _An Introduction to Testing Web Applications with twill and Selenium_. It is available as an inexpensive e-book through O'Reilly: http://www.oreilly.com/catalog/functionalwt/ While the entire book uses Python throughout, the last chapter of the book should be particularly interesting for Python programmers: it introduces testing of the simple Django "poll" application with both Selenium and twill. We would love some feedback. thanks, --titus From micahel at gmail.com Fri Jun 22 11:08:21 2007 From: micahel at gmail.com (Michael Hudson) Date: Fri, 22 Jun 2007 10:08:21 +0100 Subject: Vilnius/Post EuroPython PyPy Sprint 12-14th of July Message-ID: The PyPy team is sprinting at EuroPython again and we invite you to participate in our 3 day long sprint at the conference hotel - Reval Hotel Lietuva. If you plan to attend the sprint we recommend you to listen to the PyPy technical talks (`EuroPython schedule`_) during the conference since it will give you a good overview of the status of development. On the morning of the first sprint day (12th) we will also have a tutorial session for those new to PyPy development. As 3 days is relatively short for a PyPy sprint we suggest to travel back home on the 15th if possible (but it is ok to attend less than 3 days too). ------------------------------ Goals and topics of the sprint ------------------------------ There are many possible and interesting sprint topics to work on - here we list some possible task areas: * completing the missing python 2.5 features and support * write or port more extension modules (e.g. zlib is missing) * identify slow areas of PyPy through benchmarking and work on improvements, possibly moving app-level parts of the Python interpreter to interp-level if useful. * there are some parts of PyPy in need of refactoring, we may spend some time on those, for example: - rctypes and the extension compiler need some rethinking - support for LLVM 2.0 for the llvm backend - ... * some JIT improvement work * port the stackless transform to ootypesystem * other interesting stuff that you would like to work on ...;-) ------------ Registration ------------ If you'd like to come, please subscribe to the `pypy-sprint mailing list`_ and drop a note about your interests and post any questions. More organisational information will be sent to that list. Please register by adding yourself on the following list (via svn): http://codespeak.net/svn/pypy/extradoc/sprintinfo/post-ep2007/people.txt or on the pypy-sprint mailing list if you do not yet have check-in rights: http://codespeak.net/mailman/listinfo/pypy-sprint --------------------------------------- Preparation (if you feel it is needed): --------------------------------------- * read the `getting-started`_ pages on http://codespeak.net/pypy * for inspiration, overview and technical status you are welcome to read `the technical reports available and other relevant documentation`_ * please direct any technical and/or development oriented questions to pypy-dev at codespeak.net and any sprint organizing/logistical questions to pypy-sprint at codespeak.net * if you need information about the conference, potential hotels, directions etc we recommend to look at http://www.europython.org. We are looking forward to meet you at the Vilnius Post EuroPython PyPy sprint! The PyPy team .. See also .. .. _getting-started: http://codespeak.net/pypy/dist/pypy/doc/getting-started.html .. _`pypy-sprint mailing list`: http://codespeak.net/mailman/listinfo/pypy-sprint .. _`the technical reports available and other relevant documentation`: http://codespeak.net/pypy/dist/pypy/doc/index.html .. _`EuroPython schedule`: http://europython.org/timetable From schmir at gmail.com Fri Jun 22 11:12:25 2007 From: schmir at gmail.com (Ralf Schmitt) Date: Fri, 22 Jun 2007 11:12:25 +0200 Subject: bbfreeze 0.94.0 Message-ID: <932f8baf0706220212i2227c6ceh633b09b723293c26@mail.gmail.com> Hi all, I've just uploaded bbfreeze 0.94.0 to python's cheeseshop. bbfreeze creates standalone executables from python scripts. It's similar in functionality to py2exe or cx_Freeze. New in this version is support for relative imports. It also contains some fixes for packaging PyXML and cElementTree. It offers the following features: easy installation bbfreeze can be installed with setuptools' easy_install command. zip/egg file import tracking bbfreeze tracks imports from zip files. Note that calls to setuptools' pkg_resources.require will be replaced with a dummy implementation. Calls to resource handling functions are *not* implemented, and freezing packages using these features of pkg_resources will not be possible without further work. multiple script freezing bbfreeze can freeze multiple scripts at once. python interpreter included bbfreeze will create an extra executable named 'py', which might be used like the python executable itself. bbfreeze works on windows and UNIX-like operating systems. It currently does not work on OS X. bbfreeze has been tested with python 2.4 and 2.5. bbfreeze will not work with python versions prior to 2.3 as it uses the zipimport feature introduced with python 2.3. Links -------- cheese shop entry: http://cheeseshop.python.org/pypi/ bbfreeze/ homepage: http://systemexit.de/bbfreeze/ mercurial repository: http://systemexit.de/repo/bbfreeze Regards, - Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20070622/33b36815/attachment.html From ian at excess.org Sat Jun 23 00:29:27 2007 From: ian at excess.org (Ian Ward) Date: Fri, 22 Jun 2007 18:29:27 -0400 Subject: ANN: Urwid 0.9.8.1 - Console UI Library Message-ID: <467C4D47.50204@excess.org> Announcing Urwid 0.9.8.1 ---------------------- Urwid home page: http://excess.org/urwid/ Tarball: http://excess.org/urwid/urwid-0.9.8.1.tar.gz RSS: http://excess.org/feeds/tag/urwid/ About this release: =================== This is a maintenance release that fixes a number of bugs that have been found in 0.9.8. New in this release: ==================== * Fixed a Filler render() bug * Fixed a raw_display start()/stop() bug * Fixed a number of problems triggered by very small terminal window sizes. 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 uche at ogbuji.net Sat Jun 23 19:34:50 2007 From: uche at ogbuji.net (Uche Ogbuji) Date: Sat, 23 Jun 2007 11:34:50 -0600 Subject: ANN: Amara XML Toolkit 1.2.0.2 Message-ID: <467D59BA.1040408@ogbuji.net> http://uche.ogbuji.net/tech/4suite/amara http://cheeseshop.python.org/pypi/Amara/ ftp://ftp.4suite.org/pub/Amara/ Changes since Amara 1.2.0.1: * Fix bindery bug with e.g. del html.head.title * Fix bindery bug with elements named "None" * Fix bindery bug when a string object gets into a binding * Minor documentation and packaging tweaks Amara XML Toolkit is a collection of Python tools for XML processing-- not just tools that happen to be written in Python, but tools built from the ground up to use Python's conventions and take advantage of the many advantages of the language. Amara builds on 4Suite [http://4Suite.org], but whereas 4Suite offers more on literal implementation of XML standards in Python, Amara focuses on Pythonic idiom. It provides tools you can trust to conform with XML standards without losing the familiar Python feel. The components of Amara are: * Bindery: data binding tool (a very Pythonic XML API) * Scimitar: implementation of the ISO Schematron schema language for XML; converts Schematron files to Python scripts * domtools: set of tools to augment Python DOMs * saxtools: set of tools to make SAX easier to use in Python * Flextyper: user-defined datatypes in Python for XML processing There's a lot in Amara, but here are highlights: Amara Bindery: XML as easy as py -------------------------------- Bindery reads an XML document and it returns a data structure of Python objects corresponding to the vocabulary used in the XML document, for maximum clarity. Bindery turns the document What do you mean "bleh" But I was looking for argument Would become a set of objects so that you could write binding.monty.python.spam In order to get the value "eggs" (as a Python Unicode object) or binding.monty.python[1] In order to get the element object with the contents "But I was looking for argument". There are other such tools for Python, and what makes Bindery unique is that it's driven by a very declarative rules-based system for binding XML to the Python data. You can register rules that are triggered by XPattern expressions specialized binding behavior. It includes XPath support and is very efficient, using SAX to generate bindings. See the user documentation, manual.html, for more details. Scimitar: exceptional schema language for an exceptional programming language ----------------------------------------------------------------------------- Scimitar is an implementation of ISO Schematron that compiles a Schematron schema into a Python validator script. You typically use scimitar in two phases. Say you have a schematron schema schema1.stron and you want to validate multiple XML files against it, instance1.xml, instance2.xml, instance3.xml. First you run schema1.stron through the scimitar compiler script, scimitar.py: scimitar.py schema1.stron A file, schema1-stron.py, is generated in the current working directory. If you'd prefer a different location or file name, use the "-o" option. The generated file is a validator script in Python. It checks the schematron rules specified in schema1.stron. Run this validator on each XML file you wish to validate: python schema1.py instance1.xml The validation report is generated on standard output by default, or you can use the "-o" option to redirect it to a file. The validation report is an XML external parsed entity, a format much like a well-formed XML document, but with some restrictions relaxed. Amara DOM Tools: giving DOM a more Pythonic face ------------------------------------------------ Amara DOM Tools features pushdom, similar to xml.dom.pulldom, but easier to use, and a function to return an XPath location for any DOM node. Amara SAX Tools: SAX without the brain explosion ------------------------------------------------ Tenorsax (amara.saxtools.tenorsax) is a framework for "linerarizing" SAX logic so it flows a bit more naturally, needing much less state machine wizardry. License ------- Amara is open source, provided under the 4Suite variant of the Apache license. See the file COPYING for details. Installation ------------ Amara requires Python 2.4 or more recent and 4Suite-XML 1.0 or more recent. The easiest way to install it is: easy_install amara If this does not work you are probably not set up for easy_install and I suggest you follow the simple instructions at http://peak.telecommunity.com/DevCenter/EasyInstall easy_install will automatically take care of installing dependencies for you. If you prefer not to use easy_install, grab a 4Suite-XML package more recent than 1.0 and install that, then install the Amara package using the usual: python setup.py install Or a Windows installer, or other method. -- Uche Ogbuji http://uche.ogbuji.net Linked-in profile: http://www.linkedin.com/in/ucheogbuji Articles: http://uche.ogbuji.net/tech/publications/ From edreamleo at charter.net Sun Jun 24 01:44:42 2007 From: edreamleo at charter.net (Edward K Ream) Date: Sat, 23 Jun 2007 18:44:42 -0500 Subject: Leo 4.4.3 beta 3 released Message-ID: Leo 4.4.3 beta 3 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release fixes all known bugs and adds several new features. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: ---------------------------- - Added support for chapters in Leo's core. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - @test nodes can now be run from any .leo file. - Many minor improvements, new settings, commands and bug fixes. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From stefan.behnel-n05pAM at web.de Sun Jun 24 13:07:34 2007 From: stefan.behnel-n05pAM at web.de (Stefan Behnel) Date: Sun, 24 Jun 2007 13:07:34 +0200 Subject: lxml 1.3 released Message-ID: <467e5076$0$20286$9b4e6d93@newsspool3.arcor-online.net> Hi all, I'm proud to announce the release of lxml 1.3. http://codespeak.net/lxml/ http://cheeseshop.python.org/pypi/lxml/ ** What is lxml? """ In short: lxml is the most feature-rich and easy-to-use library for working with XML and HTML in the Python language. lxml is a Pythonic binding for the libxml2 and libxslt libraries. It is unique in that it combines the speed and feature completeness of these libraries with the simplicity of a native Python API. """ ** This is a major new release with various new features and lots of fixes compared to the 1.2 series. The complete changelog follows below. Major objectives of this release were: - API consolidation: make everything work with everything - improved namespace handling: avoid redundant namespaces wherever possible - simplicity and accessibility: improved, restructured documentation and simpler XML/HTML generation Future versions of lxml will continue this trend to make lxml the leading tool for XML and HTML in the Python world. Have fun, Stefan Behnel 1.3 (2007-06-24) ================ Features added -------------- * Module ``lxml.pyclasslookup`` implemens an Element class lookup scheme that can access the entire tree to determine a suitable Element class * Parsers take a ``remove_comments`` keyword argument that skips over comments * ``parse()`` function in ``objectify``, corresponding to ``XML()`` etc. * ``Element.addnext(el)`` and ``Element.addprevious(el)`` methods to support adding processing instructions and comments around the root node * Extended type annotation in objectify: cleaner annotation namespace setup plus new ``deannotate()`` function * Support for custom Element class instantiation in lxml.sax: passing a ``makeelement()`` function to the ElementTreeContentHandler will reuse the lookup context of that function * '.' represents empty ObjectPath (identity) Bugs fixed ---------- * Removing Elements from a tree could make them loose their namespace declarations * ``ElementInclude`` didn't honour base URL of original document * Replacing the children slice of an Element would cut off the tails of the original children * ``Element.getiterator(tag)`` did not accept ``Comment`` and ``ProcessingInstruction`` as tags * API functions now check incoming strings for XML conformity. Zero bytes or low ASCII characters are no longer accepted. * XSLT parsing failed to pass resolver context on to imported documents * More ET compatible behaviour when writing out XML declarations or not * ``Element.attrib`` was missing ``clear()`` and ``pop()`` methods * More robust error handling in ``iterparse()`` * Documents lost their top-level PIs and comments on serialisation * lxml.sax failed on comments and PIs. Comments are now properly ignored and PIs are copied. * Raise AssertionError when passing strings containing '\0' bytes 1.3beta (2007-02-27) ==================== Features added -------------- * ``DTD`` validator class (like ``RelaxNG`` and ``XMLSchema``) * HTML generator helpers by Fredrik Lundh in ``lxml.htmlbuilder`` * ``ElementMaker`` XML generator by Fredrik Lundh in ``lxml.builder.E`` * Support for pickeling ``objectify.ObjectifiedElement`` objects to XML * ``update()`` method on Element.attrib * Optimised replacement for libxml2's _xmlReconsiliateNs(). This allows lxml a better handling of namespaces when moving elements between documents. Bugs fixed ---------- * Possible memory leaks in namespace handling when moving elements between documents Other changes ------------- * major restructuring in the documentation From jdavid at itaapy.com Mon Jun 25 11:29:39 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Mon, 25 Jun 2007 11:29:39 +0200 Subject: itools 0.15.6 released Message-ID: <467F8B03.9010907@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.i18n itools.vfs itools.cms itools.ical itools.web itools.csv itools.pdf itools.workflow itools.datatypes itools.rss itools.xhtml itools.gettext itools.schemas itools.xliff itools.handlers itools.stl itools.xml itools.html itools.tmx itools.http itools.uri A new maintenance script for itools.cms instances has been added, now with icms-update-catalog it is possible to update the catalog from the command line. There is also an small addition to the itools.cms API, the new class variable "class_layout" will allow in most cases to avoid the definition of the method "_get_handler". There have been bug fixes and other small improvements to other packages: itools.handlers, itools.csv, itools.pdf (RML) and itools.cms The French translation has been updated. Credits: - Herv? Cauwelier fixed bugs here and there; - Nicolas Deram fixed bugs and worked on the itools.cms calendar; - J. David Ib??ez added icms-update-catalog; - Henry Obein worked on RML; - Sylvain Taverne updated the French translation; Resources --------- Download http://download.ikaaro.org/itools/itools-0.15.6.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 python-url at phaseit.net Mon Jun 25 19:46:10 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 25 Jun 2007 17:46:10 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Jun 25) Message-ID: QOTW: "[R]edundant/useless/misleading/poor code is worse than wrong." - Michele Simionato http://groups.google.com/group/comp.lang.python/msg/74adbb471826a245 "Unit tests are not a magic wand that discover every problem that a program could possibly have." - Paul Rubin http://groups.google.com/group/comp.lang.python/msg/6e683105172b2ca7 Some tricks to automatically enter the debugger when an exception happens: http://groups.google.com/group/comp.lang.python/browse_thread/thread/3ffc25cbd3d1947/ A recurring topic: using uniform collections of objects: http://groups.google.com/group/comp.lang.python/browse_thread/thread/f7eebeb1ebe17a4/ Some concerns about eggs, the way they handle dependencies, and restrictive environments: http://groups.google.com/group/comp.lang.python/browse_thread/thread/50e06542f2452c9e/ Four different answers from four different persons to the same problem: how to modify a variable in an outer scope from inside the inner function http://groups.google.com/group/comp.lang.python/browse_thread/thread/9cdb4af5755e4daa/ A conspicuous Pythonista shows his italian temper discussing why redundant statements aren't any good: http://groups.google.com/group/comp.lang.python/browse_thread/thread/a8c170e10c643f27/ A long thread about function annotations in Python 3.0 and its actual usefulness for argument type checking: http://groups.google.com/group/comp.lang.python/browse_thread/thread/1b2a416d6fbe5b61/ This loooong thread started more than two weeks ago: still about macros, programmable syntax, and what is good for Scheme is not necesarily good for Python: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e587471d08dbfcbb/ ======================================================================== 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. The Python Papers aims to publish "the efforts of Python enthusiats". http://pythonpapers.org/ Readers have recommended the "Planet" sites: http://planetpython.org http://planet.python.org 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 continues the marvelous tradition early borne by Andrew Kuchling, Michael Hudson, Brett Cannon, Tony Meyer, and Tim Lesher 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 Many Python conferences around the world are in preparation. Watch this space for links to them. 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-- Phaseit, Inc. (http://phaseit.net) is pleased to participate in and sponsor the "Python-URL!" project. Watch this space for upcoming news about posting archives. From paul at boddie.org.uk Tue Jun 26 01:07:00 2007 From: paul at boddie.org.uk (Paul Boddie) Date: Mon, 25 Jun 2007 16:07:00 -0700 Subject: EuroPython 2007: The final week of online registration! Message-ID: <1182812820.830500.30270@w5g2000hsg.googlegroups.com> The final week of EuroPython online registration is here, with registration via the conference Web site ending on Monday 2nd July. EuroPython 2007 will take place in Vilnius, Lithuania on Monday 9th, Tuesday 10th and Wednesday 11th July. More information on registration can be found here: * http://www.europython.org/sections/registration_issues/how-to-register It's not too late to plan your trip to Vilnius and to see influential figures from the Python community (and other communities) in action: * Keynotes, featuring Guido van Rossum (creator of Python), Simon Willison (co-creator of Django) and David Axmark (co-founder of MySQL): http://www.europython.org/sections/events/keynotes/ * Invited speakers, including Arlo Belshee (agile development expert): http://www.europython.org/sections/events/invited-speakers/ * A comprehensive programme of talks, panels, sprints, Open Space and Lightning Talks: http://www.europython.org/timetable http://www.europython.org/sections/sprints_and_wiki/ http://www.europython.org/sections/events/open_space http://www.europython.org/sections/events/lightning_talks See you in Vilnius! From charlie.groves at gmail.com Tue Jun 26 01:47:09 2007 From: charlie.groves at gmail.com (Charlie Groves) Date: Mon, 25 Jun 2007 16:47:09 -0700 Subject: Jython 2.2 RC1 is available Message-ID: <96c4692d0706251647l4ef53f68w9e40b61fd7eb1710@mail.gmail.com> The Jython development team is pleased to announce that Jython 2.2rc1 is available for download: http://sourceforge.net/project/showfiles.php?group_id=12867&package_id=12218&release_id=518249 See http://jython.org/Project/installation.html for installation instructions. This release candidate features a new socket module with support for non-blocking sockets and SSL as well as many bug fixes. Enjoy! Charlie From skip at pobox.com Tue Jun 26 04:42:14 2007 From: skip at pobox.com (skip at pobox.com) Date: Mon, 25 Jun 2007 21:42:14 -0500 Subject: SpamBayes 1.1a4 Message-ID: <18048.32006.599670.992448@montanaro.dyndns.org> SpamBayes 1.1a4 (the fourth alpha release) is out. You can download it from SourceForge: . This is currently a source only release. There is as yet no Outlook installer. What's New in 1.1a4? ==================== Version 1.1a4 introduces a new application, core_server.py. This application is tailored to provide spam filtering by non-mail applications such as Trac, Roundup, MoinMoin or your favorite blogging server. The external interface is XML-RPC. It also implements a plugin architecture so new protocol adapters can be added easily. What is SpamBayes? ================== The SpamBayes project is working on developing a statistical (commonly, although a little inaccurately, referred to as Bayesian) anti-spam filter, initially based on the work of Paul Graham. The major difference between this and other, similar projects is the emphasis on testing newer approaches to scoring messages. While most anti-spam projects are still working with the original graham algorithm, we found that a number of alternate methods yielded a more useful response. SpamBayes is not a single application. The core code is a message classifier, however there are several applications available as part of the SpamBayes project which use the classifier in specific contexts. For the most part, the current crop of applications all operate on the client side of things, however, a number of people have experimented with using SpamBayes on mail servers to classify incoming mail for multiple users. Contact, Help & Feedback ======================== Please take the new alpha release out for a spin around the block. Report any feedback or problems you have with the new functionality to spambayes-dev at python.org. To get general help with SpamBayes, send your questions to spambayes at python.org. -- Skip Montanaro - skip at pobox.com - http://www.webfast.com/~skip/ From edreamleo at charter.net Tue Jun 26 16:08:27 2007 From: edreamleo at charter.net (Edward K Ream) Date: Tue, 26 Jun 2007 09:08:27 -0500 Subject: Leo 4.4.3 final released Message-ID: <469gi.11$BL.9@newsfe12.lga> Leo 4.4.3 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: ---------------------------- - Added support for chapters in Leo's core. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - @test nodes can now be run from any .leo file. - Many minor improvements, new settings, commands and bug fixes. Links: ------ Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From jeff at taupro.com Wed Jun 27 10:59:41 2007 From: jeff at taupro.com (Jeff Rush) Date: Wed, 27 Jun 2007 03:59:41 -0500 Subject: Organizing Python Representation at OSCON 2007 Message-ID: <468226FD.50400@taupro.com> OSCON 2007 in Portland, Oregon from July 23-27 is fast approaching. This is a professional conference that can give Python a lot of visibility in the IT world and draws a different crowd from our community-run conferences like PyCon. There looks to be a good set of talks on the Python track, with several positioned to promote the use of Python by telling its story: - Code Like a Pythonista: Idiomatic Python - SQLAlchemy: Taming ORM with Python - Super-sizing YouTube - How to Write a Killer Sugar Activity - Exploiting Multicore Capabilities from Python - Python 3000 - Programming for Everybody: CP4E - Coding with Dynamic Confidence There also is the opportunity to reach out by holding Python birds-of-a-feather gatherings. The Python community is a friendly group and face-to-face contact is important to convey the human aspect of Python. BoFs can be scheduled by visiting the OSCON page: http://conferences.oreillynet.com/pub/w/58/bof.html I will not be attending this year, so we need one or more who are willing to step forward and loosely organize a bit. Let's discuss this on the Python advocacy mailing list and make it happen this year. http://mail.python.org/mailman/listinfo/advocacy Jeff Rush Python Advocacy Coordinator From gail.ollis at roke.co.uk Wed Jun 27 13:56:36 2007 From: gail.ollis at roke.co.uk (PyConUK Publicist) Date: Wed, 27 Jun 2007 04:56:36 -0700 Subject: Early Bird rate for PyCon UK closes this weekend In-Reply-To: References: Message-ID: <1182945396.791344.29570@u2g2000hsc.googlegroups.com> The first ever PyCon UK takes place in Birmingham on 8th & 9th September 2007. Book before the end of Saturday (30th June) at http://www.pyconuk.org/booking.html to get the ?60 early bird rate. This includes both days of the conference, the conference dinner and a T-shirt. For more information please visit http://www.pyconuk.org/ Hope to see you there! From cieslak.dariusz at gmail.com Wed Jun 27 21:06:38 2007 From: cieslak.dariusz at gmail.com (cieslak.dariusz at gmail.com) Date: Wed, 27 Jun 2007 12:06:38 -0700 Subject: [ANN] PyDAO - Python Hibernate-like Object-Relational Mapper Message-ID: <1182971198.841849.67150@w5g2000hsg.googlegroups.com> PyDAO is very thin object-relational mapper similar to Hibernate (but much simpler). It's created to speed-up application development. It's very simple, but powerful, based on POPO (Plain Old Python Objects). http://aplikacja.info/PyDAO.html Main features: - can use any database that has DB-API interface (MySQLdb, psycopg tested) - can work without database at all (useful for early phases of development) - speeds up unit testing (dedicated in memory database) What is not handled: - automatic scheme generation - separate query language - automated handling of associations (replaced by filtering by foreign keys) Here's an example how to use PyDAO: class User: def __init__(self): self.id = None self.login = None self.password = None dao = pydao.InMemoryDao() # filling database user = User() user.login = "user1" user.password = "roh8OoPh" dao.save(user) # filtering based on example userSearch = User() userSearch.login = "user1" userList = dao.list(userSearch) # updating user.password = "eew8Me8g" dao.update(user) Enjoy! -- Dariusz Cieslak http://aplikacja.info - custom software systems From yucetekol at gmail.com Thu Jun 28 11:30:54 2007 From: yucetekol at gmail.com (yuce) Date: Thu, 28 Jun 2007 09:30:54 -0000 Subject: PySWIP 0.2.0 released Message-ID: <1183023054.335012.8530@g4g2000hsf.googlegroups.com> I am pleased to announce the 0.2.0 version of PySWIP. PySWIP is a GPL'd Python - SWI-Prolog bridge enabling to query SWI- Prolog in your Python programs. It features an (incomplete) SWI-Prolog foreign language interface, a utility class that makes it easy querying with Prolog and also a Pythonic interface. Since PySWIP uses SWI-Prolog as a shared library and ctypes to access it, it doesn't require compilation to be installed. Note that this version of PySWIP is slightly incompatible with prior versions. == Requirements == * Python 2.3 and higher. * ctypes 1.0 and higher. * SWI-Prolog 5.6.x and higher (most probably other versions will also work). * libpl as a shared library. * Works on Linux and Win32, should work for all POSIX. == News == * Prolog.query returns real Python datatypes. * New Pythonic interface (See the last example). * Several new examples, including Markus Triska's *Sudoku Solver*. * Prolog module support. * Foreign functions retrieve Python datatypes. == Example (Using Prolog) == >>> from pyswip import Prolog >>> prolog = Prolog() >>> prolog.assertz("father(michael,john)") >>> prolog.assertz("father(michael,gina)") >>> list(prolog.query("father(michael,X)")) [{'X': 'john'}, {'X': 'gina'}] >>> for soln in prolog.query("father(X,Y)"): ... print soln["X"], "is the father of", soln["Y"] ... michael is the father of john michael is the father of gina Since version 0.1.3 of PySWIP, it is possible to register a Python function as a Prolog predicate through SWI-Prolog's foreign language interface. == Example (Foreign Functions) == from pyswip import Prolog, registerForeign def hello(t): print "Hello,", t hello.arity = 1 registerForeign(hello) prolog = Prolog() prolog.assertz("father(michael,john)") prolog.assertz("father(michael,gina)") list(prolog.query("father(michael,X), hello(X)")) Outputs: Hello, john Hello, gina Since version 0.2, PySWIP contains a 'Pythonic' interface which allows writing predicates in pure Python. == Example (Pythonic interface) == from pyswip import Prolog, Functor, Variable, Query assertz = Functor("assertz", 2) father = Functor("father", 2) call(assertz(father("michael","john"))) call(assertz(father("michael","gina"))) X = Variable() q = Query(father("michael",X)) while q.nextSolution(): print "Hello,", X.value Outputs: Hello, john Hello, gina PySWIP homepage: http://code.google.com/p/pyswip Downloads: http://code.google.com/p/pyswip/downloads/list Subversion repo: http://pyswip.googlecode.com/svn/trunk Discussion Group: http://groups.google.com/group/pyswip Regards, Yuce Tekol yucetekol [at] gmail [dot] com> From jdavid at itaapy.com Thu Jun 28 15:06:21 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Thu, 28 Jun 2007 15:06:21 +0200 Subject: itools 0.16.0 released Message-ID: <4683B24D.3040508@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.i18n itools.tmx itools.cms itools.ical itools.uri itools.csv itools.odf itools.vfs itools.datatypes itools.pdf itools.web itools.gettext itools.rest itools.workflow itools.handlers itools.rss itools.xhtml itools.html itools.schemas itools.xliff itools.http itools.stl itools.xml The main focus of this release has been quality: - The whole documentation has been updated and reviewed. Now we have a +200 pages PDF, and the code behaves as it is documented. - For the first time all unit tests are up-to-date. Check the README file to learn how to run them. - We have made a little round through the coding style, all modules are lowercase now. - The API has been flatten. This means that all functions, constants, classes and exceptions of a package are available at the package's root level (no need to go search a function in some module). Only exception is "itools.cms", which is too big to have a flat API. But this release brings also some big new features. The new top-level package "itools.rest" provides a partial implementation of ReStructured Text [1]. Another new top-level package, "itools.odf", provides support for the Open Document Format [2]. Specifically the scripts igettext-extract and igettext-build are able to work with ODF files, so they can be used to assist a translator to translate a ODF document. The index & search engine (package "itools.catalog") has been re-worked. With some new features (like the possibility to define custom fields), and a much friendlier programming interface. Check the documentation. The implementation of the XML file handler has been radically changed. It does not use anymore an element-tree to represent the handler's state, but a list of events: start tag, end tag, text node, etc. (this change has been inspired by Genshi [3]). Other packages have seen minor changes either to the programming interface or to the user interface. Most notably: itools.uri, itools.vfs, itools.handlers, itools.gettext, itools.csv, itools.ical and itools.cms. Check the UPGRADE file for the details on how to update your code. [1] http://docutils.sourceforge.net/rst.html [2] http://en.wikipedia.org/wiki/OpenDocument [3] http://genshi.edgewall.org/ Credits: - Herv? Cauwelier implemented itools.rest and worked on itools.cms; - Nicolas Deram refactored itools.ical and itools.cms.ical; - J. David Ib??ez did about everything else; - Henry Obein fixed a few bugs; - Sylvain Taverne implemented itools.odf, fixed many bugs, updated the French translation, and reviewed the documentation; Resources --------- Download http://download.ikaaro.org/itools/itools-0.16.0.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 mark.dufour at gmail.com Fri Jun 29 11:01:18 2007 From: mark.dufour at gmail.com (Mark Dufour) Date: Fri, 29 Jun 2007 11:01:18 +0200 Subject: Shed Skin 0.0.22 - Build extension modules Message-ID: <8180ef690706290201y5af41a14xc30c06165285154f@mail.gmail.com> Hi all, It's been a few months since the previous release, but here goes Shed Skin 0.0.22. The main focus of this release has been to add basic support for building extension modules. To build an extension module, simply use 'ss -e .. && make'. A more complete changelog: -support for generating simple extension modules (linux/windows; see README) -dos text format fix (long overdue) -improved detection of dynamic types (avoid hanging on them) -improved overloading (__nonzero__, __int__, __abs__ etc.) -add str(ing).{capitalize, capwords, swapcase, center, ato*) -fix string.maketrans -several other minor bug fixes Please try out the new release and let me know if there are any problems, Thanks, Mark Dufour. -- "One of my most productive days was throwing away 1000 lines of code" - Ken Thompson From victor.stinner at haypocalc.com Fri Jun 29 01:10:31 2007 From: victor.stinner at haypocalc.com (haypo) Date: Thu, 28 Jun 2007 23:10:31 -0000 Subject: hachoir-regex 1.0 released Message-ID: <1183072231.236787.107740@c77g2000hse.googlegroups.com> hachoir-regex is a Python library for regular expression (regex or regexp) manupulation. You can use a|b (or) and a+b (and) operators. Expressions are optimized during the construction: merge ranges, simplify repetitions, etc. It also contains a class for pattern matching allowing to search multiple strings and regex at the same time. Website: http://hachoir.org/wiki/hachoir-regex Regex examples ============== Different methods to create regex: >>> from hachoir_regex import parse, createRange, createString >>> createString("bike") + createString("motor") >>> parse('(foo|fooo|foot|football)') >>> regex = createString("1") | createString("3"); regex >>> regex |= createRange("2", "4"); regex As you can see, you can use classic "a|b" (or) and "a+b" (and) Python operators, and expressions are optimized for fast pattern matching. Regex using repetition: >>> parse("(a{2,}){3,4}") >>> parse("(a*|b)*") >>> parse("(a*|b|){4,5}") Compute minimum and maximum length of matched pattern: >>> r=parse('(cat|horse)') >>> r.minLength(), r.maxLength() (3, 5) >>> r=parse('(a{2,}|b+)') >>> r.minLength(), r.maxLength() (1, None) Pattern maching =============== Use PatternMaching if you would like to match multiple strings and regex at the same time: >>> from hachoir_regex import PatternMatching >>> p = PatternMatching() >>> p.addString("a") >>> p.addString("b") >>> p.addRegex("[cd]") >>> for start, end, item in p.search("a b c d"): ... print "%s..%s: %s" % (start, end, item) ... 0..1: a 2..3: b 4..5: [cd] 6..7: [cd] You can also attach user data to a pattern: >>> p = PatternMatching() >>> p.addString("un", 1) >>> p.addString("deux", 2) >>> for start, end, item in p.search("un deux"): ... print "%r at %s: userdata=%r" % (item, start, item.user) ... at 0: userdata=1 at 3: userdata=2 Download hachoir-regex on Python cheeseshop, it's distributed under GNU GPL license. Victor Stinner aka haypo http://hachoir.org/ From schmir at gmail.com Fri Jun 29 09:25:32 2007 From: schmir at gmail.com (Ralf Schmitt) Date: Fri, 29 Jun 2007 09:25:32 +0200 Subject: bbfreeze 0.94.1 Message-ID: <932f8baf0706290025g3b24e951we7438b056c8fed2e@mail.gmail.com> Hi all, I've just uploaded bbfreeze 0.94.1 to python's cheeseshop. bbfreeze creates standalone executables from python scripts. It's similar in functionality to py2exe or cx_Freeze. This version fixes a problem with the setup.py script and now installs the patched modulegraph. It offers the following features: easy installation bbfreeze can be installed with setuptools' easy_install command. zip/egg file import tracking bbfreeze tracks imports from zip files. Note that calls to setuptools' pkg_resources.require will be replaced with a dummy implementation. Calls to resource handling functions are *not* implemented, and freezing packages using these features of pkg_resources will not be possible without further work. multiple script freezing bbfreeze can freeze multiple scripts at once. python interpreter included bbfreeze will create an extra executable named 'py', which might be used like the python executable itself. bbfreeze works on windows and UNIX-like operating systems. It currently does not work on OS X. bbfreeze has been tested with python 2.4 and 2.5. bbfreeze will not work with python versions prior to 2.3 as it uses the zipimport feature introduced with python 2.3. Links -------- cheese shop entry: http://cheeseshop.python.org/pypi/ bbfreeze/ homepage: http://systemexit.de/bbfreeze/ mercurial repository: http://systemexit.de/repo/bbfreeze Regards, - Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20070629/18a08f03/attachment.html From fabiofz at gmail.com Fri Jun 29 20:40:06 2007 From: fabiofz at gmail.com (Fabio Zadrozny) Date: Fri, 29 Jun 2007 15:40:06 -0300 Subject: Pydev 1.3.6 Released Message-ID: Hi All, Pydev and Pydev Extensions 1.3.6 have been released Details on Pydev Extensions: http://www.fabioz.com/pydev Details on Pydev: http://pydev.sf.net Details on its development: http://pydev.blogspot.com Release Highlights in Pydev Extensions: ----------------------------------------------------------------- * Bug-Fixes Release Highlights in Pydev: ---------------------------------------------- * Bug Fix: Builtins were not correctly used after specifying interpreter (so, the builtins would not be available in completions/code-analysis). * Patch (from Carl Robinson): PyLint severities can now be specified. What is PyDev? --------------------------- PyDev is a plugin that enables users to use Eclipse for Python and Jython development -- making Eclipse a first class Python IDE -- It comes with many goodies such as code completion, syntax highlighting, syntax analysis, refactor, debug and many others. Cheers, -- Fabio Zadrozny ------------------------------------------------------ Software Developer ESSS - Engineering Simulation and Scientific Software http://www.esss.com.br Pydev Extensions http://www.fabioz.com/pydev Pydev - Python Development Enviroment for Eclipse http://pydev.sf.net http://pydev.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20070629/2a097702/attachment.html From barry at python.org Sat Jun 30 18:50:37 2007 From: barry at python.org (Barry Warsaw) Date: Sat, 30 Jun 2007 12:50:37 -0400 Subject: ANN: munepy 1.3 - yet another Python enumeration package Message-ID: <239B5146-A9AA-4B90-835B-C8C2F32CA38C@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm pleased to announce the release of munepy 1.3. munepy is yet another Python enumeration package. It is compatible with Python 2.4 and 2.5. It's not called 'enum' because that's already taken by an alternative enum package. From the README.txt file: Introduction ============ This package is called `munepy`. It is yet another Python enum package, but with a slightly different take on syntax and semantics than earlier such packages. The goals of munepy were to produce simple, specific, concise semantics in an easy to read and write syntax. munepy has just enough of the features needed to make Enums useful, but without a lot of extra baggage to weigh them down. This work grew out of the Mailman 3.0 project and it is the enum package used there. The name `munepy` is a play on words. *mune* is *enum* backwards, and *py* is a common suffix for Python code. *munepy* is pronounced exactly the same as the delicious round chocolaty (if appearance indicates) pastry Moon Pie, which is best when consumed with an RC cola. Why another Python enum implementation? 'Cause I like mine better. :) Here's just a small example, from the documentation: >>> from munepy import Enum >>> class Colors(Enum): ... red = 1 ... green = 2 ... blue = 3 >>> print Colors.red Colors.red >>> Colors.red is Colors.red True >>> Colors.blue is Colors.blue True >>> Colors.red is not Colors.blue True >>> Colors.blue is Colors.red False >>> int(Colors.red) 1 >>> int(Colors.green) 2 >>> int(Colors.blue) 3 Download the package from the Cheeseshop: http://cheeseshop.python.org/pypi/munepy The source code is maintained under the Bazaar version control system. You can access the code from here: https://code.launchpad.net/munepy/ The project home is here: https://launchpad.net/munepy/ Enjoy, - -Barry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iQCVAwUBRoaJ3nEjvBPtnXfVAQLOnwQAshlhRB9+xSCeSxST2Qvj5lOmxNrBaAdX Q7KbnChJxcIajoKTv0eQhT1cyNDmLriLkE0D1Wpv5T47PyXi0Li1D/SXDUvyubN+ mGFAh5KvlhBCzC+lBh31xvoxrGaHQM+3KTn3BmoBaVovsw7xzEzlWx2foAR5HvOz QjAZEkZFEA0= =PQu2 -----END PGP SIGNATURE----- From frank at niessink.com Sat Jun 30 22:31:13 2007 From: frank at niessink.com (Frank Niessink) Date: Sat, 30 Jun 2007 22:31:13 +0200 Subject: [ANN] Release 0.64.2 of Task Coach Message-ID: <67dd1f930706301331r1d0a5b28k20d45f1da6c186fe@mail.gmail.com> Hi, I'm pleased to announce release 0.64.2 of Task Coach. This is a bug fix release that should fix the following bugs: * Don't take child task priority into account when sorting by priority in the task tree view. * Don't block OS shutdown on Windows. 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://www.taskcoach.org https://sourceforge.net/projects/taskcoach/ In addition to the source distribution, packaged distributions are available for Windows XP, Mac OSX, and Linux (Debian and RPM format). 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