ANNOUNCE: sqlkit 0.8.6
September, 12 - 2009
I'm happy to announce release 0.8.6 of sqlkit package for python.
This is the first stable release. It features a new interface for the
standalone command (sqledit), many improvements and functions added.
We have used pyinstaller to create standalone executable for Linux and Mac,
you can download them to use the application and to run the demo.
It's now registered in pypi so you can 'easy_install' it.
I'm currently looking for a debian sponsor to upload the package in sqeeze.
A new tutorial is available here:
Refer to http://sqlkit.argolinux.org/download/Changelog for details
SQLkit PyGtk package provides Mask and Table widgets to edit database
data. It's meant as a base for database desktop applications.
It also provides 'sqledit' a PyGTK application based on sqlkit that can be
used from command line to browse and edit data.
The package has 2 very rich demo suites for sql widgets (the main one in
sqlkit/demo/sql/demo.py) and for layout creation
If you like sqlkit and want to help translating, you may find the project on:
Main features of sqlkit:
* editor of databases in 2 modes: table & mask
* based on sqlalchemy: can cope with many different databases
* very powerfull filtering capabilities:
- each field can be used to filter records
- filter may span relationship
- date filtering possible also on relative basis (good for saved
* completion on all text field and foreign keys
* very easy way to draw a layout for mask views
* completely effortless editing of relationships
* very easy way to set defaults
* possibility to display totals of numeric fields
* any possible sql constraint can be attached to a Mask or a
Table. It can be expressed a s a normal sqlalchemy query or with
* sqledit: python script to edit db
Sqlkit is based on:
* python (>= 2.4 - but developed on 2.5)
* Sqlalchemy (>= 0.5)
* babel (localization)
* you db driver of choice
Dowload & more:
* Download: http://sqlkit.argolinux.org/sqlkit/download.html
* Source: hg clone http://hg.argolinux.org/py/sqlkit
* Google Group: http://groups.google.it/group/sqlkit/
* Translation: https://launchpad.net/sqlkit
* Tutorial: http://sqlkit.argolinux.org/sqlkit/tutorial.html
* Changelog: http://sqlkit.argolinux.org/download/Changelog
* License: GNU GPL
(HTML version of email)
September is well upon us and it looks like it's already time for
another Scientific Computing with Python webinar. Next week, Travis
Oliphant will be hosting a presentation on regression analysis in
NumPy and SciPy. As you are probably aware, Travis was the primary
developer of NumPy, so we're fortunate to have him presenting these
tools. Here's a word on what to expect Friday:
A common scientific and engineering need is to find the parameters to
a model that best fit a particular data set. A large number of
techniques and tools have been created for assisting with this general
problem. They vary based on the model (e.g. linear or nonlinear), the
characteristics of the errors on the data (e.g. weighted or un-
weighted), and the error metric selected (e.g. least-squares, or
This webinar will provide an overview of the tools that SciPy and
NumPy provide for regression analysis including linear and non-linear
least-squares and a brief look at handling other error metrics. We
will also demonstrate simple GUI tools that can make some problems
easier and provide a quick overview of the new Scikits package
statsmodels whose API is maturing in a separate package but should be
incorporated into SciPy in the future.
Here's the registration information:
Scientific Computing with Python Webinar: Regression analysis in NumPy
Friday, September 18
1pm CDT/6pm UTC
Register at GoToMeeting: https://www1.gotomeeting.com/register/632400424
Hope to see you there!
Scientific Computing Solutions
I've just uploaded the Pygments 1.1 packages to CheeseShop. Pygments is a
generic syntax highlighter written in Python.
Download it from <http://pypi.python.org/pypi/Pygments>, or look at the
demonstration at <http://pygments.org/demo>.
Many thanks go to Tim Hatch for writing or integrating many of the bug
fixes and new features in this release. Of course, thanks to all other
- Ported Pygments to Python 3; use "python3 setup.py build" and
"python3 setup.py install" as usual with the source distribution.
- Lexers added: Antlr/Ragel, (Ba)sh shell, Erlang shell, GLSL, Prolog,
Evoque, Modelica, Rebol, MXML, Cython, ABAP, ASP.net (VB/C#),
- Fixed the LaTeX formatter's output so that output generated for one style
can be used with the style definitions of another (#384).
- Added "anchorlinenos" and "noclobber_cssfile" (#396) options to HTML
- Fixed lots of major and minor bugs in many lexers.
- Added new-style reStructuredText directive for docutils 0.5+ (#428).
Module download at SourceForge http://yserial.sourceforge.net
Serialization + persistance :: in a few lines of code, compress and
annotate Python objects into SQLite; then later retrieve them
chronologically by keywords without any SQL. Most useful "standard"
module for a database to store schema-less data.
The module is instructive in the way it unifies the standard
batteries: sqlite3 (as of Python v2.5), zlib (for compression), and
cPickle (for serializing objects).
If your Python program requires data persistance, then y_serial is a
module which should be worth importing. All objects are warehoused in
a single database file in the most compressed form possible. Tables
are used to differentiate projects. Steps for insertion, organization
by annotation, and finally retrieval are amazingly simple...
y_serial.py module :: warehouse Python objects with SQLite
dh, the daemon helper
The daemon helper starts any program or script as a daemon. It's a
small C program with a simple interface and a liberal license.
Get the files and do:
make install clean
To build and install dh. Don't try to run the Sh.install script
directly, it must be invoked using the Makefile.
I use dh for starting scripts which read fifos fed by syslog. They
block on read until syslog provides data to work on. They never end,
and need help to start as "daemons."
But that's just one example. There are many other potential uses for
the daemon helper.
dh is its name; a natural companion to sh.
I use dh on Linux, but was curious about portability. With some minor
changes, I compiled and installed it on NetBSD 5.0.1 x86. So now it's
It's a cool tool, it reports problems encountered when trying to exec
the target daemon program or script. Debian's start-stop-deamon can't
do that, nor can any other daemon tool I know of.
It's minimal, with only one command line option, -p. Avoiding unneeded
bells and whistles was my intentional design.
In six months time, I could lose interest in computers, start a new
career, and the work would be lost forever. Someone who likes C more
than I do should adopt dh and help it grow.
But if you do, don't believe what Stevens wrote about ignoring SIGHUP
before the second fork(). It's not true, so don't write voodoo code to
handle it! See the thread in c.u.p with the subject "Orphaned process
groups, daemon startup, SIGHUP."
If you can't adopt dh, but have ideas for patches, send them. But if I
don't respond, well then, you're on your own.
There is no man page for dh, but the README explains how to use it.
If there is enough interest, maybe someday I will give dh an official
version number and use some version control. But for now, the date of
last modification is all there is.
Webmail for Dialup Users
Chicago Python User Group
History, Tradition, Technology and Journalism meet this Thursday at
one of our nations most historical landmarks, Tribune Tower--right off
the Chicago River on the Magnificent Mile. This *new* venue speaks to
the movement of journalism into technology and technology into Python.
So, this will be one of most interesting venues and will provide a
solid platform for the best user group meeting in the history of
newspapers. We may even channel DjangoCon going on at the same time on
the West coast.
Bring a friend. This will is going to be great!
RSVP Right NOW to: brian (at) hackerjournalist.net if you even think
you might make it.
* (30 min) Somewhat Advanced SQLAlchemy - Daniel Griffin
* (30 min) Python port of Geo::StreetAddress::US library - Joe Germuska
* (30 min) "Not using AMQP to super charge your Django apps!" --
* (15 min) "Hello, and Beyond" -- Clyde Forrester
Thursday, September 10th, ~7pm
Tribune Tower, 435 N. Michigan Ave.
RSVP to brian (at) hackerjournalist.net
(before) Kinzie Chop House (some plan to gather around 4:30)
(after) Billy Goat is obvious (and with merit) OR CND Gyros & Lounge
ChiPy is a group of Chicago Python Programmers, l33t, and n00bs.
Meetings are held monthly at various locations around Chicago.
Also, ChiPy is a proud sponsor of many Open Source and Educational
efforts in Chicago. Stay tuned to the mailing list for more info.
ChiPy website: <http://chipy.org>
ChiPy Mailing List: <http://mail.python.org/mailman/listinfo/chicago>
ChiPy Announcement *ONLY* Mailing List: <http://mail.python.org/mailman/listinfo/chipy-announce
Python website: <http://python.org>
I am happy to announce the release of Distribute 0.6.1.
- What is Distribute ?
Distribute is a friendly fork of the Setuptools project. More info
at http://pypi.python.org/pypi/distribute and
* zip_ok is now True by default.
* package_index.urlopen now catches BadStatusLine and malformed url errors.
* Fixed invalid URL error catching.
* Fixed invalid bootstraping with easy_install installation. Thanks to
Florian Shchulze for the help
* Removed buildout/bootstrap.py. A new repository at bitbucket.org
will create a specific bootstrap.py script.
* The bootstrap process leave setuptools alone if detected in the
system and --root, --user or --prefix is provided, but is not in the
The next release of the 0.6 series will try to adress all remaining
bugs in the tracker,
The first 0.7 release, which targets Python 3, is still under heavy work.
Tarek Ziadé | http://ziade.org | オープンソースの岩！
We'll be having our regular Toronto Area Python User's group meeting at
Linux Caffe on Tuesday the 15th of September at 7:05pm.
Parallelization in Python: Code Samples, Experiences and Advocacy
Unlike functional languages (Haskel, Erlang), where parallelization
is "baked into" the language, Python programmers often have to do a
bit of work to get their code to run in parallel. We have a huge
number of libraries that allow you to run your code concurrently, so
this month we're going to collect code samples and descriptions of
how you go about making your code run in parallel, and when each
approach is appropriate.
So, to participate, spelunk through your codebases and try to find a
few examples of parallel programming, whether it be threads,
multiprocessing, database-based concurrency, file-base concurrency,
grid systems, GPGPU code, continuations, green-threads, MPI, RPC,
Twisted, asyncore, raw sockets/pipes or any of the dozens of other
approaches. If possible, have a piece of code that shows "how it
works in practice" and maybe consider how to answer these questions:
* How does it (the mechanism of parallelization) work (loosely)?
* What benefits does it give you?
* What problems does it introduce?
* How does it scale (up/down)?
* What level of granularity makes sense for it?
* How does it handle communication between code?
* How parallel can you get effectively? (10s of nodes? 10s of
* Does it handle contention/locking/conflicts?
* How stable/reliable is it?
We'll try to keep the discussion lively and interesting.
Venue details, maps and the like on the web-site:
We'll also likely have a discussion about putting together a series of
1/2 or 1-day classes (in a more formal classroom-like setting) for new
Have fun all,
Mike C. Fletcher
Designer, VR Plumber, Coder