KirbyBase 1.5 is now available at:
What is KirbyBase?
KirbyBase is a simple, pure-Python, plain-text, flat-file database
management system that can be used either embedded in your application
or in a client/server, multi-user mode.
To find out more about KirbyBase, go to:
Well after reading some posts on comp.lang.python about how slow eval
can be, I set about eliminating eval from KirbyBase. It resulted in
uglier code, but increased performance, enough of a performance increase
that I figured I would go ahead and release a new version.
Specifically, the changes are:
Changed the way queries are handled internally. Instead of doing an
eval to do numeric and datetime comparisons, I changed it to do the
actual comparison itself. This resulted in a 40% speed increase on
large queries that do comparison expressions.
Changed how data is passed between the server and the client in
client/server mode. I now use cPickle instead of repr and eval. This
resulted in an approximately 40% speed increase in client/server
An anecdotal example, doing a date range select query against a 78,000
record table returning 23,800 records in the result set.
Version 1.4: 13 seconds
Version 1.5: 8 seconds
Who says Python isn't fast? :)
I have updated the version of Python to 2.3-2. The tarballs should be
available on a Cygwin mirror near you shortly.
Note this package was built against Cygwin 1.5.2-1. Hence, it *is* an
official 64-bit, Cygwin 1.5.x package.
Python is an interpreted, interactive, object-oriented programming
language. If interested, see the Python web site for more details:
Please read the README file:
since it covers requirements, installation, known issues, etc.
To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page. This downloads setup.exe to your
system. Then, run setup and answer all of the questions.
Note that we have recently stopped downloads from sources.redhat.com
(aka cygwin.com) due to bandwidth limitations. This means that you will
need to find a mirror which has this update.
In the US,
is a reliable high bandwidth connection.
is usually pretty good.
In the UK,
is usually up-to-date within 48 hours.
If one of the above doesn't have the latest version of this package
then you can either wait for the site to be updated or find another
The setup.exe program will figure out what needs to be updated on your
system and will install newer packages automatically.
If you have questions or comments, please send them to the Cygwin
mailing list at: cygwin(a)cygwin.com . I would appreciate if you would
use this mailing list rather than emailing me directly. This includes
ideas and comments about the setup utility or Cygwin in general.
If you want to make a point or ask a question, the Cygwin mailing list
is the appropriate place.
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6
I am pleased to announce version 2.0.0 of the Python bindings for GTK.
The new release is available from ftp.gtk.org or ftp.gnome.org and its
GTK is a toolkit for developing graphical applications that run on POSIX
systems such as Linux, Windows and MacOS X (provided that the X server
for MacOS X has been installed). It provides a comprehensive set of GUI
widgets, can display Unicode bidi text. It links into the Gnome
Accessibility Framework through the ATK library.
PyGTK provides a convenient wrapper for the GTK library for use in
Python programs, and takes care of many of the boring details such as
managing memory and type casting. When combined with PyORBit and
gnome-python, it can be used to write full featured Gnome applications.
Like the GTK library itself PyGTK is licensed under the GNU LGPL, so is
suitable for use in both free software and proprietary applications. It
is already in use in many applications ranging from small single purpose
scripts up to large full features applications.
PyGTK requires GTK >= 2.0 and Python >= 2.2 to build.
Questions about PyGTK can be directed at the list:
Bug reports should be filed at the Gnome bug tracker:
I am very glad to announce the release of libtagedit 1.0 beta2 and its
Libtagedit is a C++ library with Python bindings using sip
(www.riverbankcomputing.co.uk) to make editing tags, information or
comments in music files easy. It has a plugin infrastructure for easy
extension and supports MP3 (ID3v2 reading/writing and ID3v1 reading),
Ogg Vorbis and (new in this release!) FLAC files.
Due to the different structure and information stored in the several
music formats, this library only supports the storage of the seven
fields Title, Artist, Album, Year, Genre, Tracknumber and Comment (all
of arbitrary length in every file format). Also, length and bitrate
will be read from the file (more technical information like channels and
sample rate may be added in future 1.x releases). Editing the tags can
take place without any knowlegde of the file format on the disk, so
having complete albums consisting of different formats is not a problem
Furthermore, using the Python bindings, file information can be easily
read out or changed in scripts or interactive sessions.
Creating, for example, m3u files becomes a cakewalk:
--== sample code ==--
m3ufile = file("files.m3u", "w")
for f in os.listdir("."):
if os.path.splitext(f) not in tageditor.tagEditorExts():
tag = tageditor.createTagEditor(f)
"#EXTINF:%i,%s - %s\n" % (tag.getLength(),
m3ufile.write(tag.filename() + "\n")
--== end of sample code ==--
.: Changes since 1.0b1:
2003-08-31 Torsten Marek <shlomme(a)gmx.net>
* added FLAC support
* changes/additions to the build system, now Ogg Vorbis and FLAC
are disabled when not detected on the system
* released as 1.0b2
2003-06-01 Torsten Marek <shlomme(a)gmx.net>
* in id3Tag::getSongInfo():
replaced head |= tmp by head |= (unsigned char)tmp to avoid
wrong length computation
There aren't any changes in the Python bindings, they're just for
Ogg Vorbis libraries (optional)
FLAC C and C++ libraries (optional)
Python 2.2 or 2.3 with distutils
.: Where to get it:
.: Where to send questions:
Torsten Marek <shlomme(a)gmx.net>
Oops, I was so excited I left the link to the project out in the last annoucement.
Coil (http://coil.sourceforge.net) is an MVC framework for Python based on the Struts project. The
goal of the project is to provide enough features to be useful and no
- Apache 2.x
- mod_python 3.x
- Python 2.2 or greater
- Linux (devel platform)
Windows (not thoroughly tested)
- Easy configuration
- Automatic form handling (via XML config)
- Multiple rendering layers or views (Cheetah, Spyce, and PSP)
- It's Python instead of Java :)