what is it
A Python package to parse and build CSS Cascading Style Sheets.
main changes since 0.9.3
for full details see the relevant README file
- **FEATURE**: Added a new module ``cssutils.codec`` that registers
a codec that can be used for encoding and decoding CSS.
- **FEATURE**: Added implementation of ``stylesheets.MediaQuery``
which are part of stylesheets.MediaList. See the complete spec at
http://www.w3.org/TR/css3-mediaqueries/ for details.
+ **API CHANGE**: ``CSSNamespacerule.uri`` is renamed to
``CSSNamespaceRule.namespaceURI`` which is defined is CSSOM. ``uri`` is
deprecated and still available but the constructor parameter is named
``namespaceURI`` in any case now.
+ **API CHANGE**: As ``stylesheets.MediaQuery`` is implemented now
all classes using an instance of ``stylesheets.MediaList`` are presented
slightly different. Until now a simple list of string was given, now the
list contains MediaQuery objects.
+ **API CHANGE**: ``_Property`` has been renamed to
``css.Property`` and is used in context of ``CSSStyleDeclaration`` and
``MediaQuery``. Attribute ``Property.value`` has been *de-deprecated*
and may be used normally now (again). The Property constructor has only
optional parameters now.
+ **API CHANGE**: Removed experimental class
``SameNamePropertyList`` which was used in ``CSSStyleDeclaration`` and
also method ``CSSStyleDeclaration.getSameNamePropertyList``. A new
method ``CSSStyleDeclaration.getProperties()`` has been added which is
simpler and more useful
+ **API CHANGE**: renamed attribute ``namespaces`` of CSSStyleSheet
and Selector to ``prefixes`` as they really are the prefixes of declared
+ BUGFIX: Tantek hack (using ``voice-family``) should work now as
SameNamePropertyList is removed and properties are kept in order
- **CHANGE**: A completely new tokenizer and mostly also the parser
have been reimplemented in this release. Generally it should be much
more robust and more compliant now. It will have new errors and also
some slight details in parsing are changed.
+ **Documentation**: Added some docs in reStructuredText format
including a basic server to view it as HTML. The HTML may be published
cssutils is published under the LGPL.
for download options for cssutils 0.9.4a1 - 071020 see
* Python 2.4 or higher (tested with Python 2.5 on Vista only)
bug reports, comments, etc are very much appreciated!
I'm happy to announce release 0.65.3 of Task Coach. This bugfix
release fixes one critical bug that affects users on the Windows
platform and several minor bugs that affect users on all platforms.
* Don't leak GDI objects on Windows.
* Don't notify of new version when the user has just installed that version.
* Mail disappears from Outlook when dropped in TaskCoach. Try to use
Outlook to open mail attachment when it's the "default" mailer.
* Mail task doesn't work.
* Categories not sorted correctly.
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/Vista, 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.
Version 1.4 of my scalar class is available at
No major changes. I have corrected the "repr" function to make it more
useful, and I have added a "unit_type" function that returns the type
of a unit (e.g., time, length, force). The unit_type function is
intended mainly for interactive, "calculator-style" use.
If you do scientific or engineering calculations or programming,
please check out my scalar class. I think you'll like it.
It will relieve you of the burden of keeping track of units ("darn, I
can't remember if that angle is in radians or degrees?"). And the
really nifty thing about it is that, when you want high execution
speed for production runs, you can easily switch off the units with a
simple change of the import line. All the unit objects will then be
replaced with bulit-in types (typically floats), and your output will
be unchanged, but you will notice a dramatic speedup.
A complete user guide is available in both pdf and html formats. Give
it a try and let me know what you think!
Pyrex 0.9.6.3 is now available:
Main features of this release:
* The C API now uses just one name in the module namespace,
instead of a name per C function.
* The 'cdef' keyword and following extern/public/api qualifiers
can be factored out of a group of declarations and made into
a block header, e.g.
* A 3-argument form of the builtin getattr function has been
added, called getattr3().
What is Pyrex?
Pyrex is a language for writing Python extension modules.
It lets you freely mix operations on Python and C data, with
all Python reference counting and error checking handled
Version 1.2.1 of pygtkmvc has been released.
pygtkmvc is a fully Python-based implementation of the
Model-View-Controller (MVC) and Observer patterns for the PyGTK2
MVC is a pattern that can be successfully used to design and
develop well structured GUI applications. The MVC pattern
basically helps in separating semantics and data of the
application, from their representation.
The Observer pattern helps to weaken dependencies among parts that
should be separated, but need to be connected each other.
pygtkmvc provides a powerful and still simple infrastructure to
help designing and implement GUI applications based on the MVC and
The framework has been designed to be:
* Essential and small, it does only what it was designed for.
* Not an external dependency for your application: it fits in
80KB and can be released along with it.
* Easy to understand and to use; fully documented.
* Portable: straightly runs under many platforms.
About release 1.2.1
This is a minor release that fixes a bug.
Thanks to Roman Dobosz <gryf TA elysium TOD pl> for catching it.
With respect to version 1.0.1, new version 1.2 provides:
* New features:
- Added adapters, new entities that largely simplify and reduce
costs and development efforts. Adapters handles autonomous
coordination between properties into models and widgets into
views. Roughly speaking, an adapter keeps aligned some part of
the model and a widget in a transparent and still customizable
- Added script gtkmvc-progen that aids developers in generating
gtkmvc-based projects from scratch. gtkmvc-progen can be run in
both batch and GUI modalities. For example:
$> gtkmvc-progen name=myproj author="Wil Shakespeare" gui=no
... generates project "myproj" in batch mode. See the user
manual for a full list of available options.
* Other changes
- Spurious value changes in observable properties are no longer
notified by default. A new optional parameter of class Observer
allows for a backward-compatible semantics.
- Widgets search into Views has been optimized.
- Bug fixes and optimizations.
o Undefined handlers for custom widgets are correctly
managed. Thanks to Allan Douglas <zalguod TA
users TOD sourceforge TOD net> for providing a working patch.
o Fixed a subtle bug in the observer pattern implementation.
o A few other minor fixes and optimizations.
Roberto Cavada <roboogle TA gmail TOD com>
<P><A HREF="http://pygtkmvc.sourceforge.net">pygtkmvc 1.2.1</A> -
Pygtk MVC is a thin, multiplatform framework that helps to design
and develop GUI applications based on the PyGTK toolkit. (17-Oct-07)
I am pleased to announce the first public version the ordereddict module.
From the blurb on ordereddict's home-page:
This is an implementation of an ordered dictionary with Key Insertion
Order: updates of values do not affect the position of the key.
It implementation is directly derived from dictobject.c and its speed is
5-10% slower than dict() and 5-9 times faster than Larosa/Foord
excellent pure Python implemention.
This module has been tested under:
Ubuntu 7.04, gcc : Python 2.5.1
Ubuntu 7.04, gcc : Python 2.4.4
Ubuntu 6.06, gcc : Python 2.5.1
Windows XP, Visual Studio 2003: Python 2.5.1 (see below)
ordereddict's home on the web is at
there you also find the links where the source can be downloaded.
The download includes relatively complete tests for all of ordereddict's
functionality (all of dict() plus for now: .index(), .reverse(),
I hope this is useful and appreciate any feedback
Anthon van der Neut
Windows specific compilation problem:
In order for things to link under Visual Studio 2003, I had to
#ifdef out the call _PyObject_GC_TRACK. I am not sure why this caused
a problem and had hoped that distutils would take care of these kind
of linker issues. Until this is resolved, or confirmed as a non-issue
please do not use this code in anything running for a longer period of
time and relying on garbagecollection to operate correctly.
I've just uploaded bbfreeze 0.95.3 to python's cheeseshop.
bbfreeze creates standalone executables from python scripts. It's similar
in functionality to py2exe or cx_Freeze.
This release fixes some issues with pythoncom on win32. It also now uses
"automatic pathname rewriting" for code objects (see below).
support for egg files: bbfreeze scans zipped egg files and now
includes whole egg files/directories in the distribution. Programs
using setuptools' pkg_resources module will now work.
It offers the following features:
bbfreeze can be installed with setuptools' easy_install command.
zip/egg file import tracking
bbfreeze tracks imports from zip files.
multiple script freezing
bbfreeze can freeze multiple scripts at once.
python interpreter included
bbfreeze will create an extra executable named 'py', which might be
used like the python executable itself.
*NEW* automatic pathname rewriting
pathnames in tracebacks are replaced with relative pathnames
(i.e. if you import package foo.bar from /home/jdoe/pylib/
tracebacks generated from functions in foo.bar will not show your
local path /home/jdoe/pylib/foo/bar.py. They will instead show
bbfreeze works on windows and UNIX-like operating systems. It
currently does not work on OS X. bbfreeze has been tested with python
2.4 and 2.5. bbfreeze will not work with python versions prior to 2.3
as it uses the zipimport feature introduced with python 2.3.
cheese shop entry:
I've just released Shed Skin 0.0.25. Together with the (unannounced)
0.0.24 release, there have been some interesting changes. Most
importantly perhaps, Shed Skin now caches (most) 1-length strings,
which can improve performance dramatically for string-intensive
programs. I also performed a long-overdue rewrite of the virtual
function detection code, which should work much more reliably now, at
least for relatively simple cases :)
-1-length string caching
-improved detection of virtual functions
-further set optimizations
-fix for extension modules and certain default arguments
-exhaustive checking of C++ keywords
-fix for some combinations of arguments to min, max
-several minor bug fixes
As always, I could really use more help in pushing Shed Skin forward.
Let me know if you'd like to help out, but are not sure where to
"One of my most productive days was throwing away 1000 lines of code"
- Ken Thompson