I intend to release withing the next very few week the version 0.1 of SCWEB,
a cross-platform web authentication platform _mostly_ written in Python.
SCWEB will come with server modules (cgi), client modules (Firefox
extension/plugin and XPCOM modules)
All modules are operational except for the XPCOM part.
I wished to announce the coming SCWEB now because I have opened a blog
(www.snakecard.com/WordPress) so I might potentially get important feedback
prior to the release.
SCWEB will be distributed under the GPL license.
Comments are quite welcome: www.snakecard.com/WordPress
Today we release 4Suite XML 1.0 beta 2, now available from Sourceforge
The most important development is that 4Suite is being split into three
4Suite XML - XML, XPath, XSLT, related technologies and support
4Suite RDF - RDF processing libraries and stand-alone DBMS
4Suite Repository - XML and RDF repository
The main reasons for this split are
* The core XML libraries are much more mature than the rest of 4Suite,
and indeed have been 1.0 quality for a long time
* The size of the overall package gives pause to people who just want
a basic XML processing toolkit
The plans are to push 4Suite XML to 1.0 and then focus on 4Suite RDF and
Highlights of changes in 4Suite XML since the last release
* New user manual and improvements to API documentation
* Domlette: Convenience parse functions Ft.Xml.Parse
* XSLT: XSLT processing convenience functions Ft.Xml.Xslt.Transform and
* XML Catalogs: improved implementation and compliance
* XInclude and XPointer: improved coverage of the spec
* Yet more significant performance increases throughout:
* XSLT: Fixed huge performance bug with large, complex transforms
* Combined XML string routines into a single module
- IsQName, IsNCName, IsName and IsNmtoken implemented in C
- Removed Python versions of implemented functions
* Domlette: switched struct allocs to use the Python object allocator
* Domlette: changed callback qualified names to be reported as a
struct instead of a string with parts separated by a special
character (speed & memory)
* Domlette: changed Node.prefix to be computed runtime rather than
* Domlette: added interning of individual name parts (speed & memory)
* Domlette: new parsing function ParseFragment (to replace
* Saxlette: Ft.Xml.Domlette.SaxWalker class for walking a DOM and
emitting SAX events as if from a parse
* Saxlette: suspend and resume support, which allows users to create
SAX applications using Python generator semantics
* Saxlette: new ContentHandler (Ft.Xml.Sax.DomBuilder) for constructing
* Saxlette: improved compatability with PySAX
* Saxlette: support for full LexicalHandler and ContentHandler
* Fix case-sensitivity clashes in modules in some Windows set-ups
* Improved DocBook utilities
* moved SourceArgToInputSource from Ft.Xml.Lib to
* RELAX NG: Add support for wxs string type facets maxLength, minLength
* XPath: Added extension function typing information. Currently only
used for documentation purposes but could lead to automatic type
* Installation locations should be accessed in the form
Ft.GetConfigVar('xxxDIR'), rather than the original Ft.xxxDIR
* XPointer: new Ft.Xml.XPointer.Compile convenience function
* XSLT: Add i18n in XSLT support (f:setup-translations and
f:gettext ext elements)
* XSLT: implement Extended versions of XSLT elements for debugging and
execution tracing (Ft.Xml.Xslt.ExtendedProcessingElements)
* XSLT: Support UTF-8 BOM in xsl:output and exsl:document (extension
attribute f:utfbom)Support safegaurs against file overwrite in
exsl:document (extension attribute f:overwrite-safeguard)
* XSLT: Add prefix to namespace mapping to 4XSLT command line
* Internal detail: Added UCS4/UTF-32 internal encoding support to Expat
to allow for direct copying of XML_Char into Py_UNICODE thus
preventing an unnecessary decoding step on our part. This also
greatly simplifies XML_Char routines.
4Suite is a comprehensive platform for XML and RDF processing, with base
libraries and a server framework. It is implemented in Python and C,
and provides Python and XSLT APIs, Web and command line interfaces.
4Suite XML is the core set of XML, XPath, XSLT, related technologies
and support libraries.
For general information, see:
For the files, see:
You can also get the files on Sourceforge:
In the locations specified above, with filenames of the form
The current installation directory layout document tells where package
For insulation from Domlette implementation changes, developers should
always use the generic Ft.Xml.Domlette APIs (rather than, say
Uche Ogbuji Fourthought, Inc.
ServPDF-OO is a web based PDF Converter Server for OpenOffice (1.x and
2.0). It is developed in SPYCE (Python Server Pages) and supports all
Documents, which OpenOffice can read.
Simply extract the 400 KByte ZIP archive into a subdirectory of
OpenOffice installation and start the Webserver...
For more info (in German), see:
This is a quick note to let you know that registrations for Australia's
second Open Source Developers' Conference are now open. Last year's
conference was a huge hit with 60 high quality talks running in three
streams over three days. If you weren't able to join us last year
make sure you don't miss out this year!
If you register before EARLY BIRD DATE you will receive a conference
t-shirt and financial discount.
You can register at http://www.osdc.com.au/registration/index.html
OSDC is a grass roots-style conference designed by developers for
developers, covering open source languages, tools, libraries, operating
systems, licences and business models. We're booking 3 lecture rooms
each day for the 3 days to hold a new set 60 different talks.
Talks topics range from the safety Perl's Safe.pm, to rapid game
development in Python, to using PHP for unorthodox applications, to
utilizing Java's Groovy in your next application. We also have talks on
conference skills, database integration, digital forensics, Gumstix and
Nagios. You can find the full list of speakers and talk titles at
Because there are so many good talks, you can be certain that there
will be something that interests you in every talk session.
Each day will start with a keynote by our excellent keynote speakers.
These include Damian Conway, Jonathan Oxer, Richard Farnsworth (from the
Australian Synchrotron) and Anthony Baxter. The rest of the day will be
filled with up to 5 hours of talks and plentiful food breaks. Our
catering choices should result in you being extraordinarily well fed
throughout the days of the conference.
There will also be several BOFs (yet to be organised), lots of
opportunities to socialise, a semi-formal dinner, a partners'
programme and other usual conference stuff.
If you have any other questions about what is happening, please don't
hesitate to ask: osdc-help(a)osdc.com.au
I am happy to announce the release of CherryPy-2.1.0
If is the result of 6 months of intense development since the
last stable release and the work of a growing number of
CherryPy has become increasingly popular these past few months
(the mailing lists now have more than 500 people) and it is
also used in other popular products such as Subway and Turbogears.
This release is a major step forward for CherryPy. It is packed
with new features and bug fixes.
Here are the main improvements in this release:
- New WSGI interface, which allow CherryPy sites to be deployed on
any WSGI server. People are already running it on mod_python, FastCGI,
SCGI, IIS or CherryPy's own built-in HTTP server.
- New implementation for sessions, which supports multiple backends
- Built-in list of convenient "filters" for things like gzip
XHTML validation, caching, unicode decoding/encoding, authentication,
XML-RPC wrapper, etc ... These filters can easily be enabled/disabled
- New "development" mode which provides things like autoreload (no
need to manually restart your server when you make a change), logging
of page stats, etc ...
- Better handling of file uploads
- Internal implementation now uses generators everywhere (no more
- New built-in HTTP server implementation
CherryPy-2 is a pythonic, object-oriented web development framework.
Here is a sample Hello, World in CherryPy-2:
# import cherrypy
# class HelloWorld:
# def index(self):
# yield "<html><body>"
# yield "Hello world!"
# yield "</body></html>"
# cherrypy.root = HelloWorld()
- this code starts a multi-threaded HTTP server that dispatches
requests to methods
- requests like "http://domain/dir/page?arg1=va l1&arg2=val2" are
mapped to "dir.page(arg1='val1', arg2='val2')"
- CherryPy also supports "RESTful" URLs like
- requests are mapped to an object tree that is "mounted" on
(for instance: "cherrypy.root.user", "cherrypy.root.user.remi", ...)
- method must be explicitly exposed with a decorator "@cherrypy.expose"
(or "index.exposed = True" for Python-2.3)
GUIE (GUI Editor) provides a simple WYSIWYG GUI editor for wxPython.
The program was made in C# and saves the GUI that was created to a XML
format I called GUIML. This GUIML is a pretty standrad representation
of the GUI created with the program. Next, GUIE takes these GUIML files
and translates it to wxPython Python code. You may ask yourself why I
took the extra step? Why didn't I go straight from C# controls to
wxPython code? Why is GUIML neccessary? Well, it isn't. It is there
simply for people (or maybe I) to take the GUIML and convert it to
other languages. This, by effect can convert this tool from a Python
GUI editor, to "any programming language with a GUI module" GUI editor.
Changes (as of v0.2)
Added: multi-window support!!
Fix: error saving file after opening it
Added: Calendar control
Added: extra information status bar
Fix: problem in dialogs causing .guiml to not show up
Fix: controls aligning to correct position only after shown
All over bug fix! (about 20 bugs fixed!)
Hi there !
I'm very pleased to announce the new 0.8 release of PyLint. I've promised
this release for a long time now, and finally got the time to do it :D.
This release includes a lot of bug fixes and enhancements. Notice that
a major change in this release is a new dependancy to the astng package
which has been extracted from logilab-common. This package is
downloadable from http://www.logilab.org/projects/astng.
What's new ?
* check names imported from a module exists in the module (E0611),
patch contributed by Amaury Forgeot d'Arc
* print a warning (W0212) for methods that could be a function
* new --defining-attr-methods option on classes checker
* new --acquired-members option on the classes checker, used when
--zope=yes to avoid false positive on acquired attributes (listed
using this new option) (close #8616)
* generate one E0602 for each use of an undefined variable
(previously, only one for the first use but not for the following)
* make profile option saveable
* fix Windows .bat file, patch contributed by Amaury Forgeot d'Arc
* fix one more false positive for E0601 (access before definition)
with for loop such as "for i in range(10): print i" (test
* fix false positive for E0201 (undefined member) when accessing to
__name__ on a class object
* fix astng checkers traversal order
* fix bug in format checker when parsing a file from a platform
using different new line characters (close #9239)
* fix encoding detection regexp
* fix --rcfile handling (support for --rcfile=file, close #9590)
What is pylint ?
Pylint is a python tool that checks if a module satisfy a coding
standard. Pylint can be seen as another pychecker since nearly all
tests you can do with pychecker can also be done with Pylint. But
Pylint offers some more features, like checking line-code's length,
checking if variable names are well-formed according to your coding
standard, or checking if declared interfaces are truly implemented,
and much more (see http://www.logilab.org/projects/pylint/ for the
complete check list). The big advantage with Pylint is that it is
highly configurable, customizable, and you can easily write a small
plugin to add a personal feature.
The usage it quite simple :
$ pylint mypackage.mymodule
This command will output all the errors and warnings related to the
tested code (here : mypackage.mymodule), will dump a little summary at
the end, and will give a mark to the tested code.
Pylint is free software distributed under the GNU Public Licence.
Sylvain Thénault LOGILAB, Paris (France).
I'm pleased to announce the release of the Logilab's ASTNG package.
This package has been extracted from the logilab-common package, which
will be kept for some time for backward compatibility but will no
longer be maintained (this explains that this package is starting with
the 0.13 version number, since the fork occurs with the version
released in logilab-common 0.12).
See below for a description of what's inside...
What's new ?
* .locals and .globals on scoped node handle now a list of references
to each assigment statements instead of a single reference to the
first assigment statement.
* fix bug with manager.astng_from_module_name when a context file is
given (notably fix ZODB 3.4 crash with pylint/pyreverse)
* fix Compare.as_string method
* fix bug with lambda object missing the "type" attribute
* some minor refactoring
What is astng ?
The aim of this module is to provide a common base representation of
python source code for projects such as pychecker, pyreverse,
pylint... Well, actually the development of this library is essentialy
governed by pylint's needs.
It extends class defined in the compiler.ast module with some
additional methods and attributes. Instance attributes are added by a
builder object, which can either generate extended ast (let's call
them astng ;) by visiting an existant ast tree or by inspecting living
object. Methods are added by monkey patching ast classes.
Sylvain Thénault LOGILAB, Paris (France).
Announcing Speedometer 2.0
Speedometer home page:
New in this release:
- New full-console bar graph display based on Urwid 0.8.9
- Realigned graphic scale to more common units
Speedometer is a console bandwidth and file download progress monitor with
a logarithmic bandwidth display and a simple command-line interface.
Speedometer requires Python 2.1 or later and Urwid 0.8.9 or later for
full-console bar graph display.
Speedometer is released under the GNU LGPL.