From robin at alldunn.com Sat Dec 1 00:26:40 2007 From: robin at alldunn.com (Robin Dunn) Date: Fri, 30 Nov 2007 15:26:40 -0800 Subject: ANN: wxPython 2.8.7.1 Message-ID: <47509C30.9000005@alldunn.com> Announcing ---------- The 2.8.7.1 release of wxPython is now available for download at http://wxpython.org/download.php. This release has had some bugs fixed, some minor patches applied, and also incorporates the Google Summer of Code 2007 version of XRCed, and adds the Editra source code editor. Source code is available, as well as binaries for Python 2.3, 2.4 and 2.5, for Windows and Mac, as well some packages for various Linux distributions. A summary of changes is listed below and also at http://wxpython.org/recentchanges.php. NOTE: On Mac OS X 10.5 (Leopard) the Python 2.5 binaries of wxPython expect to be used with the user-installed version of MacPython, not the Apple installed version. A fix for this issue is being worked on for the next release. In the meantime you can either install MacPython 2.5.1 and adjust your paths so that that Python is used, or you can stick with Apple's Python and the wxPython 2.8.4.0 that comes with Leopard. What is wxPython? ----------------- wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the GUI components of the popular wxWidgets cross platform library, which is written in C++. wxPython is a cross-platform toolkit. This means that the same program will usually run on multiple platforms without modifications. Currently supported platforms are 32-bit Microsoft Windows, most Linux or other Unix-like systems using GTK2, and Mac OS X 10.3+, in most cases the native widgets are used on each platform to provide a 100% native look and feel for the application. Changes in 2.8.7.1 ------------------ Applied Patch [ 1783958 ] to use the native renderer for drawing the checkboxes in CheckListCtrlMixin. Incorporated the new version of XRCed. This is the result of a Google Summer of Code 2007 project by Roman Rolinsky, and includes a number of UI enhancements, as well as a mechanism for adding support for new components without needing changes to XRCed itself. These new components can be those supported at the C++ layer of XRC, as well as custom XRC handlers written in Python. See http://wiki.wxpython.org/XRCed_Refactoring_Project wxMac: Fixed wx.BusyInfo so it doesn't steal the activated status from the parent window. (This actually applies to all frames with the wx.FRAME_TOOL_WINDOW style and no decorations.) wxMac: Fixed the lack of painting the area between scrollbars on Leopard. wxMac: Fixed assertion errors dealing with toolbars on Leopard. wxMac: Multiline textcontrols now support attributes for margins and alignement; only a single tab distance can be set though. Added the wx.Image.AdjustChannels method. This function muliplies all 4 channels (red, green, blue, alpha) with a factor (around 1.0). Useful for gamma correction, colour correction and to add a certain amount of transparency to a image. Added Editra to the distribution, to give us a simple yet powerful programmer's code editor to replace the never finished PyAlaMode editor and related tools. Many thanks to Cody Precord for the work he has done on this tool and for allowing us to make it part of wxPython. Editra has syntax highlighting and other support for over 40 programming languages, excellent OS X integration, is extendable via plugins, and for those that are on the VI side of the fence there is a VI emulation mode. For more information see the Editra website at http://editra.org/ wxGTK: wx.Frame.ShowFullScreen now preserves the menubar's accelerators. wxGTK: wx.GetClientDisplayRect fixed. Applied patch [1838043], which adds a demo of the wx.RendererNative class functionality. Applied patch [1837449], which uses wx.RenderNative for drawing the combo button in the PopupControl. Added GetDirItemData to wx.GenericDirCtrl, which returns a reference to the data object associated with an item in the control. (Patch #1836326) -- Robin Dunn Software Craftsman http://wxPython.org Java give you jitters? Relax with wxPython! From greg.ewing at canterbury.ac.nz Sun Dec 2 04:30:55 2007 From: greg.ewing at canterbury.ac.nz (Greg Ewing) Date: Sun, 02 Dec 2007 16:30:55 +1300 Subject: ANN: Pyrex 0.9.6.4 Message-ID: <5rengaF12gah6U1@mid.individual.net> Pyrex 0.9.6.4 is now available: http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/ Mostly just bug fixes in this release; see CHANGES.txt on the web site for details. What is Pyrex? -------------- Pyrex is a language for writing Python extension modules. It lets you freely mix operations on Python and C data, with all Python reference counting and error checking handled automatically. From cthedot at gmail.com Sun Dec 2 17:18:23 2007 From: cthedot at gmail.com (Christof Hoeke) Date: Sun, 02 Dec 2007 17:18:23 +0100 Subject: ANN: cssutils 0.9.4a4 Message-ID: what is it ---------- A Python package to parse and build CSS Cascading Style Sheets. main changes since 0.9.4a3 -------------------------- for full details for 0.9.4a4 see the relevant README and CHANGELOG: http://cssutils.googlecode.com/svn/tags/TAG_0.9.4a4/README.txt and http://cssutils.googlecode.com/svn/tags/TAG_0.9.4a4/CHANGELOG.txt - **FEATURE**: Implemented ``css.CSSFontFaceRule``. - **FEATURE**: Added ``css.CSSStyleSheet.encoding`` which reflects the encoding of an explicit @charset rule. Setting the property to ``None`` removes an @charset rule if present and sets the encoding to the default value 'utf-8'. Setting a value of ``utf-8`` sets the encoding to the default value too but the @charset rule is explicitly added. Effectively this removes the need to use ``css.CSSCharsetRule`` directly as using this new property is easier and simpler. (A suggestion in the `CSSOM `_ but not yet resolved. IMHO it does make sense so it is present in cssutils. ``css.CSSCharsetRule`` remains though if you really *want* to use it). - **BUGFIX/IMPROVEMENT**: ``css.SelectorList`` and ``stylesheets.MediaList`` have (Python) list like behaviour partly but are *directly not lists anymore* (which did not work properly anyway...). - bugfixes and small improvements, added to docs license ------- cssutils is published under the LGPL. download -------- for download options for see http://cthedot.de/cssutils/ cssutils needs * Python 2.4 or higher (tested with Python 2.5 on Vista only) bug reports, comments, etc are very much appreciated! thanks Christof From limodou at gmail.com Thu Dec 6 16:08:28 2007 From: limodou at gmail.com (limodou) Date: Thu, 6 Dec 2007 23:08:28 +0800 Subject: ANN: UliPad 3.8 released! Message-ID: <505f13c0712060708h44d6a3a8n5c3168c5213acfef@mail.gmail.com> UliPad is a flexible editor, based on wxPython. It's has many features,just like:class browser, code auto-complete, html viewer, directory browser, wizard, etc. The main feature is the usage of mixin. This makes UliPad can be extended easily. So you can write your own mixin or plugin, or simple script, these can be easy and seamless integrated with UliPad. What's new in 3.8 =================== New Features and Changes: #. Add mako template syntax highlight support #. Add new option in preference, [Python]->Automatically save modified file when running python program, if it's checked, it'll automatically save the modified file. #. Add Shift+Delete => Cut, Shift+Insert => Paste #. Upgrade winpdb to lastest version #. Now you can set pythonpath option in config.ini/[default], and ulipad will insert it into the sys.path. pythonpath can be a string or a string list of directory. #. Svn support, you should install pysvn first, and also support proxy. #. Change long line indicator default is true. #. Add doctest support, you can run the doctest of current document in UliPad #. Add time stamp info in debug and error file #. Replace the shell window popup menu, and add Copy Without Prompts and Paste and Run menu items. And if the result cann't be convert to unicode, then display the result as repr(). #. Script Manager can find menu name from the script content, you can define it as a comment line, format is: #\s*name:(.*)$ #. Add Run in Shell menu item in Editor context menu #. Add script and shell key binding. Change Shell to External Tool #. Change Find in Files dialog to panel #. Using meide module to create Preference dialog #. Add an option to control if show the docstring in class browser window. #. Don't create a tmp file again, directly save the file #. Improve Find in Files process with thread #. Add some config.ini options support in Preference Dialog #. Refactor Find & Replace with pane, but not dialog #. Made Open Command Here work in Linux #. Add dropfile plugin. thanks Tyberius Prime. Now you can drop files on toolbar, then UliPad will open it. Just like drop files on Directory Browser window. #. Add new custom lexer class and refactor related lexer process #. Upgrade FlatNotebook.py to lastest version, thanks to swordsp #. Improve default identifiers process, add type judgement #. Add pylint plugin Bug fix: #. Fix print bug, add print line number functionality #. Fix snippet template indent bug(when using tab mode, the '\t' in template will be replaced with spaces). And you can press Alt+Q to cancel current snippet. #. Fix press Ctrl+B jump position is not correct bug. #. Fix that when you change the file type, the icon in directory and dynamic menu don't change bug #. Fix line number margin width, and find back End-of-line Marker menu #. Fix adding empty directory error #. Fix open un-exists file will popup two message dialog bug #. Fix line end mix checking bug also including twice prompt dialog bug #. Fix webbrowser bug. Thanks Tom Eubank #. Fix message console postion bug, thanks for swordsp UliPad has been ported to code.google.com, so you can visit the new project site at: http://code.google.com/p/ulipad, and also visit the new svn address. Recommends using source version. Source Code: http://ulipad.googlecode.com/files/ulipad.3.8.zip Win Execute Code: http://ulipad.googlecode.com/files/ulipad.3.8.exe If you have any suggestion or question, please subscribe the ulipad mailling list: http://groups.google.com/group/UliPad -- I like python! UliPad <>: http://code.google.com/p/ulipad/ meide <>: http://code.google.com/p/meide/ My Blog: http://www.donews.net/limodou From giles.thomas at resolversystems.com Thu Dec 6 19:05:37 2007 From: giles.thomas at resolversystems.com (Giles Thomas) Date: Thu, 6 Dec 2007 10:05:37 -0800 (PST) Subject: ANN: Resolver One public Beta now live Message-ID: <6a12301e-e600-48c3-8215-f568e9297a33@e67g2000hsc.googlegroups.com> We're proud to announce that today Resolver One, our flagship application, entered its public Beta phase. It can be downloaded from (free registration required), and we would very much welcome feedback from the Python community. Resolver One is a Rapid Application Development tool for analysing and presenting business data using a familiar spreadsheet interface - or, to put it another way, it is a mash-up of a spreadsheet and an IDE. As you enter formulae on the grid, it writes the equivalent IronPython code for you. As you add your own IronPython code, the grid is updated. This allows you to build applications that are much more complex but better-structured than a traditional spreadsheet, much more quickly than you could if you were using a regular programming language. You can then export the code and re-use it elsewhere in your own programs. It's primarily targetted at heavy users of number-crunching software, such as financial firms and the biotech industry, but we use it internally for all kinds of scripts, so we think any Python programmer will be able to do fun stuff with it. If you're interested in taking a look, please do download it or drop us a line! Best regards, Giles -- Giles Thomas MD & CTO, Resolver Systems Ltd. giles.thomas at resolversystems.com +44 (0) 20 7253 6372 17a Clerkenwell Road, London EC1M 5RD, UK VAT No.: GB 893 5643 79 Registered in England and Wales as company number 5467329. Registered address: 843 Finchley Road, London NW11 8NA, UK From miles.chris at gmail.com Fri Dec 7 05:13:35 2007 From: miles.chris at gmail.com (Chris Miles) Date: Fri, 7 Dec 2007 15:13:35 +1100 Subject: EDDIE-Tool 0.36 Released Message-ID: <13294303-A507-46F3-A136-71F0B67BAA7C@gmail.com> EDDIE-Tool 0.36 has just been released. http://eddie-tool.net/ What is it ? The EDDIE-Tool is an intelligent cross-platform monitoring agent written entirely in Python. It provides system, network and security monitoring features, with an extensive configuration facility for defining customized monitoring and data collection rules. What is new ? This version has been a long time coming, but has been well tested over that time. This version features many enhancements and bugfixes, some of them listed below. A special thanks to Zac Stevens and Mark Taylor for their contributions. * Added support for Spread messaging as an alternative to Elvin. * Implemented a DiskStatistics data collector for Linux. * More command-line options and support for running as daemon. * Added a "log" action. Use it to append to a log file, log via syslog, or print on the eddie tty. * Variables can be set in directives, which can then be used in rule evaluation. For example, if the directive has "maxcpu=30", then the rule can address this as "rule='pcpu > _maxcpu'". * HTTP checks support cookie persistence. * Added "DBI" directive, for database query checking. * Added Solaris SMF method/manifest files to contrib. * Many more enhancements and bugfixes - see http://dev.eddie-tool.net/trac/browser/eddie/trunk/doc/CHANGES.txt Why is it interesting to Python users ? Besides system and network administrators, Python users may find EDDIE-Tool interesting as it is an example of a threaded, multi-platform software package, providing easy access to system statistics and using Python's power to offer a dynamic and programmable rules engine. Regards, Chris Miles From heikki at osafoundation.org Fri Dec 7 08:21:24 2007 From: heikki at osafoundation.org (Heikki Toivonen) Date: Thu, 06 Dec 2007 23:21:24 -0800 Subject: ANN: Chandler 0.7.3 Message-ID: The Chandler Project is pleased to announce the 0.7.3 release of Chandler Desktop! Chandler Desktop is an open source, standards-based personal information manager (PIM) built around small group collaboration and a core set of information management workflows modeled on Inbox usage patterns and David Allen's GTD methodology. Download link, information on mailing lists, and how to get the sources available from the homepage: http://chandlerproject.org/ The 0.7.3 release is the third in a series of quick, time-based releases since Chandler Preview 0.7.0 intended to respond to the feedback we received from 0.7.0 and continue to receive from these quick releases. 0.7.3 fixes over 50 bugs and includes some major improvements: * *Month View*:Yes! Month View! This has been pretty much at the very top of everyone's wish list so we decided to bite the bullet and just did it. Month View can be reached by simply clicking the month name in the top area of the calendar. Switch back to week view simply clicking on the week number on the left side. This fixes bugs: * Bug #5361: 30-day view? Variable multi-day view. * *Bundled Localizations*: Chandler now comes bundled with localizations in *French*, *Swedish* and *Finnish*. If you'd like to join the localization effort in your own native language, we are looking for volunteers. This is a great way to get familiarized with Chandler ideas and its community. We fixed the following bugs along the way: * Bug #11197 Normalize dialog title capitalization * Bug #11199 Bogus message in MasterPassword * Bug #11201 Incorrect strings in GetPasswordDialog * Bug #11260 Export dialog text says 'Exported' not Dumped * Bug #11333 Reword Unpublish Confirmation dialog * Bug #11405 Need different strings for no encryption and no alarm (currently 'None') * Bug #11419 Fixed running with localed using ',' instead of '.' for decimal point (was : invalid literal for float() error when reloading a .chex) * Bug #11470 File > Sync manager... has mnemonic * Bug #11490 Reminders dialog missing mnemonics, default button * *Share Management*: There's a new feature under the File menu called *Sync Manager*. This allows users to view and choose which of the published collections on their Chandler Server need to be synced with the Chandler Desktop. Additionally, this dialog shows up automatically in some situation (like restoring settings). This helps the user to avoid "forgetting" collections on the server. * Bug #10971 Auto-restore published shares * Bug #11334 Sync Menu items * *Support and build for Mac OS X Leopard, Ubuntu Gutsy Gibbon and Use System Libraries*: Modern OSes are now catching up with Chandler's use of cutting edge releases of Python. So the good news is that, for those systems, we don't have to bundle all these, resulting in much smaller downloads. We now provide special downloads for those Systems. * Bug #11088 Use system python on Mac (Leopard), Ubuntu Feisty and forward * *Automate Upgrade Process*: User now have the option to let Chandler export a .chex on quit. This is convenient for new users (small data base) with fast machines. For old timers with thousands of items, there's an option to bypass this (don't forget to export though _before_ upgrading to a new version of Chandler): * Bug #11139 Automate upgrade process For a more complete list of bug fixes and known issues, please visit our Release Notes at: http://chandlerproject.org/Projects/ReleaseNotes Thanks for your interest in Chandler Desktop! From titus at caltech.edu Fri Dec 7 20:47:26 2007 From: titus at caltech.edu (Titus Brown) Date: Fri, 7 Dec 2007 11:47:26 -0800 Subject: Google Highly Open Participation Contest, call for mentors Message-ID: <20071207194726.GC15168@caltech.edu> Dear Python community, we're in the process of adding another 100 tasks to the Python GHOP page, http://code.google.com/p/google-highly-open-participation-psf/issues/list and we could really use some help tagging and bagging student claims and responses. Please come on over and join up! For example, you could - subscribe to the ghop-python list and help students; - help us maintain status tags on issues; - comment on submitted work and judge tasks for completion; - suggest and write up new tasks for our next round of new tasks; Your rewards will be unending rivers of Google swag [0], tired typing hands, some potentially quite significant contributions to Python, and a sense of well-being and accomplishment. Note that Guido is watching: http://google-code-updates.blogspot.com/2007/12/in-just-seven-days.html You, too, could have your 5.2 seconds of fame! cheers, --titus [0] Actual amount of swag may differ. From edreamleo at charter.net Fri Dec 7 20:44:50 2007 From: edreamleo at charter.net (Edward K Ream) Date: Fri, 7 Dec 2007 13:44:50 -0600 Subject: Leo 4.4.5 beta 2 released Message-ID: Leo 4.4.5 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This beta 2 release fixes several recently reported bugs. A final release is due in about a week. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html Leo 4.4.5 fixes several long-delayed bug fixes and adds several new features. The highlights of Leo 4.4.5: ---------------------------- - Fixes all known bugs. - Leo now recognizes directives in headlines. - Adds 3 new sort-lines commands. - Adds commands to insert and delete icons from headlines. - Adds all the Tango 16x16 icons to Leo's icon library. - Adds support for @rst-preformat nodes to the rst3 plugin. 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 yahoo.com Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From facundobatista at gmail.com Fri Dec 7 21:33:13 2007 From: facundobatista at gmail.com (Facundo Batista) Date: Fri, 7 Dec 2007 17:33:13 -0300 Subject: Python tickets summary - renewed Message-ID: People: Well, after my hosting allowing CGI, I now improved *a lot* the interface of this page. Now you have more columns: - Id - Summary - Priority - Severity - Components - Versions - Keywords - Opened by (when) - Temporal location - Last update by (when) And, the biggest enhancement, you can filter by any combination of: - Priority - Severity - Component - Version - Keyword As before, you have everything paged, and with a graph of activity per day at the bottom. Enjoy it!: http://www.taniquetil.com.ar/facundo/py_tickets.html Regards, -- . Facundo Blog: http://www.taniquetil.com.ar/plog/ PyAr: http://www.python.org/ar/ From gdementen at gmail.com Sat Dec 8 21:05:09 2007 From: gdementen at gmail.com (Gaetan de Menten) Date: Sat, 8 Dec 2007 21:05:09 +0100 Subject: Elixir 0.5.0 released! Message-ID: I am very pleased to announce that version 0.5.0 of Elixir (http://elixir.ematia.de) is now available. As always, feedback is very welcome, preferably on Elixir mailing list. This is mostly a bug fixes release, but we have also had some pretty important changes to the default values for options. Please look at http://elixir.ematia.de/trac/wiki/Migrate04to05 for detailed upgrade notes. The full list of changes can be seen at: http://elixir.ematia.de/trac/browser/elixir/tags/0.5.0/CHANGES What is Elixir? --------------------- Elixir is a declarative layer on top of the SQLAlchemy library. It is a fairly thin wrapper, which provides the ability to create simple Python classes that map directly to relational database tables (this pattern is often referred to as the Active Record design pattern), providing many of the benefits of traditional databases without losing the convenience of Python objects. Elixir is intended to replace the ActiveMapper SQLAlchemy extension, and the TurboEntity project but does not intend to replace SQLAlchemy's core features, and instead focuses on providing a simpler syntax for defining model objects when you do not need the full expressiveness of SQLAlchemy's manual mapper definitions. Mailing list ---------------- http://groups.google.com/group/sqlelixir/about -- Ga?tan de Menten http://openhex.org From michele.andreoli at katamail.com Sat Dec 8 21:20:50 2007 From: michele.andreoli at katamail.com (Michele Andreoli) Date: Sat, 08 Dec 2007 21:20:50 +0100 Subject: PSSC: Phone Screen Sequential Capture Message-ID: <475afca2$0$17943$4fafbaef@reader1.news.tin.it> Hi group, PSSC allow to see the Symbian S60 phone's display on a window of your Linux PC , using bluetooth connections. Here is the webpage and a video showing the standard scenario: http://mulinux.sunsite.dk/python/pssc.html Best regards, Michele Andreoli From skip at pobox.com Sun Dec 9 02:15:17 2007 From: skip at pobox.com (skip at pobox.com) Date: Sat, 8 Dec 2007 19:15:17 -0600 Subject: bsddb185 v1.0 for Python 2.6 and 3.0 Message-ID: <18267.16805.948614.915298@montanaro.dyndns.org> Python 3.0 will dispense with the rarely used, but occasionally indispensible, bsddb185 module. I extracted the source code and unit tests from the current Python trunk, wrote a setup.py, made a couple slight mods so it would build and pass tests under both Python 2.6 and 3.0. It's available from the Python Package Index: http://pypi.python.org/pypi/bsddb185 Cheers, -- Skip Montanaro - skip at pobox.com - http://www.webfast.com/~skip/ From mmueller at python-academy.de Sun Dec 9 21:41:40 2007 From: mmueller at python-academy.de (Mike =?iso-8859-1?Q?M=FCller?=) Date: Sun, 09 Dec 2007 21:41:40 +0100 Subject: [ANN] Leipzig Python User Group - Meeting, December 11, 2007, 08:00pm Message-ID: <20071209204144.58C0E72AE9EE@vs147134.vserver.de> === Leipzig Python User Group === We will meet on Tuesday, December 11 at 8:00 pm 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, 11.12.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 ms at cerenity.org Mon Dec 10 02:17:19 2007 From: ms at cerenity.org (Michael Sparks) Date: Mon, 10 Dec 2007 01:17:19 +0000 Subject: ANN: Axon.STM 1.0.0 (beta) Minimalistic Software Transactional Memory Message-ID: <13lp4gj2dockm92@corp.supernews.com> Hi, I've packaged up the minimal STM discussed over the past couple of days as a standalone package which I've now uploaded Getting it ========== You can download a beta test version here: http://thwackety.com/Axon.STM-1.0.0.tar.gz Previewing it ============= You can look at the sourcecode online here: https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/branches/private_MPS_Scratch/Bindings/STM/Axon/STM.py Installing it ============= ~ > tar zxf Axon.STM-1.0.0.tar.gz ~ > cd Axon.STM-1.0.0/ ~ > sudo python setup.py install What IS it? =========== Software Transactional Memory (STM) is a technique for allowing multiple threads to share data in such a way that they know when something has gone wrong. It's been used in databases (just called transactions there really) for some time and is also very similar to version control. Indeed, you can think of STM as being like variable level version control. Note: Because this is NOT intended to be persistent, this is not an ACID store because it doesn't support the D - durability across a crash. (after all, we don't save the state to disk) (The other aspects atomicity, consistency & isolation are supported though) I've written this to allow a part of Kamaelia to share & manage a dictionary of atomic values between threads simply, and as a result this code is also going into mainline Kamaelia. (Specifically into Axon Kamaelia's core) However STM is something that should hopefully be of use to others doing concurrent *things* whether or not they're using kamaelia, hence this stand alone release. This stand alone release should *not* be used alongside mainline Axon yet. (Well you can, as long as you reinstall your Axon over the top, but that's icky :-) Why is it useful? ================= [ please skip this (or correct me :) if you understand concurrency already :-) ] Why do you need it? Well, in normal code, Global variables are generally shunned because it can make your code a pain to work with and a pain to be certain if it works properly. Even with linear code, you can have 2 bits of code manipulating a structure in surprising ways - but the results are repeatable. Not-properly-managed-shared-data is to threaded systems as not-properly-managed-globals are to normal code. (This code is one way of helping manage shared data) Well, with code where you have multiple threads active, having shared data is like an even nastier version of globals. Why? Well, when you have 2 (or more) running in parallel, the results of breakage can become hard to repeat as two pieces of code "race" to update values. With STM you make it explicit what the values are you want to update, and only once you're happy with the updates do you publish them back to the shared storage. The neat thing is, if someone else changed things since you last looked, you get told (your commit fails), and you have to redo the work. This may sound like extra work (you have to be prepared to redo the work), but it's nicer than your code breaking :-) The way you get that message is the .commit raises a ConcurrentUpdate exception. Also, it's designed to work happily in code that requires non-blocking usage - which means you may also get a "BusyRetry" exception under load. If you do, you should as the exception suggests retry the action that you just tried. (With or without restarting the transaction) Apologies if that sounds too noddy :) Docs for it =========== http://kamaelia.sourceforge.net/STM Using It ======== # Initialising a Store from Axon.STM import Store S = Store() # Single values greeting = S.usevar("hello") print repr(greeting.value) greeting.set("Hello World") greeting.commit() S.dump() # Groups of values D = S.using("account_one", "account_two", "myaccount") D["account_one"].set(50) D["account_two"].set(100) D.commit() S.dump() D = S.using("account_one", "account_two", "myaccount") D["myaccount"].set(D["account_one"].value+D["account_two"].value) D["account_one"].set(0) D["account_two"].set(0) D.commit() S.dump() License ======= Take your pick of MPL V1.1, GPL 2.0, LGPL 2.1 :-) Feedback ======== Feedback is very welcome, preferably via email to the Kamaelia List * kamaelia-list at lists.sourceforge.net Feedback especially regarding bugs and logical errors is particularly welcome. (hopefully there aren't any - but it's always hard to spot your own) Thanks ====== Many thanks to Fuzzyman, Duncan Booth, John J Lee & Sylvain Hellegouarch for feedback whilst I was prototyping this. Best Regards, Michael. -- Michael Sparks, Kamaelia Project http://kamaelia.sourceforge.net/Developers/ http://yeoldeclue.com/blog From martien.friedeman at gmail.com Mon Dec 10 04:28:59 2007 From: martien.friedeman at gmail.com (martien friedeman) Date: Mon, 10 Dec 2007 16:28:59 +1300 Subject: CodeInvestigator version 0.6.2 released. Message-ID: <8492805A-E5CE-4CD5-B0A0-F907CE45C192@gmail.com> CodeInvestigator version 0.6.2 was released on December 10. This version catches generate exceptions: Runs did not show when the generate failed. And a bug was fixed where variables did not underline when another iteration was selected. CodeInvestigator is a tracing tool for Python programs. Running a program trough CodeInvestigator creates a recording. Program flow, function calls, variable values and conditions are all stored for every line the program executes. The recording is then viewed with an interface consisting of the code. The code can be clicked: A clicked variable displays its value, a clicked loop displays its iterations. You read code, and have at your disposal all the run time details of that code. A computerized desk check tool and another way to learn about your program. http://sourceforge.net/project/showfiles.php?group_id=183942 From gustavo at niemeyer.net Mon Dec 10 18:55:15 2007 From: gustavo at niemeyer.net (Gustavo Niemeyer) Date: Mon, 10 Dec 2007 15:55:15 -0200 Subject: Mocker 0.10 Message-ID: <475D7D83.7090404@niemeyer.net> Greetings! Mocker 0.10 has been released. The list of changes is provided below. Where ----- Links to files and documentation are available at: http://labix.org/mocker About ----- - Graceful platform for test doubles in Python (mocks, stubs, fakes, and dummies). - Inspiration from real needs, and also from pmock, jmock, pymock, easymock, etc. - Expectation of expressions defined by actually using mock objects. - Expressions may be replayed in any order by default, - Trivial specification of ordering between expressions when wanted. - Nice parameter matching for defining expectations on method calls. - Good error messages when expectations are broken. - Mocking of many kinds of expressions (getting/setting/deleting attributes, calling, iteration, containment, etc) - Graceful handling of nested expressions (e.g. "person.details.get_phone().get_prefix()") - Mock "proxies", which allow passing through to the real object on specified expressions (e.g. useful with "os.path.isfile()"). - Mocking via temporary "patching" of existent classes and instances. - Trivial mocking of any external module (e.g. "time.time()") via "proxy replacement". - Mock objects may have method calls checked for conformance with real class/instance to prevent API divergence. - Type simulation for using mocks while still performing certain type-checking operations. - Nice (optional) integration with "unittest.TestCase", including additional assertions (e.g. "assertIs", "assertIn", etc). - More ... Changes in 0.10 --------------- - Greatly improved error messages and logic for expression ordering! - Implemented MockerTestCase.addCleanup(). It allows one to register cleanup functions to be called after the test is complete. - MockerTestCase now verifies if the mocker is put in replay mode in cases where events were recorded. - New MATCH() argument matcher, which allows using a function to match an argument generically. E.g. MATCH(lambda x: x > 10) - New 'path' option to MockerTestCase.makeFile() and makeDir(), which allows setting the full target path with a single option. - Now when a spec is provided (or with proxy/replace/patch) the existence of the real method is checked even if the mocked method doesn't execute. This is useful to detect API expectation errors even if count(0) is used (a negative assertion). - Implemented in MockerTestCase support for Deferred results as understood by Twisted Trial's TestCase, so that coexistence by multiple inheritance is possible and trivial. - MockerTestCase.makeFile() with content=None (the default) now consistently returns an unexistent temporary filename which is properly cleaned up if created. - Fixed problem when requesting order on similar expressions. The second expression might not be accepted. - When the expression executed isn't exactly the same as the recorded events (e.g. when parameter matchers are used), show in the error message the real expression run, to aid in debugging. -- Gustavo Niemeyer http://niemeyer.net From chris.arndt at web.de Mon Dec 10 19:21:22 2007 From: chris.arndt at web.de (Christopher Arndt) Date: Mon, 10 Dec 2007 19:21:22 +0100 Subject: ANN: next pyCologne meeting, Wed Dec 12, 2007, 6:30 pm Message-ID: <475D83A2.1090704@web.de> Dear Pythonistas, the next monthly meeting of pyCologne, the Python User Group K?ln, takes place on: Date: Wednesday Dec 12, 2007 Time: 6:30 Uhr pm c.t. Venue: Room 1.08 , 1st floor, computing centre (RRZK-B) Universit?t K?ln, Berrenrather Str. 136, 50937 K?ln Around 8:30 pm we will head to a nearby establishment and have some drinks, food and a friendly chat or maybe visit the Christmas market. Further information about pyCologne, including directions, photographs and minutes of past meetings etc., can be found on our page in the German Python wiki: http://wiki.python.de/pyCologne CU, Christopher Arndt From ionel.mc at gmail.com Mon Dec 10 22:46:55 2007 From: ionel.mc at gmail.com (Ionel Maries Cristian) Date: Mon, 10 Dec 2007 23:46:55 +0200 Subject: ANN: cogen 0.1.0 coroutine library Message-ID: This is a library for network oriented, coroutine based programming. The interfaces and events/operations aim to mimic thread features. Coroutines work as simple generators, the operations and events work as objects passed in and out of the generator, these objects are managed by the scheduler/network poller. Features * basic scheduling priority management * timeouts for operations * fast network with epoll for linux platforms (select for win32) * send file support * signal events * wsgi server Available at: http://pypi.python.org/pypi/cogen/0.1.0 Project page at: http://code.google.com/p/cogen/ Any feedback is welcome. -- ionel. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-announce-list/attachments/20071210/243c2ef2/attachment.htm From ptmcg at austin.rr.com Mon Dec 10 23:18:18 2007 From: ptmcg at austin.rr.com (Paul McGuire) Date: Mon, 10 Dec 2007 14:18:18 -0800 (PST) Subject: ANN: pyparsing-1.4.10 released! Message-ID: <9effa344-b154-4e48-ae94-18e26e110335@o6g2000hsd.googlegroups.com> I'm happy to announce that I have just uploaded the latest release (v1.4.10) of pyparsing. I had to quick turnaround this release because a bug I thought I had fixed in 1.4.9 still persisted. I now have unit tests to catch the problematic variations in the operatorPrecedence method. This release has a few new features and a few minor bug-fixes. Here are the notes for both 1.4.9 and 1.4.10: Version 1.4.10 - December 9, 2007 --------------------------------- - Fixed bug introduced in v1.4.8, parse actions were called for intermediate operator levels, not just the deepest matching operation level. Again, big thanks to Torsten Marek for helping isolate this problem! Version 1.4.9 - December 8, 2007 -------------------------------- - Added '*' multiplication operator support when creating grammars, accepting either an integer, or a two-integer tuple multiplier, as in: ipAddress = Word(nums) + ('.'+Word(nums))*3 usPhoneNumber = Word(nums) + ('-'+Word(nums))*(1,2) If multiplying by a tuple, the two integer values represent min and max multiples. Suggested by Vincent of eToy.com, great idea, Vincent! - Added pop() method to ParseResults. If pop is called with an integer or with no arguments, it will use list semantics and update the ParseResults' list of tokens. If pop is called with a non-integer (a string, for instance), then it will use dict semantics and update the ParseResults' internal dict. Suggested by Donn Ingle, thanks Donn! - Fixed bug in nestedExpr, original version was overly greedy! Thanks to Michael Ramirez for raising this issue. - Fixed internal bug in ParseResults - when an item was deleted, the key indices were not updated. Thanks to Tim Mitchell for posting a bugfix patch to the SF bug tracking system! - Fixed internal bug in operatorPrecedence - when the results of a right-associative term were sent to a parse action, the wrong tokens were sent. Reported by Torsten Marek, nice job! - Fixed quoted string built-ins to accept '\xHH' hex characters within the string. Download pyparsing 1.4.10 at http://sourceforge.net/projects/pyparsing/. The pyparsing Wiki is at http://pyparsing.wikispaces.com -- Paul ======================================== Pyparsing is a pure-Python class library for quickly developing recursive-descent parsers. Parser grammars are assembled directly in the calling Python code, using classes such as Literal, Word, OneOrMore, Optional, etc., combined with operators '+', '|', and '^' for And, MatchFirst, and Or. No separate code-generation or external files are required. Pyparsing can be used in many cases in place of regular expressions, with shorter learning curve and greater readability and maintainability. Pyparsing comes with a number of parsing examples, including: - "Hello, World!" (English, Korean, Greek, and Spanish(new)) - chemical formulas - configuration file parser - web page URL extractor - 5-function arithmetic expression parser - subset of CORBA IDL - chess portable game notation - simple SQL parser - Mozilla calendar file parser - EBNF parser/compiler - Python value string parser (lists, dicts, tuples, with nesting) (safe alternative to eval) - HTML tag stripper - S-expression parser - macro substitution preprocessor From python-url at phaseit.net Tue Dec 11 16:00:02 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Tue, 11 Dec 2007 15:00:02 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Dec 11) Message-ID: QOTW: "I wrote 20 short programs in Python yesterday. It was wonderful. Perl, I'm leaving you." Randall Munroe title attribute embedded in source of http://xkcd.com/353/ "[M]ost undergraduate degrees in computer science these days are basically Java vocational training." - Alan Kay How Ruby "feels" to a Python programmer: http://groups.google.com/group/comp.lang.python/browse_thread/thread/fe62b9cf1a99a163/ How (not) to check parameter types "the Python way": http://groups.google.com/group/comp.lang.python/browse_thread/thread/3e624ffe0b9b8d0c/6393a7f32bc5e903?#6393a7f32bc5e903 Merging two sorted lists: http://groups.google.com/group/comp.lang.python/browse_thread/thread/9cc0bf2eaf6795d/ A simple question: how old are you? actually isn't so simple: http://groups.google.com/group/comp.lang.python/browse_thread/thread/48aac4ec13c65244/ Using the Python API from C#/.NET: http://groups.google.com/group/comp.lang.python/browse_thread/thread/b9959656a75d8daa/ Distinguishing attributes and methods: http://groups.google.com/group/comp.lang.python/browse_thread/thread/7943ab9f93854eb6/ Python rising in TIOBE index: http://groups.google.com/group/comp.lang.python/browse_thread/thread/6404e4c5ff42581f/ Perhaps it's the antigravity importability: xkcd featuring Python! http://xkcd.com/353/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com 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 edreamleo at charter.net Tue Dec 11 17:03:12 2007 From: edreamleo at charter.net (Edward K Ream) Date: Tue, 11 Dec 2007 10:03:12 -0600 Subject: Leo 4.4.5 final released Message-ID: <9xy7j.190$aG.66@newsfe07.lga> Leo 4.4.5 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.5 fixes several long-delayed bug fixes 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.5: ---------------------------- - Leo now recognizes directives in headlines. - Adds 3 new sort-lines commands. - Adds commands to insert and delete icons from headlines. - Adds all the Tango 16x16 icons to Leo's icon library. - Adds support for @rst-preformat nodes to the rst3 plugin. 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 yahoo.com Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From frank at niessink.com Tue Dec 11 22:35:04 2007 From: frank at niessink.com (Frank Niessink) Date: Tue, 11 Dec 2007 22:35:04 +0100 Subject: [ANN] Release 0.66.3 of Task Coach Message-ID: <67dd1f930712111335n227e0df0rd4565b8985a7262b@mail.gmail.com> Hi, Release 0.66.2 of Task Coach is a bug fix release to work around a bug in the TreeListCtrl widget that caused crashes. The TreeListCtrl widget is used by Task Coach for the task tree view. Hopefully this single fix addresses multiple bug reports that had to do with Task Coach crashing. If not, please let me know. 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 In addition to the source distribution, packaged distributions are available for Windows XP/Vista, 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 limodou at gmail.com Wed Dec 12 02:07:46 2007 From: limodou at gmail.com (limodou) Date: Tue, 11 Dec 2007 17:07:46 -0800 (PST) Subject: ANN: UliPad 3.8.1 released! Message-ID: Bug fix verion. 1. Remove profile invoke(big mistake) 2. Fix svn plugin checkout bug Download: http://ulipad.googlecode.com/files/ulipad.3.8.1.zip http://ulipad.googlecode.com/files/ulipad.3.8.1.exe From kent37 at tds.net Wed Dec 12 13:00:13 2007 From: kent37 at tds.net (Kent Johnson) Date: Wed, 12 Dec 2007 07:00:13 -0500 Subject: Blogmaker 0.5 - blog app for Django Message-ID: <475FCD4D.3000300@tds.net> PreFab Software has released Blogmaker (tm) 0.5, a full-featured, production-quality blogging application for Django. It supports trackbacks, ping and comments with moderation and honeypot spam prevention. Blogmaker is free, open-source software licensed under a BSD license. Blogmaker powers the blogs at http://blog.blogcosm.com/ and http://prefabcosm.com/blog/. Full announcement: http://blog.blogcosm.com/2007/12/06/ Release page with the full feature list and (limited) documentation: http://blogcosm.com/media/blog/release/README.html Blogmaker is hosted at Google code: http://code.google.com/p/blogmaker/ Kent From lists at collab.nl Thu Dec 13 01:49:27 2007 From: lists at collab.nl (Thijs Triemstra | Collab) Date: Thu, 13 Dec 2007 01:49:27 +0100 Subject: [ANN] PyAMF 0.1.0 alpha released Message-ID: <0774E349-93FA-438D-8F9A-00B72839947A@collab.nl> We are pleased to announce the first alpha version of PyAMF. PyAMF [1] is a lightweight library that allows Flash and Python applications to communicate via Adobe's ActionScript Message Format. A summary of features in this release: * AMF0 and AMF3 encoders/decoders * Support for IExternalizable, ArrayCollection, ObjectProxy, ByteArray, RecordSet and RemoteObject * Remoting gateways for Twisted, WSGI, and Django * Authentication/setCredentials support (AMF0 only) * zlib compression support for ByteArray * Remoting client with httplib Check out the download page [2] and installation instructions [3]. Got questions? First stop is the mailing list [4]. Cheers, The PyAMF Team [1] - http://pyamf.org [2] - http://pyamf.org/wiki/Download [3] - http://pyamf.org/wiki/Install [4] - http://pyamf.org/wiki/MailingList From stevech1097 at yahoo.com.au Thu Dec 13 07:49:56 2007 From: stevech1097 at yahoo.com.au (Steven Chaplin) Date: Thu, 13 Dec 2007 15:49:56 +0900 Subject: ANN: pycairo release 1.4.12 now available Message-ID: <1197528596.28733.2.camel@localhost.localdomain> Pycairo is a set of Python bindings for the multi-platform 2D graphics library cairo. http://cairographics.org http://cairographics.org/pycairo A new pycairo release 1.4.12 is now available from: http://cairographics.org/releases/pycairo-1.4.12.tar.gz http://cairographics.org/releases/pycairo-1.4.12.tar.gz.md5 c63199d35b1e1d3c5133509f315f70d7 pycairo-1.4.12.tar.gz Overview of changes from pycairo 1.4.0 to pycairo 1.4.12 ======================================================== General changes: Pycairo 1.4.12 requires cairo 1.4.12 (or later). requires Python 2.4 (or later). Bug fixes: 10006: update autogen.sh to support automake >= 1.10 13460: use python-config to get python includes Other changes: - allow cairo.Context to be subclassed - create a 'doc' subdirectory and start a FAQ file From jkassemi at gmail.com Thu Dec 13 07:38:06 2007 From: jkassemi at gmail.com (tweekgeek) Date: Wed, 12 Dec 2007 22:38:06 -0800 (PST) Subject: Lissard 0.1 Release - Templating System Message-ID: <7629efdc-61ad-4eab-ad88-1dbe92a1942b@a35g2000prf.googlegroups.com> I'd like to announce the alpha release of Lissard -- a minimal python templating system (GPL) designed to be easy to learn, fast, and all together simple to extend. Lissard makes no attempt to complicate it's code base with powerful and generally over-specialized features or syntax enhancements, but offers what I hope many will find as a pleasant middle ground between mod_python's PSP and systems like Jinja and Mako. Full documentation and examples are provided. To download and learn more please visit the Lissard home at http://tweekedideas.com/lissard.html For more information, questions, or comments, feel free to contact me directly at jkassemi at gmail.com. Take it easy, James Kassemi From goodger at python.org Thu Dec 13 18:56:52 2007 From: goodger at python.org (David Goodger) Date: Thu, 13 Dec 2007 12:56:52 -0500 Subject: October PSF Board meeting minutes available In-Reply-To: <473D266C.4000305@python.org> References: <473D266C.4000305@python.org> Message-ID: <4335d2c40712130956u9db46c1v5d98c6a6732017b@mail.gmail.com> Minutes of a Regular Meeting of the Board of Directors of the Python Software Foundation, November 12, 2007: http://www.python.org/psf/records/board/minutes/2007-11-12/ -- David Goodger From python at rcn.com Thu Dec 13 20:41:44 2007 From: python at rcn.com (Raymond Hettinger) Date: Thu, 13 Dec 2007 11:41:44 -0800 (PST) Subject: Call for Papers (Python or PyPy): Workshop on Self-sustaining Systems (S3) 2008 Message-ID: <85a62884-72e2-4f7b-b2f1-62ce3560b0ad@s19g2000prg.googlegroups.com> *** Workshop on Self-sustaining Systems (S3) 2008 *** May 15-16, 2008 Potsdam, Germany http://www.swa.hpi.uni-potsdam.de/s3/ -- Call for papers: The Workshop on Self-sustaining Systems (S3) is a forum for discussion of topics relating to computer systems and languages that are able to bootstrap, implement, modify, and maintain themselves. One property of these systems is that their implementation is based on small but powerful abstractions; examples include (amongst others) Squeak/ Smalltalk, COLA, Klein/Self, PyPy/Python, Rubinius/Ruby, and Lisp. Such systems are the engines of their own replacement, giving researchers and developers great power to experiment with, and explore future directions from within, their own small language kernels. S3 will be take place May 15-16, 2008 at the Hasso-Plattner-Institute in Potsdam, Germany. It is an exciting opportunity for researchers and practitioners interested in self-sustaining systems to meet and share their knowledge, experience, and ideas for future research and development. -- Invited talk: Ian Piumarta: Late-bound Object Lambda Architectures (Viewpoints Research Institute, USA) -- Submissions and proceedings: S3 invites submissions of high-quality papers reporting original research, or describing innovative contributions to, or experience with, self-sustaining systems, their implementation, and their application. Papers that depart significantly from established ideas and practices are particularly welcome. Submissions must not have been published previously and must not be under review for any another refereed event or publication. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality. Revised papers will be published as post-proceedings in the Springer LNCS series. Papers should be submitted electronically via EasyChair at http://www.easychair.org/conferences/?conf=s3 in PDF format. Submissions must be written in English (the official language of the workshop) and must not exceed 20 pages. They should use the LNCS format, templates for which are available at http://www.springer.de/comp/lncs/authors.html. -- Venue: Hasso-Plattner-Institut (Potsdam, Germany) -- Important dates: Submission of papers: February 15, 2008 Author notification: April 11, 2008 Revised papers due: April 25, 2008 S3 workshop: May 15-16, 2008 Final papers for LNCS post-proceedings due: June 6, 2008 -- Chairs: * Robert Hirschfeld (Hasso-Plattner-Institut Potsdam, Germany) * Kim Rose (Viewpoints Research Institute, USA) -- Program committee: * Johan Brichau, Universite Catholique de Louvain, Belgium * Pascal Costanza, Vrije Universiteit Brussel, Belgium * Wolfgang De Meuter, Vrije Universiteit Brussel, Belgium * Stephane Ducasse, INRIA Lille, France * Michael Haupt, Hasso-Plattner-Institut, Germany * Robert Hirschfeld, Hasso-Plattner-Institut, Germany * Dan Ingalls, Sun Microsystems Laboratories, USA * Martin von L?wis, Hasso-Plattner-Institut, Germany * Hidehiko Masuhara, University of Tokyo, Japan * Ian Piumarta, Viewpoints Research Institute, USA * David Ungar, IBM, USA -- Registration fees: Early (until April 18, 2008) * Regular participants: EUR 160 * Students: EUR 80 Late (after April 18, 2008) * Regular participants: EUR 170 * Students: EUR 90 From facundobatista at gmail.com Fri Dec 14 20:51:33 2007 From: facundobatista at gmail.com (Facundo Batista) Date: Fri, 14 Dec 2007 16:51:33 -0300 Subject: Call for Project Participation in Development Sprints at PyCon 2008 Message-ID: Python-related projects: join the PyCon Development Sprints! The development sprints are a key part of PyCon, a chance for the contributors to open-source projects to get together face-to-face for up to four days of intensive learning and development. Newbies sit at the same table as the gurus, go out for lunch and dinner together, and have a great time while advancing their project. At PyCon 2007 in Dallas we must have had 20 projects sprinting. If your project would like to sprint at PyCon, now is the time to let us know. We need to collect the info and publish it, so participants will have time to make plans. We need to get the word out early, because no matter what we do during the conference, most people who haven't already decided to sprint won't be able to stay, because they have a planes to catch and no hotel rooms. In the past, many people have been reluctant to commit to sprinting. Some may not know what sprinting is all about; others may think that they're not "qualified" to sprint. We want to change that perception. * We want to help promote your sprint. The PyCon website, the PyCon blog, the PyCon podcast, and press releases will be there for you. * PyCon attendees will be asked to commit to sprints on the registration form, which will include a list of sprints with links to further info. * We will be featuring a "How To Sprint" session on Sunday afternoon, followed by sprint-related tutorials, all for free. * Some sponsors are helping out with the sprints as well. There's also cost. Although the sprinting itself is free, sprints have associated time and hotel costs. We can't do anything about the time cost, but we may have some complimentary rooms and funding available for sprinters. We will have more to say on financial aid later. Those who want to propose a sprint should send the following information to pycon-organizers at python.org: * Project/sprint name * Project URL * The name and contact info (email & telephone) for the sprint leader(s) and other contributors who will attend the sprint * Instructions for accessing the project's code repository and documentation (or a URL) * Pointers to new contributor information (setup, etc.) * Any special requirements (projector? whiteboard? flux capacitor?) We will add this information to the PyCon website and set up a wiki page for you (or we can link to yours). Projects need a list of goals (bugs to fix, features to add, docs to write, etc.), especially some goals for beginners, to attract new sprinters. The more detail you put there, the more prepared your sprinters will be, and the more results you'll get. In 2007 there were sprints for Python, Jython, Zope, Django, TurboGears, Python in Education, SchoolTool, Trac, Docutils, the Python Job Board, PyCon-Tech, and other projects. We would like to see all these and more! The sprints will run from Monday, March 17 through Thursday, March 20, 2008. You can find more details here: http://us.pycon.org/2008/sprints/. Thank you very much, and happy coding! Facundo Batista, PyCon 2008 Sprint Coordinator David Goodger, PyCon 2008 Chair From dpb at pobox.com Sat Dec 15 01:19:50 2007 From: dpb at pobox.com (Don Bennett) Date: Fri, 14 Dec 2007 16:19:50 -0800 (PST) Subject: ANN: Python-MinGW 2.5.1v2 Message-ID: <75291d0b-a7e8-45d2-a2f4-4713f399c7d2@b1g2000pra.googlegroups.com> Python-MinGW 2.5.1v2 now available ---------------------------------- Python-MinGW 2.5.1v2 is now available. It is available for download at http://sourceforge.net/project/showfiles.php?group_id=182839 . Target Audience --------------- Windows developers who want to compile Python with the MinGW compilers; Linux developers who want a convenient way to download and build a Python environment with lots of add-on modules; What is Python-MinGW? --------------------- Python-MinGW is a set of patches to the python source distribution that can be used to build a Win32 version of python using 'configure' and 'make'. It requires Cygwin to provide a unix-like build environment and the MinGW compiler toolchain for generation of win32 executables. The companion Makefiles package will download and compile the zlib, bzip2, openssl, gdbm, and sqlite libraries. The package can also download and build a number of other python modules after the python build is complete. In addition to driving the win32 build, it is useful for downloading, building, and installing the add-on pieces when building on Linux. For More Information -------------------- Visit the web site at http://python-mingw.donbennett.org . Don Bennett From quentel.pierre at wanadoo.fr Sat Dec 15 08:38:17 2007 From: quentel.pierre at wanadoo.fr (Pierre Quentel) Date: Fri, 14 Dec 2007 23:38:17 -0800 (PST) Subject: buzhug 1.0 released Message-ID: Hi all, buzhug is a fast, pure-Python database engine, using a syntax that Python programmers should find very intuitive The data is stored and accessed on disk (it is not an in-memory database) ; the implementation has been designed to make all operations, and especially selection, as fast as possible. Speed comparisons show much better performance than other popular pure- Python solutions (gadfly, Kirbybase) The new features in version 1.0 are : - a bug fix for the float 0.0 - the support of a new type : datetime.time - the method sort_by() of result sets is made compatible with Python 2.3 Home page : http://buzhug.sourceforge.net/ Tutorial : http://buzhug.sourceforge.net/tutorial.html Download : http://sourceforge.net/project/showfiles.php?group_id=167078 Regards, Pierre From detlev at die-offenbachs.de Sat Dec 15 19:31:37 2007 From: detlev at die-offenbachs.de (Detlev Offenbach) Date: Sat, 15 Dec 2007 19:31:37 +0100 Subject: ANN: eric 4.0.4 released Message-ID: Hi, today I released version 4.0.4 of the eric4 Python IDE. This is a bug fix release. As usual it is available via http://www.die-offenbachs.de/eric/index.html What is eric? ------------- eric is a Python (and Ruby) IDE written using PyQt. It comes with all batteries included. Please see the above link for more details. Regards, Detlev -- Detlev Offenbach detlev at die-offenbachs.de From dmitrey.kroshko at scipy.org Sat Dec 15 21:49:04 2007 From: dmitrey.kroshko at scipy.org (dmitrey) Date: Sat, 15 Dec 2007 12:49:04 -0800 (PST) Subject: ANN: OpenOpt 0.15 (free optimization framework) Message-ID: <65e61980-a21b-4ba2-81f2-a2c23ccb43f2@1g2000hsl.googlegroups.com> Hi all, we are glad to inform you about OpenOpt v 0.15 (release), free (license: BSD) optimization framework for Python language programmers Changes since previous release (September 4): * some new classes * several new solvers written * some more solvers connected * NLP/NSP solver ralg can handle constrained problems * some bugfixes * some enhancements in graphical output (especially for constrained problems) Regards, OpenOpt developers http://scipy.org/scipy/scikits/wiki/OpenOpt http://openopt.blogspot.com/ From alberanid at libero.it Sun Dec 16 09:39:32 2007 From: alberanid at libero.it (Davide Alberani) Date: Sun, 16 Dec 2007 08:39:32 GMT Subject: IMDbPY 3.4 released Message-ID: <1256536.Kkt40zG4LI@snoopy.mio> IMDbPY 3.4 is available (tgz, deb, rpm, exe) from: http://imdbpy.sourceforge.net/ IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people and characters. With this release: support for characters was introduced for both "local" and "sql" data access systems. Some bugs were fixed and now there's a global configuration file to easily configure IMDbPY-based scripts and programs. Platform-independent and written in pure Python (and few C lines), it can retrieve data from both the IMDb's web server and a local copy of the whole database. IMDbPY package can be very easily used by programmers and developers to provide access to the IMDb's data to their programs. Some simple example scripts are included in the package; other IMDbPY-based programs are available from the home page. From frank at niessink.com Sun Dec 16 20:24:21 2007 From: frank at niessink.com (Frank Niessink) Date: Sun, 16 Dec 2007 20:24:21 +0100 Subject: [ANN] Release 0.67.0 of Task Coach Message-ID: <67dd1f930712161124p3dc354efoa6f10cb9afaa2eba@mail.gmail.com> Hi, I'm happy to announce release 0.67.0 of Task Coach. This release makes it possible to color tasks via their categories, adds a translation in Hebrew, and makes it easier to mark tasks as not completed. Bug fixed: * Don't move selection to the first line of the task tree viewer when deleting a subtask. Features added: * Added Hebrew translation thanks to Ziv Barcesat. * You can assign a color to a category. Tasks are colored according to the color of the categories they belong to. * The 'mark task completed' button and menu items can now also be used to mark tasks as not completed. Dependency changed: * Task Coach now needs at least wxPython 2.8.6.0-unicode. Since the Windows installer and the Mac OSX dmg package have wxPython included, this only affects users of the RPM, Debian, and source distributions. 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 In addition to the source distribution, packaged distributions are available for Windows XP/Vista, 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 sdeibel at python.org Mon Dec 17 02:06:23 2007 From: sdeibel at python.org (Stephan Deibel (PSF)) Date: Sun, 16 Dec 2007 20:06:23 -0500 Subject: Donate to the Python Software Foundation! Message-ID: <4765CB8F.4080303@python.org> Hi, Please consider donating to the Python Software Foundation (PSF) this year in your year-end charitable giving. The PSF is the non-profit that holds and protects the intellectual property rights behind Python, keeping it free and open for all to use. We also provide the financial backing that makes PyCon possible, donate to other Python conferences around the world, and fund grants and special projects in the Python community. For general information about the PSF, please see our pages on the Python website: http://www.python.org/psf/ Donations from individuals are tax deductible in the US and may be tax deductible in other countries, or as a business expense. We take credit cards, checks, wire transfers, and PayPal: http://www.python.org/psf/donations/ Businesses invested in Python can also consider becoming a sponsor member of the PSF: http://www.python.org/psf/sponsorship/ Or become a sponsor of PyCon 2008, a great way to gain exposure for your business or find talented Python programmers to hire: http://us.pycon.org/2008/sponsors/ If you have any questions, please email me directly. Thanks, and Happy Holidays! -- Stephan Deibel Chairman of the Board Python Software Foundation http://python.org/psf From edreamleo at charter.net Mon Dec 17 17:33:24 2007 From: edreamleo at charter.net (Edward K Ream) Date: Mon, 17 Dec 2007 10:33:24 -0600 Subject: ANN: Leo 4.4.6 beta 1 released Message-ID: Leo 4.4.6 beta 1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.6 fixes several recently reported bugs, all minor. 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.6: ---------------------------- - Fixes all known bugs. - Added @auto importers for javascript and xml files. - Added find-next-clone and toggle-sparse-move commands. 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 yahoo.com Leo: http://webpages.charter.net/edreamleo/front.html -------------------------------------------------------------------- From martin at v.loewis.de Mon Dec 17 22:07:36 2007 From: martin at v.loewis.de (=?windows-1252?Q?=22Martin_v=2E_L=F6wis=22?=) Date: Mon, 17 Dec 2007 22:07:36 +0100 Subject: [CfP] Workshop on Self-sustaining Systems (S3) 2008 Message-ID: <4766e518$0$13466$9b622d9e@news.freenet.de> *** Workshop on Self-sustaining Systems (S3) 2008 *** May 15-16, 2008 Potsdam, Germany http://www.swa.hpi.uni-potsdam.de/s3/ -- Call for papers: The Workshop on Self-sustaining Systems (S3) is a forum for discussion of topics relating to computer systems and languages that are able to bootstrap, implement, modify, and maintain themselves. One property of these systems is that their implementation is based on small but powerful abstractions; examples include (amongst others) Squeak/Smalltalk, COLA, Klein/Self, PyPy/Python, Rubinius/Ruby, and Lisp. Such systems are the engines of their own replacement, giving researchers and developers great power to experiment with, and explore future directions from within, their own small language kernels. S3 will be take place May 15-16, 2008 at the Hasso-Plattner-Institute in Potsdam, Germany. It is an exciting opportunity for researchers and practitioners interested in self-sustaining systems to meet and share their knowledge, experience, and ideas for future research and development. -- Invited talk: Ian Piumarta: Late-bound Object Lambda Architectures (Viewpoints Research Institute, USA) -- Submissions and proceedings: S3 invites submissions of high-quality papers reporting original research, or describing innovative contributions to, or experience with, self-sustaining systems, their implementation, and their application. Papers that depart significantly from established ideas and practices are particularly welcome. Submissions must not have been published previously and must not be under review for any another refereed event or publication. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality. Revised papers will be published as post-proceedings in the Springer LNCS series. Papers should be submitted electronically via EasyChair at http://www.easychair.org/conferences/?conf=s3 in PDF format. Submissions must be written in English (the official language of the workshop) and must not exceed 20 pages. They should use the LNCS format, templates for which are available at http://www.springer.de/comp/lncs/authors.html. -- Venue: Hasso-Plattner-Institut (Potsdam, Germany) -- Important dates: Submission of papers: February 15, 2008 Author notification: April 11, 2008 Revised papers due: April 25, 2008 S3 workshop: May 15-16, 2008 Final papers for LNCS post-proceedings due: June 6, 2008 -- Chairs: * Robert Hirschfeld (Hasso-Plattner-Institut Potsdam, Germany) * Kim Rose (Viewpoints Research Institute, USA) -- Program committee: * Johan Brichau, Universite Catholique de Louvain, Belgium * Pascal Costanza, Vrije Universiteit Brussel, Belgium * Wolfgang De Meuter, Vrije Universiteit Brussel, Belgium * Stephane Ducasse, INRIA Lille, France * Michael Haupt, Hasso-Plattner-Institut, Germany * Robert Hirschfeld, Hasso-Plattner-Institut, Germany * Dan Ingalls, Sun Microsystems Laboratories, USA * Martin von L?wis, Hasso-Plattner-Institut, Germany * Hidehiko Masuhara, University of Tokyo, Japan * Ian Piumarta, Viewpoints Research Institute, USA * David Ungar, IBM, USA -- Registration fees: Early (until April 18, 2008) * Regular participants: EUR 160 * Students: EUR 80 Late (after April 18, 2008) * Regular participants: EUR 170 * Students: EUR 90 From python-url at phaseit.net Tue Dec 18 17:48:31 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Tue, 18 Dec 2007 16:48:31 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Dec 18) Message-ID: QOTW: "XML. Almost as good as plain text for grepping." - Joe Mason "Where there's IP, there's a way." - Kyler Laird, on network programming Linked lists, deques, and iteration over a mutating container: http://groups.google.com/group/comp.lang.python/browse_thread/thread/1017de91323d9e23/ Containers should compare themselves using only their contained objects's available comparison operators: http://groups.google.com/group/comp.lang.python/browse_thread/thread/65bb28d2adf119d9/ The distinction between methods and callable attributes: http://groups.google.com/group/comp.lang.python/browse_thread/thread/7943ab9f93854eb6/ Discussing alternative loop constructs: http://groups.google.com/group/comp.lang.python/browse_thread/thread/f45f2b1dc4b0ff69/ Analyzing slow code for loading data, and trying to improve it, with general tips on optmization: http://groups.google.com/group/comp.lang.python/browse_thread/thread/4e5c8d57050b0beb/ Unexpected floating point rounding errors: http://groups.google.com/group/comp.lang.python/browse_thread/thread/37e780f3ba6f2e9b/ Improving the Python core (JIT compilation and others), and how the development process works (a long thread started last week) http://groups.google.com/group/comp.lang.python/browse_thread/thread/7a4d66af89ea322b/ Ways to do inter-process communication: http://groups.google.com/group/comp.lang.python/browse_thread/thread/85f7a872b9c87fb2/ The csv module: examples, improvements, and complaints about lack of documentation: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e3a433761c35b245/ Is Python really a "scripting language"? (advocacy) http://groups.google.com/group/comp.lang.python/browse_thread/thread/9e9140f455bc5b3c/ Looping two iterables at once: http://groups.google.com/group/comp.lang.python/browse_thread/thread/e484378334843494/ zip() as its own inverse: http://groups.google.com/group/comp.lang.python/browse_thread/thread/1c055c6d70950a43/ Python compared to Java http://groups.google.com/group/comp.lang.python/browse_thread/thread/c9fa686ca37c86f2/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com 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 jdavid at itaapy.com Thu Dec 20 13:25:08 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Thu, 20 Dec 2007 13:25:08 +0100 Subject: itools 0.20.0 released Message-ID: <476A5F24.1050908@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.uri itools.csv itools.ical itools.vfs itools.datatypes itools.odf itools.web itools.gettext itools.pdf itools.workflow itools.git itools.rest itools.xliff itools.handlers itools.rss itools.xml itools.html itools.stl itools.http itools.tmx The most visible change in this major release is that "itools.cms" has been moved out of itools and is now distributed as a separate package, named "ikaaro". Also in the code reorganization category: "itools.xhtml" has been merged into "itools.html". And the "itools.schemas" package has been removed, since we do the same thing in a different way. The most important change is the architecture overhaul of the "handlers" package. From a functional point of view, the big news is the database layer that has been included, which provides atomic transactions for the file system. But the changes go well beyond that, read the documentation to learn how things work now. Other packages that have seen more or less important API improvements or changes include "itools.catalog", "itools.csv", "itools.datatypes", "itools.rss", "itools.vfs" and "itools.web". There have been also many naming normalizations. Check the upgrade notes for further details. The numbering scheme has changed, we have jumped from the 0.16 to the 0.20 version, and future major releases will be numbered 0.30, 0.40, 0.50, etc. (This change is to define an implicit relationship with the numbering scheme of "ikaaro".) Resources --------- Download http://download.ikaaro.org/itools/itools-0.20.0.tar.gz http://download.ikaaro.org/itools/itools-0.20.0.win32-py2.5.exe http://download.ikaaro.org/itools/itools-0.20.0.win32-py2.4.exe 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 barry at python.org Thu Dec 20 23:27:39 2007 From: barry at python.org (Barry Warsaw) Date: Thu, 20 Dec 2007 17:27:39 -0500 Subject: setuptools_bzr 1.0 Message-ID: <5A262B6D-C8DD-4EB8-976D-9AAE3D35CB00@python.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm happy to announce the setuptools_bzr 1.0 plugin (for Python's setuptools). This allows setuptools to find your Python package files kept under the Bazaar revision control system. This should be compatible with Bazaar 1.0. Please note: this package used to be called setuptoolsbzr, but it was renamed to be more compatible with an emerging standard for other revision control system plugins for setuptools. The project home page was not renamed and the old PyPI package name was deleted. The plugin is available on the Python Package Index (a.k.a. Cheeseshop), here: http://pypi.python.org/pypi?name=setuptools_bzr&version=1.0&:action=display To use the plugin, just modify your setup() function in setup.py like so: setup(... setup_requires = [ 'setuptools_bzr', ], ...) The project home page is on Launchpad: https://launchpad.net/setuptoolsbzr and more information about the Bazaar distributed revision control system can be found here: http://bazaar-vcs.org Enjoy, - -Barry -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iQCVAwUBR2rsXHEjvBPtnXfVAQJP9wQAsh+t/XDwg1s85b11BmJifI3mIMnnGTDx iY+wyAqMllI3S2nQWl8ZPwe4R7s/TuK7klLIkyHVmv86ZE4x3GO8UD183XeXOADj nGcBe8L64SAT+EdVCoju1RrnCiV14xSTSF8JL5WdINakUy8yKI5ZiCfpwI3JK05p TXtLW2aLhSU= =MUct -----END PGP SIGNATURE----- From mario at ruggier.org Sun Dec 23 12:46:37 2007 From: mario at ruggier.org (mario ruggier) Date: Sun, 23 Dec 2007 12:46:37 +0100 Subject: ExcelMailer 0.2 Message-ID: <6eda973ddc788bedd3cd422f7ed708c4@ruggier.org> It is a pleasure to announce this first public release of ExcelMailer. ExcelMailer is a small os-independent command line business tool for emailing personalized messages with attachments. Data and options are specified via an Excel file and the message content via plain text or HTML file templates. For each data row in the Excel file ExcelMailer prepares and sends, when explicitly requested, a personalized MIME email message and its attachments if any. Highlights: - The text message may be in plain text or in HTML or in both i.e. in HTML with an alternative plain text version. - May define any number of data columns (only to is required) that are then all accessible in the message templates with ${ column heading }. - Rich and flexible set of options, that may be conveniently saved in the Excel file itself as well as be explicitly overridden on the command line. - Automatic recognition of input text encodings. Output text is always encoded in UTF-8. - Extensive data validation before sending any messages. No emails are sent unless explicitly requested and all data checks pass. No error goes silent. - Data rows can be tagged, for test runs or selective re-runs. - All actions, such as sending of an email, are logged to a file named ${ excel file }.log, placed alongside the Excel file. Special thanks to John Machin, for the xlrd package, to Bryan Niederberger, for his recipe making using xlrd even easier, and to Skip Montanaro, for some sample code to facilitate handling of input encodings. ExcelMailer is GPL3-licensed, and is available from: http://gizmojo.org/software/excelmailer/ Any and all comments, problem reports, suggestions welcome! Thanks and all the best, mario From chad at zetaweb.com Mon Dec 24 06:41:01 2007 From: chad at zetaweb.com (Chad Whitacre) Date: Mon, 24 Dec 2007 00:41:01 -0500 Subject: [ANN] Aspen 0.8: Introducing Simplates Message-ID: <476F466D.8030706@zetaweb.com> Greetings, program! I'm happy to announce version 0.8 of Aspen, a Python webserver. This version introduces "simplates," which bring Python and web templating as close as possible without actually mixing them. You'll find a 3-minute intro video plus docs and downloads here: http://www.zetadev.com/software/aspen/ Thanks! chad From ms at cerenity.org Mon Dec 24 12:56:10 2007 From: ms at cerenity.org (Michael Sparks) Date: Mon, 24 Dec 2007 11:56:10 +0000 Subject: ANN: Axon.STM 1.0.1 (release) Minimalistic Software Transactional Memory (with examples) Message-ID: <13mv74mr4gm41cd@corp.supernews.com> Hi, I've received some great feedback since the initial beta release of the minimalistic STM code I discussed and released 2 weeks ago. I've incorporated the feedback, and created a couple of examples based on the canonical dining philosophers example. (One based on normal python threads, one based on Kamaelia) It turns out that there was a potential race hazard during "using" and "usevar" which I'd missed - many thanks to Richard Taylor for pointing out this issue. Changelog ========= 1.0.1 * Improved locking. (fixed race hazards during copying for reading - the last release was noted as probably OK for CPython, but maybe not for Jython or IronPython. This version is more robust) * Added Dining Philosophers examples (threading & Axon threading) Getting it ========== You can download this release version here: http://thwackety.com/Axon.STM-1.0.1.tar.gz Installing it ============= ? ? tar zxf Axon.STM-1.0.1.tar.gz ? ? cd Axon.STM-1.0.1/ ? ? sudo python setup.py install What IS it? =========== Software Transactional Memory (STM) is a technique for allowing multiple threads to share data in such a way that they know when something has gone wrong. It's been used in databases (just called transactions there really) for some time and is also very similar to version control. Indeed, you can think of STM as being like variable level version control. Note: Because this is NOT intended to be persistent, this is not an ACID store because it doesn't support the D - durability across a crash. (after all, we don't save the state to disk) (The other aspects atomicity, consistency & isolation are supported though) I've written this to allow a part of Kamaelia to share & manage a dictionary of atomic values between threads simply, and as a result this code is also going into mainline Kamaelia. (Specifically into Axon Kamaelia's core) However STM is something that should hopefully be of use to others doing concurrent things whether or not they're using kamaelia, hence this stand alone release. This stand alone release should not be used alongside mainline Axon yet. (Well you can, as long as you reinstall your Axon over the top, but that's icky :-) Why is it useful? ================= [ please skip this (or correct me :) if you understand concurrency ? already :-) ] Why do you need it? Well, in normal code, Global variables are generally shunned because it can make your code a pain to work with and a pain to be certain if it works properly. Even with linear code, you can have 2 bits of code manipulating a structure in surprising ways - but the results are repeatable. Not-properly-managed-shared-data is to threaded systems as not-properly-managed-globals are to normal code. (This code is one way of helping manage shared data) Well, with code where you have multiple threads active, having shared data is like an even nastier version of globals. Why? Well, when you have 2 (or more) running in parallel, the results of breakage can become hard to repeat as two pieces of code "race" to update values. With STM you make it explicit what the values are you want to update, and only once you're happy with the updates do you publish them back to the shared storage. The neat thing is, if someone else changed things since you last looked, you get told (your commit fails), and you have to redo the work. This may sound like extra work (you have to be prepared to redo the work), but it's nicer than your code breaking :-) The way you get that message is the .commit raises a ConcurrentUpdate exception. Also, it's designed to work happily in code that requires non-blocking usage - which means you may also get a "BusyRetry" exception under load. If you do, you should as the exception suggests retry the action that you just tried. (With or without restarting the transaction) Apologies if that sounds too noddy :) Docs for it =========== http://kamaelia.sourceforge.net/STM Using It ======== # Initialising a Store from Axon.STM import Store S = Store() # Single values greeting = S.usevar("hello") print repr(greeting.value) greeting.set("Hello World") greeting.commit() S.dump() # Groups of values D = S.using("account_one", "account_two", "myaccount") D["account_one"].set(50) D["account_two"].set(100) D.commit() S.dump() D = S.using("account_one", "account_two", "myaccount") D["myaccount"].set(D["account_one"].value+D["account_two"].value) D["account_one"].set(0) D["account_two"].set(0) D.commit() S.dump() Dining Philosophers =================== Pure python version: https://kamaelia.svn.sourceforge.net/svnroot/kamaelia/branches/private_MPS_Scratch/Bindings/STM/Example/Philosophers.py Kamaelia version: import time import Axon from Axon.STM import Store import random def all(aList, value): for i in aList: if value != i: return False return True class Philosopher(Axon.ThreadedComponent.threadedcomponent): forks = ["fork.1", "fork.2"] # default for testing :-) def main(self): # start here :-) while 1: X = self.getforks() time.sleep(0.2) self.releaseforks(X) time.sleep(0.3+random.random()) def getforks(self): gotforks = False while not gotforks: try: X = self.store.using(*self.forks) if all([ X[fork].value for fork in self.forks], None): for fork in self.forks: X[fork].value = self.name X.commit() gotforks = True else: time.sleep(random.random()) except Axon.STM.ConcurrentUpdate: time.sleep(random.random()) print "Got forks!", self.name, self.forks return X def releaseforks(self,X): print "releasing forks", self.name for fork in self.forks: X[fork].value = None X.commit() S = Store() N = 5 for i in range(1,N): Philosopher(store=S,forks=["fork.%d" % i ,"fork.%d" % (i+1)]).activate() Philosopher(store=S,forks=["fork.%d" % N ,"fork.%d" % 1]).run() Feedback ======== Feedback is very welcome, preferably via email to the Kamaelia List ? ? * kamaelia-list at lists.sourceforge.net Feedback especially regarding bugs and logical errors is particularly welcome. (hopefully there aren't any - but it's always hard to spot your own) Thanks ====== Many thanks to Fuzzyman, Duncan Booth, John J Lee & Sylvain Hellegouarch for feedback whilst I was prototyping this. Further thanks go to Richard Taylor for detailed feedback and discussion regarding locking and for pointing me at MASCOT which made me think of doing the dining philosophers this way :-) Future ====== This will be merged onto the mainline of Kamaelia with some auxillary functions , as another feather aimed at making concurrency easy to work with :-) Best Regards, Michael. -- Michael Sparks, Kamaelia Project http://kamaelia.sourceforge.net/Developers/ http://yeoldeclue.com/blog From sebastian.hilbert at gmx.net Tue Dec 25 14:58:03 2007 From: sebastian.hilbert at gmx.net (Sebastian Hilbert) Date: Tue, 25 Dec 2007 14:58:03 +0100 Subject: [ANNOUNCE] GNUmed 0.2.8.0 released Message-ID: <200712251458.18961.sebastian.hilbert@gmx.net> I am pleased to announce GNUmed 0.2.8.0. GNUmed is a comprehensive scalable software solution for electronic medical practices with an emphasis on privacy protection, secure patient centric record sharing, decision support, and ease of use. It is intended to become a sophisticated decision support system that will elevate the quality of medical care that can be delivered. Release focus: Major feature enhancements Changes: A report generator to visualize query results with gnuplot has been added. Exception handling has been improved. The Snellen Chart has been reactivated. KVK handling has officially been included. More hooks and an improved example hook script were added. Demographics handling has been extended to now really support multiple names, addresses, comm channels, and external IDs. Furthermore, there are lots of GUI-accessible configuration options that were always there in the backend but didn't have a frontend to them. File format handling in document management has seen improvements. Information available at http://wiki.gnumed.de packages are available for Debian, Ubuntu and OpenSUSE, Windows and Mac packages will follow soon. -- Sebastian Hilbert Leipzig / Germany [www.gnumed.de] -> PGP welcome, HTML ->/dev/null From sebastian.hilbert at gmx.net Tue Dec 25 14:58:03 2007 From: sebastian.hilbert at gmx.net (Sebastian Hilbert) Date: Tue, 25 Dec 2007 14:58:03 +0100 Subject: [ANNOUNCE] GNUmed 0.2.8.0 released Message-ID: <200712251458.18961.sebastian.hilbert@gmx.net> I am pleased to announce GNUmed 0.2.8.0. GNUmed is a comprehensive scalable software solution for electronic medical practices with an emphasis on privacy protection, secure patient centric record sharing, decision support, and ease of use. It is intended to become a sophisticated decision support system that will elevate the quality of medical care that can be delivered. Release focus: Major feature enhancements Changes: A report generator to visualize query results with gnuplot has been added. Exception handling has been improved. The Snellen Chart has been reactivated. KVK handling has officially been included. More hooks and an improved example hook script were added. Demographics handling has been extended to now really support multiple names, addresses, comm channels, and external IDs. Furthermore, there are lots of GUI-accessible configuration options that were always there in the backend but didn't have a frontend to them. File format handling in document management has seen improvements. Information available at http://wiki.gnumed.de packages are available for Debian, Ubuntu and OpenSUSE, Windows and Mac packages will follow soon. -- Sebastian Hilbert Leipzig / Germany [www.gnumed.de] -> PGP welcome, HTML ->/dev/null ---------------------------(end of broadcast)--------------------------- -To unsubscribe from this list, send an email to: pgsql-announce-unsubscribe at postgresql.org From dwhall256 at gmail.com Wed Dec 26 00:27:50 2007 From: dwhall256 at gmail.com (dwhall) Date: Tue, 25 Dec 2007 15:27:50 -0800 (PST) Subject: ANN: PyCscope release 0.3 Message-ID: <9a74907c-baa6-41d3-9922-1944189de168@t1g2000pra.googlegroups.com> Hello, I would like to announce release 0.3 of PyCscope, a python script to generate a cscope index from a Python source tree. PyCscope uses Python's own parser and AST to generate the index, so it is a bit more accurate than plain cscope. PyCscope may be downloaded from the Cheeseshop http://pypi.python.org/pypi/pycscope/0.3 !!Dean From frank at niessink.com Wed Dec 26 21:37:44 2007 From: frank at niessink.com (Frank Niessink) Date: Wed, 26 Dec 2007 21:37:44 +0100 Subject: [ANN] Release 0.68.0 of Task Coach Message-ID: <67dd1f930712261237n78e5ed9cg27307e02b0c42907@mail.gmail.com> Hi, I'm happy to announce release 0.68.0 of Task Coach. This release makes it possible to open a task from its reminder dialog, adds a command line option to facilitate the PortableApps.com Task Coach distribution, makes starting and stopping effort tracking quicker and fixes a number of bugs. Bugs fixed: * Start and stop tracking effort is faster for tasks that have a large number of associated effort records. * Task Coach now gives an error message if the file that it tries to open doesn't exist. * When selecting all text in a text control with 'a', indeed select all text and not all tasks (Max OSX only). * Attempt to prevent crashes on Fedora 8 that sometimes happen when adding top level tasks. Features added: * It is possible to open a task from its reminder dialog. * Task Coach has a --ini command line option that can be used to specify where the ini file is located. 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 In addition to the source distribution, packaged distributions are available for Windows XP/Vista, 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 python-url at phaseit.net Fri Dec 28 01:49:34 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Fri, 28 Dec 2007 00:49:34 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Dec 28) Message-ID: QOTW: "However, inspection of a vast corpus of code might lead one to believe that any commenting capability was completely unnecessary." - Jim B. Wilson "The Python people also piped [up] to say 'everything's just fine here', but then they always do; I really must learn that language." - Tim Bray A variation on a classic problem: 5 Queens control an 8x8 board without attacking themselves http://groups.google.com/group/comp.lang.python/browse_thread/thread/151f57ac8dc8036c/ Copyright law may undermine our cultural heritage; thoughts by Steven D'Aprano. http://groups.google.com/group/comp.lang.python/browse_thread/thread/f4ccf53b8da9b365/5530b9eda7d4b7ee?#5530b9eda7d4b7ee specially: http://groups.google.com/group/comp.lang.python/msg/35490df9d4d6d4f1 The difference between sequences, iterables, iterators and generic containers succintly explained by Terry Reedy: http://groups.google.com/group/comp.lang.python/browse_thread/thread/c32908c0abc26cab/ How can an extension module use a non-standard memory manager? http://groups.google.com/group/comp.lang.python/browse_thread/thread/ab35cf336660b7af/ Notify an object when one of its attributes is changed indirectly (a.x[0] = 1) http://groups.google.com/group/comp.lang.python/browse_thread/thread/7acf713dc5d6625f/ Implementing fibers (cooperative threads) http://groups.google.com/group/comp.lang.python/browse_thread/thread/2363b861393b1547/ Caching property values to avoid calling expensive code more than once http://groups.google.com/group/comp.lang.python/browse_thread/thread/5b71896c06bd0f76/ "Inner" classes in Python don't behave like they do in other languages http://groups.google.com/group/comp.lang.python/browse_thread/thread/b1176328926441fb/ The shortest explanation of what metaclasses do that I've seen! by Steven Bethard http://groups.google.com/group/comp.lang.python/browse_thread/thread/fe77dd2c97837541/ Monkey-patching a class that inherits from old- and new-style base classes doesn't work as expected http://groups.google.com/group/comp.lang.python/browse_thread/thread/7f63d6e1ad78553f/ Basic guidelines about usage of local variables, globals and function arguments http://groups.google.com/group/comp.lang.python/browse_thread/thread/2a632f7bb5f7097d/ .NET and Python integration http://groups.google.com/group/comp.lang.python/browse_thread/thread/9bd3798f3f0bb4ba/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com 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 titus at caltech.edu Fri Dec 28 07:49:34 2007 From: titus at caltech.edu (Titus Brown) Date: Thu, 27 Dec 2007 22:49:34 -0800 Subject: RELEASE: twill 0.9 Message-ID: <20071228064934.GC26913@caltech.edu> ANNOUNCING twill v0.9. twill is a simple language for browsing the Web. It's designed for automated testing of Web sites, but it can be used to interact with Web sites in a variety of ways. In particular, twill supports form submission, cookies, redirects, and HTTP authentication. This release of twill is officially "Pretty Dang Stable". A twill script to use the "I'm feeling lucky" button on Google looks like this: setlocal query "twill Python" go http://www.google.com/ fv 1 q $query submit btnI # use the "I'm feeling lucky" button show (Note that using this script abuses Google's Terms of Service. So don't.) You can install the latest release of twill with easy_install, easy_install twill or download this release at http://darcs.idyll.org/~t/projects/twill-0.9.tar.gz Documentation is included in the .tar.gz and is also online at http://twill.idyll.org/ Miscellaneous details: twill is implemented in Python and uses pyparsing and mechanize. In addition to the existing simple command language, twill can easily be extended with Python. twill also provides a fairly simple and well-documented wrapper around mechanize. Note that twill does not understand JavaScript. --- Significant changes with 0.9: - many small bugs were fixed, of course! - patched subprocess pipe problem (Chris Abraham). This fixes problems with long-running twill processes. - twill now "plays nice" with other versions of mechanize and ClientForm (good for including it in distributions). - Corrected license information => MIT in all files. - new 'info' command gives human-readable page summary. From mdipierro at cs.depaul.edu Fri Dec 28 11:33:47 2007 From: mdipierro at cs.depaul.edu (Massimo Di Pierro) Date: Fri, 28 Dec 2007 04:33:47 -0600 Subject: Gluon 1.15 is out Message-ID: <398C62DE-2E1E-40FA-A00F-ACA593D61F59@cs.depaul.edu> Hello everybody, Gluon 1.15 is out. This is a free open source framework for agile development of secure database driven web applications, written in Python, programmable in Python. Stable API and supported since October 1st 2007. http://mdp.cti.depaul.edu http://www.vimeo.com/428474 (video tutorial) http://mdp.cti.depaul.edu/appliances (free plugin apps for gluon with source) Some features: no installation (it is a single executable), no configuration files, no shell commands, all development, deployment and maintenance is done via a web interface built-in ticketing system; if your app has a bug it is logged, the user is notified and ticket is issued so that the administrator can retrieve the event via the administrative interface. Example of a COMPLETE working gluon app: ---------- model: db.py ------------ db=SQLDB('sqlite://file.db') db.define_table('images',SQLField('file','upload')) ---------- controller: default.py --------- def index(): form=SQLFORM(db.images) if form.accepts(request.vars,session): response.flash='image uploaded' return dict(form=form) ------------------------------------------- what does it do? it creates the database, creates the table (if it does not exists) or alters the table (if description does not match), creates a web page called index with an upload form for the image. When the visitor clicks submit, the file is uploaded, renamed in a safe way, stored in a file serverside, the name is stored in the database, and the user is a notified. It also creates a session and handles it via a cookie. It also writes a web based administrative interface for the newly created database. Massimo From amk at amk.ca Sat Dec 29 16:39:26 2007 From: amk at amk.ca (A.M. Kuchling) Date: Sat, 29 Dec 2007 10:39:26 -0500 Subject: PyCon 2007 podcast now available Message-ID: <20071229153926.GA2715@amk.local> We've now begun posting talks from PyCon 2007, hosted at . You can subscribe to the RSS feed, download individual talks from the feed, or listen to talks from your browser using a Flash-based MP3 player. You can also find the PyCon 2007 podcast on the iTunes store; search for 'PyCon' to find it. The currently posted talks include: Studying Internet Censorship: A Python Case Study What Every Open Source Developer Must Know About Intellectual Property Becoming an Open Source Developer: Lessons from the Django Project Python and wxPython for Experimental Economics IronPython: Present and Future PyDX: Mathematics Is Code Web Frameworks Panel Iterators in Action New talks will be posted at least once per week. Andrew M. Kuchling amk at amk.ca Director, Python Software Foundation http://www.python.org/psf/ From cthedot at gmail.com Sat Dec 29 17:50:40 2007 From: cthedot at gmail.com (Christof Hoeke) Date: Sat, 29 Dec 2007 17:50:40 +0100 Subject: ANN: cssutils 0.9.4b1 Message-ID: what is it ---------- A Python package to parse and build CSS Cascading Style Sheets. main changes since 0.9.4a4 -------------------------- for full details for 0.9.4b1 see the relevant CHANGELOG: http://cssutils.googlecode.com/svn/tags/TAG_0.9.4b1/CHANGELOG.txt 0.9.4b1 - **FEATURE**: Added ``csscombine`` script which currently resolves @import rules into the input sheet. No nested @imports are resolved yet and @namespace rules do not work yet though! + **BUGFIX**: Serializing escape sequences add a single SPACE after each escape. This was not present until now so a sequence like "\\74 a" did come out as "\\000074a" which was not as intended. Also as a SPACE is inserted in any case all escapes are not padded to 6 digits anymore but are only as long as needed. + **BUGFIX**: Handling of illegal selectors is now same as the W3C CSS validator (and according the selector spec - I hope ;). Illegal selectors result the complete rule being dropped. Fixed are the following (edge) cases: ``a/**/b`` Meant was probably a space between a and b (plus maybe the comment) but it MUST be inserted. IE and Safari nevertheless seem to parse this rule as ``a b`` so as if a space would be present. cssutils now parses this selector as intented by the spec as ``ab``. ``a*b`` Again spaces around the UNIVERSAL ``*`` were probably meant by the author. IE and Safari seem to parse this **invalid** selector as ``a b``. cssutils ignores this rule completely! + BUGFIX: ``css.CSSRuleList`` is still a Python list but setting methods like ``__init__``, ``append``, ``extend`` or ``__setslice__`` are added later on instances of this class if so desired. E.g. CSSStyleSheet adds ``append`` which is not available in a simple instance of this class! This has been changed as no validation is possible in CSSRuleList itself. + IMPROVEMENT: Added better ``str`` and ``repr`` to cssutils.serializer.Preferences + IMPROVEMENT: Added position information to some error reportings (Property, CSSMediaRule + some internal changes license ------- cssutils is published under the LGPL. download -------- for download options for see http://cthedot.de/cssutils/ cssutils needs Python 2.4 or higher (tested with Python 2.5 on Vista only) bug reports, comments, etc are very much appreciated! thanks, Christof From jonesy at pythonmagazine.com Mon Dec 31 05:53:57 2007 From: jonesy at pythonmagazine.com (Brian Jones) Date: Sun, 30 Dec 2007 23:53:57 -0500 Subject: December Issue of Python Magazine Now Available Message-ID: <6e5927ff0712302053r6167113dic80cb58dd8036d92@mail.gmail.com> Hi all, I'm happy to announce that the December issue of Python Magazine was released on Dec. 24. If you're already a subscriber, go download your PDF! If you're a print subscriber, your issue should arrive in the next few weeks. If you're *not* a subscriber, I hope you'll visit the site to see what we're all about (http://www.pythonmagazine.com). Also, go download the sample issue --> http://pymag.phparch.com/c/issue/view/60 Also, if you're doing something cool with Python, please come write for us! I've just updated a list of topic ideas that we'd like to see covered in Python magazine (http://www.protocolostomy.com/2007/12/30/python-magazines-article-wish-list/), but if you're doing something interesting that's not on the list - all the better! Drop us a line -> http://pymag.phparch.com/c/contact/editorial Thanks! brian. -- Brian K. Jones Python Magazine http://www.pythonmagazine.com My Blog http://www.protocolostomy.com From cfbolz at gmx.de Mon Dec 31 17:30:19 2007 From: cfbolz at gmx.de (Carl Friedrich Bolz) Date: Mon, 31 Dec 2007 17:30:19 +0100 Subject: PyPy-Sprint 12th-19th January Leysin, Switzerland Message-ID: <4779191B.9070401@gmx.de> ===================================================================== PyPy Leysin Winter Sprint (12-19th January 2008) ===================================================================== .. image:: http://www.ermina.ch/002.JPG The next PyPy sprint will be in Leysin, Switzerland, for the fifth time. This is a fully public sprint: newcomers and topics other than those proposed below are welcome. ------------------------------ Goals and topics of the sprint ------------------------------ * Like previous winters, the main side goal is to have fun in winter sports :-) We can take a couple of days off for ski; at this time of year, ski days end before 4pm, which still leaves plenty of time to recover (er, I mean hack). * the overall idea of the sprint is to continue working on making PyPy ready for general use. A few more specific tasks: - app-level ctypes: getting to a basically usable point would be really nice. - JIT: there is a long-standing timeshifter refactoring, towards making the JIT be more interpreter-like. Starting it during the sprint might be a good way to share some of the knowledge of how the JIT really works. Alternatively, we can work on supporting ootype in the timeshifter. - Testing: e.g. we run various nightly test runs but the results are not summarized in a single page yet. - LLVM: llvm 2 is now at version 2.1 and nicely stable again. Our llvm backend has improved in the last few months, but refactoring it together with the genc backend to share code more directly would be a nice task. * We are open to all sorts of other tasks during the sprint, just propose something. ----------------------- Location & Accomodation ----------------------- Leysin, Switzerland, "same place as before". Let me refresh your memory: both the sprint venue and the lodging will be in a very spacious pair of chalets built specifically for bed & breakfast: http://www.ermina.ch/. The place has a good ADSL Internet connexion with wireless installed. You can of course arrange your own lodging anywhere (so long as you are in Leysin, you cannot be more than a 15 minute walk away from the sprint venue), but I definitely recommend lodging there too -- you won't find a better view anywhere else (though you probably won't get much worse ones easily, either :-) I made pre-reservations in the Chalet, so please *confirm* quickly that you are coming so that we can adjust the reservations as appropriate. The rate so far has been around 60 CHF a night all included in 2-person rooms, with breakfast. There are larger rooms too (less expensive) and maybe the possibility to get a single room if you really want to. Please register by svn: http://codespeak.net/svn/pypy/extradoc/sprintinfo/leysin-winter-2008/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 You need a Swiss-to-(insert country here) power adapter. There will be some Swiss-to-EU adapters around - bring a EU-format power strip if you have one. ----------- Exact times ----------- Officially, 12th-19th January 2008. Both dates are flexible, you can arrive or leave earlier or later. We will give introductions and tutorials depending on who needs them, either on the 13th or the 14th. From jdavid at itaapy.com Mon Dec 31 17:35:13 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Mon, 31 Dec 2007 17:35:13 +0100 Subject: itools 0.20.1 released Message-ID: <47791A41.5050006@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.uri itools.csv itools.ical itools.vfs itools.datatypes itools.odf itools.web itools.gettext itools.pdf itools.workflow itools.git itools.rest itools.xliff itools.handlers itools.rss itools.xml itools.html itools.stl itools.http itools.tmx This is a bug fix release. The packages concerned are "itools.datatypes", "itools.handlers", "itools.ical", "itools.vfs" and "itools.web". Resources --------- Download http://download.ikaaro.org/itools/itools-0.20.1.tar.gz http://download.ikaaro.org/itools/itools-0.20.1.win32-py2.5.exe http://download.ikaaro.org/itools/itools-0.20.1.win32-py2.4.exe 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 jdavid at itaapy.com Mon Dec 31 17:36:39 2007 From: jdavid at itaapy.com (=?UTF-8?B?IkouIERhdmlkIEliw6HDsWV6Ig==?=) Date: Mon, 31 Dec 2007 17:36:39 +0100 Subject: ikaaro 0.20.0 released Message-ID: <47791A97.30209@itaapy.com> This is a Content Management System built on Python & itools, among other features ikaaro provides: - content and document management (index&search, metadata, etc.) - multilingual user interfaces and content - high level modules: wiki, forum, tracker, etc. This is the first release of ikaaro as a separate package (before it was distributed as a sub-package of the "itools" [1] library). >From a functional and visual point of view, the changes of this release are modest: - Now we have a friendlier user interface to manage multilingual web pages. - Following the W3C recommendations [2], type extensions have been drop from the URI, so for example "http://.../index.html" becomes "http://.../index". However, the most important changes concern the architecture and the programming interface, and are strongly related to the changes in the latest itools version. This is the (new) architecture diagram: 4) The Content Management System (ikaaro) ----------------------------------------------------------------- 2) File Handlers & Database (itools.handlers) | 3) Web Framework ---------------------------------------------- | (itools.web) 1) Virtual File System (itools.vfs) | Summarizing: now the distinction between the different layers is cleaner. Another important change from the architecture point of view, we have decentralized three different aspects: - the definition of the fields to be indexed - the definition of the metadata fields - the upgrade logic Before these three aspects were defined globally, now they are centered on the objects. This means, for instance, that now it should be much more easy to develop third-party modules. Please check the upgrade notes for a more detailed description of what has changed. [1] http://www.ikaaro.org/itools [2] http://www.w3.org/Provider/Style/URI.html Resources --------- Download http://download.ikaaro.org/ikaaro/ikaaro-0.20.0.tar.gz Home http://www.ikaaro.org/ikaaro 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 Dec 31 16:35:45 2007 From: python-url at phaseit.net (Gabriel Genellina) Date: Mon, 31 Dec 2007 15:35:45 +0000 (UTC) Subject: Python-URL! - weekly Python news and links (Dec 31) Message-ID: QOTW: "I find the best approach is to use multiple languages." - Roger Binns "All generators can be re-written with classes using the iterator protocol." - Jean-Paul Calderone Mutable default arguments revisited: http://groups.google.com/group/comp.lang.python/browse_thread/thread/33b7b1a1f62c9d91/ itertools.dropwhile/takewhile might be deprecated: http://groups.google.com/group/comp.lang.python/browse_thread/thread/8e19a68c0047430a/ Getting n items at a time from a generator: http://groups.google.com/group/comp.lang.python/browse_thread/thread/4696a3b3e1a6d691/ A design decision: have an Article class, want a list of all Articles: http://groups.google.com/group/comp.lang.python/browse_thread/thread/9be37092d1c3c465/ Looking for a common API for parallel processing: http://groups.google.com/group/comp.lang.python/browse_thread/thread/57ef7cf6fc5e49b2/ Why is pythonXX.dll installed in a system directory, and not besides the python executable? http://groups.google.com/group/comp.lang.python/browse_thread/thread/1c165cabaa7208eb/ ======================================================================== 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. Just beginning with Python? This page is a great place to start: http://wiki.python.org/moin/BeginnersGuide/Programmers The Python Papers aims to publish "the efforts of Python enthusiats": http://pythonpapers.org/ The Python Magazine is a technical monthly devoted to Python: http://pythonmagazine.com 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.