I wrote a python / Tkinter framework for a program which lets you
create an arbitary number of canvases and draw on them. Then you can
use one canvas for the notes and other canvas for volume.
The frame work can load plugins to process the drawing on the canvases
and create music. I write one plugin which is extremely basic but functional.
However it did produce music.
You can download it on sourceforge. search for musex or try
If anyone is interested in participating please send me a mail on
sreekant UNDERSCORE kodela at yahoo dot com.
Pexpect -- a Pure Python Expect-like module
Pexpect is a pure Python module for spawning applications; controlling
them; and responding to their output.
The purpose of the pexpect module is to make Python be a better glue.
Pexpect is a pure Python module for spawning child applications;
controlling them; and responding to expected patterns in their output.
pexpect works like Don Libes' Expect. Use pexpect when you want to
control another application. It allows you to start a child application
and have your script control it as if a human were typing commands.
Pexpect can be used for automating interactive applications such as ssh,
ftp, passwd, telnet, etc. It can be used to a automate setup scripts for
duplicating software package installations on different servers. It can
be used for automated software testing. pexpect is in the spirit of Don
Libes' Expect, but pexpect is pure Python. Other Expect-like modules for
Python require TCL and Expect or require C extensions to be compiled.
pexpect does not use C, Expect, or TCL extensions. It should work on any
platform that supports the standard Python pty module. The pexpect
interface was designed to be easy to use so that simple tasks are easy.
License: Open Source
Categories: Python Tools/Extensions
Noah Spurrier (noah(a)noah.org)
<a href="http://sourceforge.net/projects/pexpect/">Pexpect -- a Pure
Python Expect-like module</a> -- Pexpect is a pure Python module for
spawning applications; controlling them; and responding to their output.
Hey Folks-- Here is a set of tools that will make dealing with RPMs a bit
- merge multiple directories containing various versions of RPMs in
to on directory that has symlinks to the most up to date version of each
- install packages based on name, and have all of the dependencies
installed automatically (rpm_install.py)
- update all of the RPMs on a system (do_update.py)
- great examples of using various features in the python rpm module
Linux Cluster Systems Programmer
Comprehensive (?) test wrapper for unit testing
Add some extra testing, and wrap up all the unit test modules for the
current project (right now, it's limited to the current directory).
Works with a set of (arbitrary, right now) coding conventions: 1) A
project directory will have a set of "Implementation" files named *.py
2) Each implementation module should have a corresponding unit test
module, named 'Test' + implementation module name 3) Every "public"
class in the implementation module needs a corresponding test class. 4)
All the unit test modules are named Test*.py. Each has a module level
function named Suite() which returns something compatible with
unittest.TestSuite. This builds a set of unit tests to enforce those
conventions. It also checks through the project for recursive imports.
And it imports Test*.py and runs all the unittests found that way.
Categories: Python Utilities, Programming Tasks
James Ashley (j_r_ashley(a)makgifts.com)
<a href="www.makgifts.com/James">TestOverall/0.1</a> -- Comprehensive
(?) test wrapper for unit testing
I'm happy to announce that pyOpenSSL 0.5 has been released. It includes
many bug fixes and a lot of new functionality. Mainly thanks to numerous
contributions from an (apparently!) growing user base. Thank you everyone!
The goodies include:
* Better support for RPM building
* More example code
* It works with Python 1.5 (for what it's worth ;))
Grab the release from
martin(a)strakt.com ICQ : 41245059
Phone: +46 (0)31 7710870 Cell: +46 (0)739 169191
GPG key: http://www.strakt.com/~martin/gpg.html
Last Call for Participation
Pike Conference 2002 - Aug 22-24
Pike and the Semantic Web
In one week, during August 22-24, 2002, RISE will host a Pike User Group Meeting
in Linköping, Sweden (http://pike.ida.liu.se/conferences/2002/). RISE invites
the Pike programmers all over the world to come to Linköping and hear about the
future of Pike, the Semantic Web and make friends with other Pike people from
all corners of the world.
Pike is a second generation Java-like language, has a fast and reliable
implementation, many killer applications, and a well running open source
development community (http://pike.ida.liu.se/). Pike runs on most flavours of
Unix, on the Win32 platform and MacOS X.
Besides maintaining Pike a fast and reliable platform as it has been in the
past, a main RISE goal is to make it the first scripting language for the
Semantic Web. As a language, Pike is much better suited for the Semantic Web
than Java or C#, since it provides multiple inheritance, sets, relations, and
dynamic arrays. A second goal is to embed software composition technology into
Pike. In the long run, Pike will be extended with modern concepts such as
connectors or aspects. This way, Pike will strengthen the RISE center, whose
mission is to develop practical composition and integration technology for
There will be workshops/discussions on various topics and an opportunity for
people to present papers on relevant topics, give short presentations of
projects etc. (Papers, abstracts and other material should be submitted in
advance so we can schedule them properly. The tentative deadline is July 31 for
The conference will charge a small fee (20 Euro) to cover arrangement expenses.
Payment can be made in cash on arrival. Registration can be submitted by email
to stensson(a)pike.ida.liu.se (or just hit reply), or in a web form at
For more information, visit http://pike.ida.liu.se/conferences/2002/.
Your Pike people at IDA;
Release 3.3 of The SkunkWeb Web Application Server has just
The release is available from the SkunkWeb home page at
or directly from
Changes in 3.3
* Developer's manual updated
* fix to PyDO/mysql so that you can put NULL values into columns
* minor change to handling of python code files (__name__ is now set
to '__main__' in the document namespace), so precompiled Cheetah
* fix to the cachekey generator so it won't dump core under certain
---3.3 beta 0 cut
* the build process was revised to facilitate changing the installed
directory structure using standard configure options; FHS-compliant
packaging and installation is now feasible.
* PSP support added. For now should be considered alpha
* Prebuilt documentation is now included in the distribution (HTML and
paper-formats in letter dimensions)
* now can have skunkweb started as root (can set who you actually want
it to run as) so you can bind to low ports
* new extcgi service so you can run CGI's from SkunkWeb!
* new pycgi service for running Python CGI's in process -- still in
* vfs.FS has new method, split_extra(), that finds extra path info;
the rewrite service has a new DynamicRewriter subclass,
ExtraPathFinder, which takes advantage of it (although a simple
rewrite rule is still more efficient to use when possible -- see the
* fixed userModuleCleanup bugs when using MySQL service and/or used
<:img:> tag with PIL installed.
* pydo/mysql now supports connection caching using the mysql service.
* PyDO documentation updates
* The userdir service will now function properly when operating with a
* Now converts non-native line-endings in exprs to the native line
ending so that when editing templates on non-native machines,
expressions will work properly
* auth service fix when using multiple auth schemes simultaneously --
BACKWARD INCOMPATIBLE CHANGE AHEAD---
If you customized the login/logout pages copied from the auth
service directory, NOTE THE FOLLOWING CHANGE!!
change the <:import SkunkWeb Configuration:> to <:import auth:>
change the Configuration.authAuthorizer bits to auth.getAuthorizer().
If you copied them and didn't change them, recopy them.
* the logger now handles some really bizarre cases that shouldn't ever
happen in reality (but of course have, or I wouldn't have fixed
them). Oh the benefits of a machine with bad memory to make you
test for things that shouldn't happen.
A minor patch release of pygame is now available, version 1.5.2.
(All great packages deserve a 1.5.2 release i suppose)
Pygame 1.5.2 released on Aug 14, 2002
Pete Shinners (pete(a)shinners.org)
Version 1.5.2 was mainly released to fix a licensing problem with
the included default font. Originally we included the "helmet bold"
font included with openoffice. We have switched to the FSF's
FreeMonoBold font, which is comparable. There are only minor
enhancements, and no major bugfixes since the previous 1.5 version.
Pygame is a set of python modules written to help create games in
Python, using the SDL library. It allows for the creation of high
quality games, yet simple enough for the beginning user to get
This may interest you if have a Palm Pilot, or if you are interested
in custom parsing html files.
Those of you with Palm Pilots may be familiar with Weasel reader
(http://sourceforge.net/projects/gutenpalm/). I really like this
reader because, besides being free software, it gives the best
compression that I have seen, and it allows for bookmarks to be
generated on the fly as it converts from txt format to its ztxt (pdb)
The problem for me was that the converter did not know how to handle
html files. So I wrote a little Python program to do this and I
called it WeaselWeb. It is licensed as free software under the GPL.
WeaselWeb will attempt to convert html files by preserving many of
the characteristics of the original file, such as tables, bullets, and
other formatting features. If you are interested, get it from here:
There is a nice self installing package for Windows. However, the
Linux version will need a little help since I do not yet have a usable
Linux machine. I would like to eventually create a standalone version
for Linux as well. (If some one would like to help with this, please
be my guest.)
Any way, I hope you enjoy it.