in parallel to Mark's week-long Python seminar (Nov 6-10), we are
offering an alternative session focusing only on advanced topics. it is
3-days long (Nov 8-10) and will be held in San Francisco.
http://cyberwebconsulting.com (click "Python training" link)
november sure seems like "back to school" month for those in the Python
community, and these are two great ways to develop, polish, and hone
your Python skills!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"Core Python Programming", Prentice Hall, (c)2007,2001
wesley.j.chun :: wescpy-at-gmail.com
python training and technical consulting
cyberweb.consulting : silicon valley, ca
Just a reminder that the Fall 2006 Colorado Python seminar
is now less than 2 months away. Space is limited, so plan
now to come join us for a week of in-depth Python training
in the Colorado Rockies. For details, please see the
original announcement below.
Mark Lutz's Python Training Services is pleased to announce
that our Fall 2006 public Colorado seminar is now open.
This 5-day Python training event will be held November 6
through November 10.
This year, our Fall seminar will be held at Historic Crag's
Lodge, a resort in Estes Park, Colorado. Estes Park is a
mountain town 80 miles from Denver's airport, and gateway
to Rocky Mountain National Park.
This in an all-inclusive event. Come spend 5 days mastering
Python in the beautiful Colorado Rockies, and let us handle
the details of your visit. We will be providing students
with rooms at the resort, three full meals per day, a guided
sightseeing tour, shuttle service to and from the Denver
airport, and our new "Snake Charmers" T-shirt.
Besides the included amenities, the extended format of this
session will allow for in-depth coverage of class topics.
Like all our public classes, this seminar will be taught by
best-selling Python author and trainer Mark Lutz, and is
open to individual enrollments.
For more details, please see our web page:
--Python Training Services
I'm proud to announce the release of lxml 1.1, right after lxml 1.0.4.
lxml 1.1 is a major new release that introduces many new features compared to
the 1.0 series.
lxml 1.0.4 is a maintenance release for the stable 1.0 series.
For a quick introduction:
lxml is a Pythonic binding for the libxml2 and libxslt libraries. It provides
safe and convenient access to these libraries using the ElementTree API. It
extends the ElementTree API significantly to offer support for XPath, RelaxNG,
XML Schema, XSLT, C14N and much, much more.
Its goals are:
* Pythonic API.
* Use Python unicode strings in API.
* Safe (no segfaults).
* No manual memory management!
(as opposed to the official libxml2 Python bindings)
The main improvements in the 1.1 series are:
* threading support
* XPath axis iteration
* iterparse() and iterwalk()
* configurable Element class lookup methods
* lxml.objectify - a data binding API on top of lxml.etree
The complete changelog is below.
lxml 1.1 has been tested in an alpha and beta version and received various bug
fixes before the final release. It is currently considered stable and ready
for production use, whereas the 1.0 series are considered rock-stable and may
still be the right thing to choose for more conservative environments.
Bug-fix releases and minor improvements to the 1.1 and 1.0 series will
continue to become available at need. That way, 1.1 will soon be considered as
stable as 1.0 to become its the main line successor.
Given the many helpful egg contributions we received for past releases, I hope
that 1.1 (and 1.0.4) will be as well supported in that regard to help in
further increasing our community.
Thanks to everyone who helped in getting 1.1 done, in getting bugs fixed and
helping others in using it.
*** Changes in 1.0.4:
* List-like Element.extend() method
* Crash in tail handling in Element.replace()
*** Changes in 1.1:
* Comments and processing instructions return '<!-- coment -->' and
'<?pi-target content?>' for repr()
* Parsers are now the preferred (and default) place where element class lookup
schemes should be registered. Namespace lookup is no longer supported by
* filenames with local 8-bit encoding were not supported
* 1.1beta did not compile under Python 2.3
* ignore unknown 'pyval' attribute values in objectify
* objectify.ObjectifiedElement.addattr() failed to accept Elements and Lists
* objectify.ObjectPath.setattr() failed to accept Elements and Lists
* Support for Python 2.5 beta
* Unlock the GIL for deep copying documents and for XPath()
* New ``compact`` keyword argument for parsing read-only documents
* Support for parser options in iterparse()
* The ``namespace`` axis is supported in XPath and returns (prefix, URI)
* The XPath expression "/" now returns an empty list instead of raising an
* XML-Object API on top of lxml (lxml.objectify)
* Customizable Element class lookup:
* different pre-implemented lookup mechanisms
* support for externally provided lookup functions
* Support for processing instructions (ET-like, not compatible)
* Public C-level API for independent extension modules
* XPathSyntaxError now inherits from XPathError
* Threading race conditions in RelaxNG and XMLSchema
* Crash when mixing elements from XSLT results into other trees, concurrent
XSLT is only allowed when the stylesheet was parsed in the main thread
* The EXSLT ``regexp:match`` function now works as defined (except for some
differences in the regular expression syntax)
* Setting element.text to '' returned None on request, not the empty string
* ``iterparse()`` could crash on long XML files
* Creating documents no longer copies the parser for later URL resolving. For
performance reasons, only a reference is kept. Resolver updates on the
parser will now be reflected by documents that were parsed before the
change. Although this should rarely become visible, it is a behavioral
change from 1.0.
* Module level ``iterwalk()`` function as 'iterparse' for trees
* Module level ``iterparse()`` function similar to ElementTree (see
documentation for differences)
* Element.nsmap property returns a mapping of all namespace prefixes known at
the Element to their namespace URI
* Reentrant threading support in RelaxNG, XMLSchema and XSLT
* Threading support in parsers and serializers:
* All in-memory operations (tostring, parse(StringIO), etc.) free the GIL
* File operations (on file names) free the GIL
* Reading from file-like objects frees the GIL and reacquires it for reading
* Serialisation to file-like objects is single-threaded (high lock overhead)
* Element iteration over XPath axes:
* Element.iterdescendants() iterates over the descendants of an element
* Element.iterancestors() iterates over the ancestors of an element (from
parent to parent)
* Element.itersiblings() iterates over either the following or preceding
siblings of an element
* Element.iterchildren() iterates over the children of an element in either
* All iterators support the ``tag`` keyword argument to restrict the
* Element.getnext() and Element.getprevious() return the direct siblings of an
lxml-dev mailing list
-----BEGIN PGP SIGNED MESSAGE-----
On behalf of the GNU Mailman development team, I'm please to announce
Mailman 2.1.9. This is primarily a security and bug fix release and
it is highly recommended that all sites upgrade to this version.
Mailman 2.1.9 also contains support for two new languages: Arabic and
Mailman is free software, written primarily in Python, for managing
email mailing lists and e-newsletters. It is licensed under the
GPL. Mailman is used for all the python.org and SourceForge.net
mailing lists, as well as at hundreds of other sites.
For more information, including download links, please see:
A more detailed change list is included below.
- A malicious user could visit a specially crafted URI and
apparent log message into Mailman's error log which might
unsuspecting administrator to visit a phishing site. This
blocked. Thanks to Moritz Naumann for its discovery.
- Fixed denial of service attack which can be caused by some
standards-breaking RFC 2231 formatted headers. CVE-2006-2941.
- Several cross-site scripting issues have been fixed. Thanks
Naumann for their discovery. CVE-2006-3636
- Fixed an unexploitable format string vulnerability.
Discovery and fix
by Karl Chen. Analysis of non-exploitability by Martin
Also thanks go to Lionel Elie Mamane. CVE-2006-2191.
- New languages: Arabic, Vietnamese.
Bug fixes and other patches
- Fixed Decorate.py so that characters in message header/
are not in the character set of the list's language are
than causing shunted messages (1507248).
- Switchboard.py - Closed very tiny holes at the upper ends of
slices that could result in unprocessable queue entries.
processing when two queue entries have the same timestamp.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)
-----END PGP SIGNATURE-----
On behalf of the CherryPy team, I'm happy to announce the release of
CherryPy 3.0.0 beta. It is the product of many shared ideas, submitted
tickets and contributed code (most contributed by Robert Brewer, who is
heading up the development of CherryPy 3).
To download the release, visit
This release features numerous improvements to performance, functionality
and interoperability. Some highlights:
* Faster than 2.2.x (as much as 3 times in benchmarks!).
* More powerful and flexible configuration.
* Tools replace filters and allow for greater flexibility.
* Autoreload no longer spawns two instances of your web application.
* Logging uses the stdlib logging module.
* Numerous WSGI interoperability improvements.
* The built in WSGI server is fully HTTP/1.1 compliant!!
* Built-in support for mod_python.
* Built-in support for object and HTTP method dispatchers.
* Customizable dispatcher (allows plugging in external dispatchers like
For a detailed description of what's new, see
To upgrade from CherryPy 2.2.x to 3.0.0 beta, see
Please test out this beta release and open a ticket on any bugs you find.
Thanks for using CherryPy and helping to make it a pythonic and fun way to
write web applications!
On behalf of the Python development team and the Python
community, I'm happy to announce the second RELEASE
CANDIDATE of Python 2.5.
After the first release candidate a number of new bugfixes
have been applied to the Python 2.5 code. In the interests
of making 2.5 the best release possible, we've decided to
put out a second (and hopefully last) release candidate. We
plan for a 2.5 final in a week's time.
This is not yet the final release - it is not suitable for
production use. It is being released to solicit feedback
and hopefully expose bugs, as well as allowing you to
determine how changes in 2.5 might impact you. As a release
candidate, this is one of your last chances to test the new
code in 2.5 before the final release. *Please* try this
release out and let us know about any problems you find.
In particular, note that changes to improve Python's support
of 64 bit systems might require authors of C extensions
to change their code. More information (as well as source
distributions and Windows and Universal Mac OSX installers)
are available from the 2.5 website:
As of this release, Python 2.5 is now in *feature freeze*.
Unless absolutely necessary, no functionality changes will
be made between now and the final release of Python 2.5.
The new features in Python 2.5 are described in Andrew
Kuchling's What's New In Python 2.5. It's available from the
2.5 web page.
Amongst the language features added include conditional
expressions, the with statement, the merge of try/except
and try/finally into try/except/finally, enhancements to
generators to produce a coroutine kind of functionality, and
a brand new AST-based compiler implementation.
New modules added include hashlib, ElementTree, sqlite3,
wsgiref, uuid and ctypes. In addition, a new profiling
module "cProfile" was added.
Enjoy this new release,
Python Release Manager
(on behalf of the entire python-dev team)
XPN (X Python Newsreader) is a multi-platform newsreader with Unicode
support. It is written with Python+GTK. It has features like
scoring/actions, X-Face and Face decoding, muting of quoted text,
newsrc import/export, find article and search in the body, spoiler
char/rot13, random taglines and configurable attribution lines.
You can find it on:
Changes in this release:
* v0.6.5: now is possible to customize the keyboad shortcuts. XPN will also
check for duplicated shortcuts
* v0.6.5: added a new way to show threads, now is possible to put the
threads expander in the From column
* v0.6.5: now is possible to subscribe a group writing its name manually
so you don't have to download the groups list
* v0.6.5: now is possible to limit the number of articles headers to
download with the Get New Headers function
* v0.6.5: now is possible to choose the headers to show in the Article Pane,
and the background color of this area now is customizable
* v0.6.5: added two new layouts for the main window
* v0.6.5: now is possible to re-apply the scoring/action rules on the
articles you have already downloaded.
* v0.6.5: fixed a bug in the Config Window that caused XPN not to change the
color for URLs.
* v0.6.5: fixed a bug that caused XPN not open the next article when the
first thread was selected and collapsed
* v0.6.5: fixed a bug in the View Parent function
* v0.6.5: fixed a bug in the Export Newsrc function, that caused ad crash
trying to export groups with 0 articles inside.
XPN is translated in Italian French and German, if you'd like to translate it
in your language and you are familiar with gettext and po-files
editing please contact me (xpn(a)altervista.org).
If you can't get your work done in the first 24 hours, work nights.
|\ | |HomePage : http://nem01.altervista.org
| \|emesis |XPN (my nr): http://xpn.altervista.org
pyXSD v.0.1 has been released!
pyXSD is a tool to map XML and XSD (XML Schema) into Python. It can validate
an XML file against an XSD file. It also contains a feature to allow users
to easily transform an XML file, using small python classes that are easy to
use and are easy and fast for users to write. The program uses a simple,
non-DOM interface in the "transforms" with the XML data tree. It can be used
as a library or command-line program. The program includes a decent amount
of documentation on how to use the program and on how to use and write
transforms. A more thorough description of its functionality and features
can be found on the projects website: http://pyxsd.org/
The program was designed for material science modeling applications, so some
of the included "transform" classes are for this specific use. The program
includes more general "transforms" and "transform" libraries to assist
users write these classes.
The program uses ElementTree and cElementTree (the ElementTree and
cElementTree included in python 2.5 should work), and requires Python 2.3 or
The pyXSD project's website: http://pyxsd.org/
Release 0.1 download: http://pyxsd.org/download-area/release-0.1
Mailing List: http://mail.kanorben.net/mailman/listinfo/pyxsd_kanorben.net
Chicago Python User Group
Come join us for our best meeting ever!
* Google Code (Brian Fitzpatrick and Ben Collins-Sussman)
* Trac + Subversion + doctests (Garrett Smith)
* Special method names for operator overloading (Brian Ray)
Google's Chicago office
20 West Kinzie Street, 9th Floor
Chicago, IL 60610
"18 story glass and steel building on the Northwest corner of Dearborn
"Across the street from Harry Carey's"
"Upstairs from Keefer's restaurant"
* Map <http://tinyurl.com/ee8my>
Enter via the lobby on the South side of the building, between Keefer's
restaurant and Keefer's cafe.
Street (meter) parking is kinda sorta available in the area. Garage and
lot parking is also available Southwest and East of our building.
1. The closest "L" stop is Grand on the Red Line and Clark/Lake on the
"Blue/Green/Orange/Brown/Purple Line". (All are about an 8 minute walk
2. The closest Metra station is the Ogilvie Transportation Center (in
the Citibank building) (about 20 minutes walk or take the Riverbus)
3. The closest River Bus stop is at Michigan Avenue (By the Wrigley
Building at 2 North Riverside Plaza.
4. The nearest helipad is at the mouth of the river, near Navy Pier.
Obtain security clearance before landing.
*** A Special Note from Fitz::
I'm going to need a list of all people attending to give to building
security, so if you're thinking of coming, please send me your name
(just to me--use my fitz at google dot com address please).
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>
Python website: <http://python.org>
Forward this on.