I'm pleased to announce release 0.64.1 of Task Coach. This is a bug
fix release that should fix the following bugs:
* Task Coach would complain about an error when closing the
application. This was due to a missing package in the Windows
* On Linux, Task Coach was not very helpful when the taskcoachlib
package is installed for a different python version than the one the
user is starting Task Coach with.
What is Task Coach?
Task Coach is a simple task manager that allows for hierarchical
tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is
developed using Python and wxPython. You can download Task Coach from:
In addition to the source distribution, packaged distributions are
available for Windows XP, Mac OSX, and Linux (Debian and RPM format).
Note that Task Coach is alpha software, meaning that it is wise to back
up your task file regularly, and especially when upgrading to a new release.
the next monthly meeting of pyCologne, the Python User Group Köln, takes
Date: Wednesday June 13, 2007
Time: 6:30 Uhr pm c.t.
Venue: Hörsall 301 (3. Etage), Institut für Informatik,
Universität Köln, Pohligstr. 1, 50969 Köln, Germany
!!! ATTENTION: NEW VENUE !!!
Around 9 pm we will head to a nearby establishment and have some drinks,
food and a friendly chat.
Further information about pyCologne, including directions, photographs
and minutes of past meetings etc., can be found on our web site on the
German Python wiki:
I created two new google groups to mirror the activity of python-dev
There are many mirrors out there, but none of them lets you post
to a thread. With google groups you can just hit "reply" on the
message you want to reply to, and that's it. No need to send an
email to the group (although you still need to register your email
with python mailing list).
Supports searching, tree-view, list-view, fixed/proportional font,
of read/unread messages, etc. Enjoy.
Version 1.2 of MMA - Musical MIDI Accompaniment - is now
available for downloading. Included in this release:
A new command set which lets MMA create and play MIDI files on-the-
Some additional synchronization options,
Smoother volume changes with (De)Crescendos,
Minor bug fixes/improvements.
See the entire change log in the included CHANGES-1.1 file.
MMA is a accompaniment generator -- it creates midi tracks
for a soloist to perform with. User supplied files contain
pattern selections, chords, and MMA directives. For full details
If you have any questions or comments, please send them
=== Leipzig Python User Group ===
We will meet on Tuesday, June 12 at 08:00pm at the training
center of Python Academy in Leipzig, Germany
( http://www.python-academy.com/center/find.html ).
Food and soft drinks are provided. Please send a short
confirmation mail to info(a)python-academy.de, so we can prepare
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
=== Leipzig Python User Group ===
Wir treffen uns am Dienstag, 12.06.2007 um 20:00 Uhr
im Schulungszentrum der Python Academy in Leipzig
( http://www.python-academy.de/Schulungszentrum/anfahrt.html ).
Für das leibliche Wohl wird gesorgt. Eine Anmeldung unter
info(a)python-academy.de wäre nett, damit wir genug Essen
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.
We'd like to strengthen and raise the visibility of Python usergroups and
foster the creation of new ones, by sharing the valuable experiences of those
leaders around the community who make it happen.
 One step is to make others more aware of what is already happening,
perhaps in their own neighborhood re Python meetings. I've created a
shared blog and invite organizers of existing groups to send me their
email address to get privs to post to it.
Because these postings will be distributed far and wide, a posting should
be of interest to those who did not attend but are considering doing so,
or that might be instructive to organizers in other cities. An overview of
what was covered in a past meeting, or an announcement with substance on
what an upcoming meeting is going to be about are good postings. A simple
date and local address, or that the pizza was good last week, is not. ;-)
 A second step is to encourage and support new organizers in forming groups
in their area. There is a strong demand for such meetings, but many are
uncertain how to go about it. Therefore I've created a new mailing list
on which experienced and new organizers can share tips on getting started,
whether about getting the word out, finding a place to meet or getting
Those of us with a history of involvement in a usergroup often forget that
many people have never attended a usergroup meeting, or lack experience in
running one, so let's help strengthen this aspect of Python. We could use
some videos or photos of group meetings as well, posted to
youtube.com/flickr.com and the link emailed to me for use.
I'd also like to reach out to the existing, successful usergroups and ask them
to spread the word about their efforts by being interviewed by Ron Stephens on
Python411, and/or writing up an article on how your group got started for
Tennessee Leeuwenburg of _The Python Papers_. Even a simple "what a typical
meeting is like in my area" is helpful.
It would be especially interesting to see how usergroups operate in various
countries around the world, and perhaps help bring together these regions.
In closing, please, for existing usergroups as well as new ones coming online,
update the entry for your group on the roster of Python usergroups.
Following along with the current lolcat fad, and taking inspiration
I've implemented LOLPython. For details and downloads see
Here's an example implementation of a Fibonacci number generator
SO IM LIKE FIBBING WIT N OK?
LOL ITERATE FIBONACCI TERMS LESS THAN N /LOL
SO GOOD N BIG LIKE EASTERBUNNY
BTW, FIBONACCI LIKE BUNNIES! LOL
U BORROW CHEEZBURGER
U BORROW CHEEZBURGER
I CAN HAZ CHEEZBURGER
HE CAN HAZ CHEEZBURGER
WHILE I CUTE?
I AND HE CAN HAZ HE AND I ALONG WITH HE
IZ HE BIG LIKE N?
U BORROW HE
The lolpython.py runtime converts LOLPython to Python.
def FIBBING ( N ) :
'ITERATE FIBONACCI TERMS LESS THAN N'
assert N >= 0
# BTW, FIBONACCI LIKE BUNNIES! LOL
I = 1
HE = 1
I , HE = HE , I + HE
if HE >= N :
and by default exec's the translated code.
You might also be interested looking at the code because I
use PLY for tokenization and translate the token stream into
Python code which is then exec'ed. The neatest part was
making the exec'ed code act like it was in __main__ using
module_name = "__main__"
python_s = to_python(lolpython_s)
m = types.ModuleType(module_name)
sys.modules[module_name] = m
exec python_s in m.__dict__
which is a trick others might use when implementing
interesting import hooks.
Please note that LOLPython does not implement the lolcode standard
language. While I was influenced by some of the language I wanted
something which was semantically equivalent to Python, including
support for classes, exceptions and the yield statement.
For an implementation of lolcode in Python (and also using PLY)
see sjlol at:
and a full list of implementations at
including IDE support in Visual Studio.
Pythomnic is a platform for building non-stop middleware around a set
of network services. It allows changing source code and configuration
on the fly without interrupting the live service. Pythomnic modules
can be invisibly migrated from one server to another for redundancy
or load balancing. Such middleware can take as much business logic
as necessary, from being a simple adapter to an integration platform.
New in version 5.0:
* RPC channels are protected with cryptographic HMAC signature.
* Client request timeouts are rigorously enforced and can be queried
from the application code using new pmnc_time_left construct.
* Centralized two-phase lock manager can be deployed and used for
network-wide mutual exclusion with a pmnc_lock construct.
* New shell-like interface allows connecting to a service using telnet
and sending it commands for controlling external equipment, software
or the service itself.
+ More documentation