I have just released version 0.0.19 of Shed Skin, an optimizing
Python-to-C++ compiler. It allows for translation of pure
(unmodified), implicitly statically typed Python programs into
optimized C++, and hence, highly optimized machine language. This
latest release adds basic support for iterators and generators, as
well as a full implementation of the random module (by converting it
to C++ from a Python implementation), among other things.
For more details, please visit the homepage at:
"One of my most productive days was throwing away 1000 lines of code"
- Ken Thompson
Lucas Holland and Marius Meinert continue their introductory German
Python series, in this instalment they have released their 5th and
German video descriptions:
Operatoren und Datentypen
"In dieser Episode geht es um Operatoren und Datentypen, die eine
Grundlage für die weiteren Episoden bilden."
Objektorientierte Programmierung (OOP)
"In dieser Episode behandeln wir das Paradigma der objektorientierten
Programmierung, auf welchem Python basiert."
About Lucas Holland and Marius Meinert:
This is Lucas and Marius' first ShowMeDo series and the have made
our first non-English series. If you like their videos, please
leave some words of encouragement and thanks for their efforts.
Free videos (we call them ShowMeDos) showing you how to do things.
The videos are made by us and our users, for everyone. 72 of our
145 videos are for Python, with more to come.
We'd love to have more contributions - would you share what you know?
Ian Ozsvald, Kyran Dale
A new version of DirectPython is now available at
What is it?
DirectPython is a C++ extension to the Python programming
language which provides basic access to DirectX (9.0c) API,
including Direct3D, DirectSound, DirectShow and DirectInput.
The full distribution is very easy to install and it includes
many samples and documentation that show the basics of
DirectPython programming. No additional packages are needed.
Whats new in 0.8.0?
Too much to mention here. Check the release notes for more
information. There are some changes which break backwards
compatibility with 0.7.
A Windows operating system (98 and up) with Python (2.4/2.5)
and DirectX 9.0c installed.
I'm happy to announce partial 1.0; a module to implement
partial classes in Python. It is available from
A partial class is a fragment of a class definition;
partial classes allow to spread the definition of
a class over several modules. One location serves
as the original definition of the class.
To extend a class original_module.FullClass with
an additional function, one writes
from partial import *
class ExtendedClass(partial, original_module.FullClass):
def additional_method(self, args):
This module is licensed under the Academic Free License v3.0.
Please send comments and feedback to martin(a)v.loewis.de
I am pleased to announce the stable version 2.10.4 of the Python bindings
The new release is available from ftp.gnome.org and its mirrors
as soon as its synced correctly:
GTK is a toolkit for developing graphical applications that run on
systems such as Linux, Windows and MacOS X. 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.
What's new since 2.10.3 ?
- Documentation build fixes (John Finlay, Gustavo)
- Return NULL on error in TextBuffer.register_serialize_format
- Do not overwrite sys.argv (JP Calderone)
- Add status icon example (Nikos Kouremenos)
- Make it possible to remove rows in the gtk.TreeModel.foreach
- Code generator fix for %define (#381389, Manish Singh)
- Duplicate GdkEvent.string member when setting it (#382428,
Gustavo, John Ehresman)
- Make it possible to use automake 1.10 (Kjartan Maraas)
- distutils build fixes (#385934, Sebastien Bacher, Michael Bienia)
- Allow None to be passed into gdk.Display (Johan)
- Undeprecate gtk.container_class_list_child_properties (Johan)
- Fix memory leak in gtk.Container.child_get (Gian Mario Tagliaretti)
PyGTK requires GTK+ >= 2.8.0 and Python >= 2.3.5 to build.
Bug reports, as always, should go to Bugzilla; check out
http://pygtk.org/developer.html and http://pygtk.org/feedback.html for
links to posting and querying bug reports for PyGTK.
I am pleased to announce the release of bridge 0.2.4, a general purpose
XML library for Python and IronPython.
== Overview ==
bridge is very simple and light. It basically let you load an XML
document via a set of different parsers (xml.dom, expat, Amara, lxml,
System.Xml and ElementTree) and creates a tree of Elements and
Attributes before releasing the parser resources.
This means that once the document is loaded it is independent from the
bridge then provides a straightforward interface to navigate through the
tree and manipulate it.
bridge does not try to replace underlying XML engines but offer a common
API so that your applications are less dependent of those engines.
bridge offers a couple of other goodies however to play with the tree of
elements (see the documentation).
== What's new? ==
This release is an important milestone for bridge:
* added expat parser (seems to be the fatest parser bridge has)
* many namespace issues fixed with the default parser
* added incremental parsing with dispatching based on rules during the
parsing of bridge Elements
* added path lookup support (not XPath)
* slightly increased the API of a few helps functions
== TODO ==
Potentially the IronPython implementation is not as up-to-date as the
All parsers will generate the same bridge structure. The only minor
difference at the present time is coming from the lxml parser which does
not preserve processing instructions and comments before the root
element. bridge cannot therefore access them.
Add more unit tests.
== Download ==
* easy_install -U bridge
* Tarballs http://www.defuze.org/oss/bridge/
* svn co https://svn.defuze.org/oss/bridge/
== Documentation ==
-- Sylvain Hellegouarch
Ophelia 0.2 was released today.
Ophelia creates XHTML pages from templates written in TAL, the Zope Tag
Attribute Language. It is designed to reduce code repetition to zero.
At present, Ophelia contains a request handler for the Apache2 web server.
Ophelia is released under the Zope Public License, version 2.1.
To use Ophelia 0.2, you need:
- Python 2.4 or better
- mod_python 3.1 or better
- the zope.tal package from Zope3 and anything it depends upon
WSGI support is planned for a future version, possibly 0.3.
The package is available from the Python package index as a source
distribution and as eggs for both Python 2.4 and 2.5:
You can access the source code repository at
browse it using ViewCVS at
or visit Ophelia's web page, containing a commented live usage example, at
>From the documentation:
What kind of sites is Ophelia good for?
Consider Ophelia as SSI on drugs. It's not fundamentally different, just a
lot friendlier and more capable.
Use Ophelia for sites where you basically write your HTML yourself, except
that you need write the recurring stuff only once. Reducing repetition to zero
comes at a price: your site must follow a pattern for Ophelia to combine your
templates the right way.
Consider your site's layout to be hierarchical: there's a common look to all
your pages, sections have certain characteristics, and each page has unique
content. It's crucial to Ophelia that this hierarchy reflect in the file
system organization of your documents; how templates combine is deduced from
their places in the hierarchy of directories.
Ophelia makes the Python language available for including dynamic content.
Each template file may include a Python script. Python scripts and templates
contributing to a page share a common set of variables to modify and use.
Ophelia's content model is very simple and works best if each content object
you publish is its own view: the page it is represented on. If you get content
from external resources anyway (e.g. a database or a version control
repository), it's still OK to use Ophelia even with multiple views per content
object as long as an object's views don't depend on the object's type or even
the object itself.
Trying to use Ophelia on a more complex site will lead to an ugly entanglement
of logic and presentation. Don't use Ophelia for sites that are actually web
interfaces to applications, content management systems and the like.
Updated versions of both `ConfigObj <http://www.voidspace.org.uk/
python/configobj.html>`_ and `Validate <http://www.voidspace.org.uk/
python/validate.html>`_ are now available.
* `ConfigObj 4.4.0 <http://www.voidspace.org.uk/cgi-bin/voidspace/
* `Validate 0.2.3 <http://www.voidspace.org.uk/cgi-bin/voidspace/
**ConfigObj** is a Python module for the simple reading and writing of
config files. It has many features, whilst remaining easy to use.
With the assistance of **Validate** it can validate a config file
against a specification, and convert members to the expected type.
Thanks to Nicola Larosa who implemented most of the fixes in this
What is New in ConfigObj 4.4.0?
* Made the import of compiler conditional so that ConfigObj can be
used with IronPython.
* Fix for Python 2.5 compatibility.
* String interpolation will now check the current section before
checking DEFAULT sections. Based on a patch by Robin Munn.
* Added Template-style interpolation, with tests, based on a patch by
* Allowed arbitrary indentation in the ``indent_type`` parameter.
* Fixed Sourceforge bug #1523975 by adding the missing ``self``
What is New in Validate 0.2.3?
Fixed validate doc to talk of boolean instead of bool; changed the
``is_bool`` function to ``is_boolean`` (Sourceforge bug #1531525).