I have just released version 0.0.10 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. Many
non-trivial benchmarks (ray tracer, chess player, othello player, sat
solver, 3 sudoku solvers..) run typically 2-40 times faster than when
using Psyco, 12 times on average, and 2-220 times than when using
CPython, 45 times on average.
Besides many bug fixes, this release adds many error messages for
unsupported features, so it should be much easier to try out the
compiler and work around problems. Please download this new release
from http://mark.dufour.googlepages.com and let me know about any
if vars: self.output('; '.join([self.type(var)+' '+name for (name,var)
FINAL REMINDER... we still have some seats left!
What: Advanced Python Programming
When: Nov 8-10 2006
Where: San Francisco (SFO/San Bruno), CA, USA
http://cyberwebconsulting.com (click on "Python Training")
This course, meant to follow our in-depth introduction class, adds new
tools to the Python programmer's toolkit. We explore advanced topics
such as: network programming with sockets, Internet clients, GUI
development, Web/CGI, databases/SQL, Extending Python with C, threads,
etc. Lectures and lab will get attendees comfortable developing
applications in these areas.
Come join us in beautiful Northern California for another rigorous
Python training event taught by software engineer, "Core Python
Programming" author, and technical instructor, Wesley Chun. This
course will take place in San Bruno right near the San Francisco
International Airport at the:
San Francisco Airport
1350 Huntington Ave
San Bruno, CA 94066 USA
LOCALS: accessible from the entire Bay Area: parking + easy
101/280/380 access, across the street from San Bruno BART and up the
street from San Bruno CalTrain stations
VISITORS: free shuttle to/from the airport, lots of free food and wireless
The cost is $1295 per attendee. Discounts available. For more
information and registration, go to the website above.
2007 CALENDAR: Feb 7-9 (Intro), May 16-18 (Advanced), Aug 20-22 (Intro)
hope to see you in class!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"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
after a month of bug tracing and fixing, lxml 1.1.2 finally made it to the
This is mainly a bugfix release for the stable and production-ready 1.1
series, the changelog is below. As there were a number of important fixes,
updating is recommended.
What is lxml?
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 more. Lxml also features a
sophisticated API for custom element classes. This is a simple way to write
arbitrary XML driven APIs on top of lxml. There is a separate module
lxml.objectify that implements a data-binding API on top of lxml.etree.
See the web page for more information and documentation:
* Data elements in objectify support repr(), which is now used by dump()
* Source distribution now ships with a patched Pyrex
* New C-API function makeElement() to create new elements with text, tail,
attributes and namespaces
* Reuse original parser flags for XInclude
* Simplified support for handling XSLT processing instructions
* Parser resources were not freed before the next parser run
* Open files and XML strings returned by Python resolvers were not
* Crash in the IDDict returned by XMLDTDID
* Copying Comments and ProcessingInstructions failed
* Memory leak for external URLs in _XSLTProcessingInstruction.parseXSL()
* Memory leak when garbage collecting tailed root elements
* HTML script/style content was not propagated to .text
* Show text xincluded between text nodes correctly in .text and .tail
* 'integer * objectify.StringElement' operation was not supported
The brand new version of Porcupine introduces quite a few new cool
features and many improvements that ease and accelerate the development
process. Our main goal was to remove any constraints that expect the
files of a Porcupine application to reside inside more than one folder
tree. As a result, it is now attainable to develop your application
working inside a single folder tree only.
The application object was greatly simplified. The application's UI XML
definition along with its script are now external files instead of
having them embedded inside the object. This way, you can easily edit
these files using your favourite editor.
Additionally, the Porcupine desktop includes a new utility called
HyperSearch. Use this utility to search the entire Porcupine database
for objects that meet specific criteria such as text parts contained in
their title or description and their modification date.
The QuiX engine includes a completely rewritten event subsystem, in
order to achieve a unified way of attaching and detaching DOM and
custom event handlers. Furthermore, QuiX is now compatible with
Internet Explorer 7 including many performance enhancements. Two new
widgets are also added to the list of available widgets. An IFrame
widget that enables the display of external sites inside the Porcupine
desktop, and a group box.
What is Porcupine?
Porcupine online demo:
An XML generator:
A single file: 'xmlbuilder.py'. The real work is done by the XmlWriter
class from the ElementTree package. If you're on 2.5, then you'll need
to get the file 'SimpleXMLWriter.py' from
and save it somewhere in your PYTHONPATH, eg. site-packages. Then
change the import line in xmlbuilder.py :
from elementtree.SimpleXMLWriter import XMLWriter
from SimpleXMLWriter import XMLWriter
>>> xml = XmlFragment()
>>> root = xml.div()
>>> print root
>>> print xml
>>> firstchild = root.p("Some text", id="1")
>>> print xml
<div><p id="1">Some text</p></div>
>>> print xml
<div><p id="1">Some text<br /></p></div>
>>> firstchild.add_text("more text, ")
>>> print xml
<div><p id="1">Some text<br />more text, </p></div>
>>> firstchild.add_text("and more.").br()
>>> print xml
<div><p id="1">Some text<br />more text, and more.<br /></p></div>
>>> print xml
<div><p id="1">Some text<br />more text, and more.<br /></p><!--
This is a maintenance release (mostly bug fixing) to prove that SPE is
alive and well! In case you are using wxPython2.7 you'll need to
upgrade to this release. Submitted patches will be reviewed and
included if approved for next release. Thanks for all your patient
support and continuing donations.
The SPE 0.8.2.a release got downloaded 110550 times on berlios and
sourceforge together. Not bad. This means SPE has not seen an update
for a while or is getting very popular. Maybe both ;-)
Installers are available for python 2.3, 2.4 and 2.5 for Windows and as
a rpm including wxPython. Other operating systems can choose the
no-setup.zip or targ.gz archives. A .deb archive is being prepared for
Debian Linux systems such as Ubuntu.
wxGlade is unfortunately not compatible with wxPython2.7. So if you
want to use, you'll need wxPython2.6.
- output is now done with a fixed font
- uml.py is now again a stand alone demo
- upgraded and fixed wxGlade
- fixed for wxPython2.7 (and still backwards compatible with
- updated NotebookCtrl
- Andrea Gavana (NoteBookCtrl)
- Alberto Griggio (wxGlade)
- Michael Foord (python 2.3 + 2.5 releases for windows)
The development of SPE is driven by donations. Each of these donors
receives the pdf manual in thanks for their support of SPE.
- James Carroll (60 euro)
- John DeRosa (50 euro)
- Fumph LLC (50 euro)
- Ronald Britton (40 euro)
- David Downes (40 euro)
- Jorge Carrillo (40 euro)
- Nicolas Berney (40 euro)
- Francois Schnell (30 euro)
- Olivier Cortes (30 euro)
- Ayrshire Business Consulting Limited (30 euro)
- Chris White (25 euro)
- Thomas Wengerek (20 euro)
- John Rudolph (20 euro)
- Michael O'Keefe (20 euro)
- Michael Brickenstein (20 euro)
- Richard Walkington (20 euro)
- Oliver Tomic (20 euro)
- Jose Maria Cortes Arnal (20 euro)
- Jeffrey Emminger (20 euro)
- Eric Pederson (20 $)
- Charles Bosson (15 euro)
- Angelo Caruso (15 euro)
- Chris Hengge (15 $)
- Loïc Allys (15 euro)
- Marcin Chojnowski (15 euro)
- Boris Krasnoiarov (15 euro)
- Paul Furber (15 euro)
- Gary Robson (15 euro)
- Ralf Wieseler (15 euro)
- Samuel Schulenburg (10 euro)
- Leland Hulbert II (10 euro)
- Javier De La Mata Viader (10 euro)
- Dorman Musical Instruments (10 euro)
- Jaroslaw Sliwinski (10 euro)
- Alessandro Patelli (10 euro)
- James Pretorius (10 euro)
- Richard Wayne Garganta (10 euro)
- Maurizio Bracchitta (10 euro)
- Larry Lynch (10 euro)
- Kay Fricke (10 euro)
- Henrik Binggl (10 euro)
- Jerol Harrington (10 euro)
- Victor Adan (10 euro)
- James Fuqua (10 euro)
- Christian Seberino (5 euro)
- Serge Smeesters (5 euro)
- Jarek Libert (5 euro)
- Robin Friedrich (5 euro)
- Udo Rabe (5 euro)
- Roch Leduc (4 euro)
- Rha Diseno y Desarrollo (2 euro)
- See http://pythonide.stani.be/manual/html/manual2.html
SPE is a python IDE with auto-indentation, auto completion, call tips,
syntax coloring, uml viewer, syntax highlighting, class explorer,
source index, auto todo list, sticky notes, integrated pycrust shell,
python file browser, recent file browser, drag&drop, context help, ...
Special is its blender support with a blender 3d object browser and its
ability to run interactively inside blender. Spe integrates with XRCed
designer) and ships with wxGlade (gui designer), PyChecker (source
code doctor), Kiki (regular expression console) and WinPdb (remote,
The development of SPE is driven by its donations. Anyone who donates
can ask for an nice pdf version of the manual without ads (74 pages).
Pygments 0.5, the first public release, is available from
Pygments aims to be a generic syntax highlighter for general use in all kinds of
software such as forum systems, wikis or other applications that need to
prettify source code. Highlights are:
* a wide range of common languages and markup formats is supported
* special attention is paid to details increasing quality by a fair amount
* support for new languages and formats are added easily
* a number of output formats is available, presently HTML, LaTeX
and ANSI sequences
* it is usable as a command-line tool and as a library
* ... and it highlights even Brainf*ck!
The home page is at <http://pygments.pocoo.org>.
Read more in the FAQ list <http://pygments.pocoo.org/faq> or
look at the documentation <http://pygments.pocoo.org/docs>.
There is already a Trac plugin at <http://trac-hacks.org/wiki/TracPygmentsPlugin>.
It's a simple and small module I've written to allow some network-aware
scripts to connect through proxy servers.
It implements the Socks4 (including Socks4a), Socks5 and HTTP-Tunneling
(CONNECT method) protocols.
Currently it supports only outgoing TCP connections. Incoming and UDP may
be supported in the future.
License: BSD-Style (3-clause)
Available at: http://socksipy.sourceforge.net
SocksiPy 1.0 <http://socksipy.sourceforge.net/> - A Python SOCKS module.
Rocky Bernstein has created a 13 minute video introducing you
to his new pydb debugger. Rocky demonstrates the enhanced
capabilities of this debugger and walks the viewer through
solving a buggy piece of code:
This debugger will also appear in a future release of the IPython
Free videos (we call them ShowMeDos) showing you how to do things.
The videos are made by us and our users, for everyone. 39 of our
75 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
what is it
A Python package to parse and build CSS Cascading Style Sheets. Partly
implements the DOM Level 2 Stylesheets and DOM Level 2 CSS interfaces.
changes since the last full release
- complete rewrite of parser since 0.9
- customizable serializer
- lots of other stuff
- CSSStyleDeclaration.getCSSValue and Value Classes are not implemented.
These may be implemented in one of the next releases (0.91 or following)
- @page rules is disabled (Unknown Rule will be used currently)
- @charset not implemented according to spec (planed for 0.91)
- CSS escape sequences do not work properly
- Unexpected end of style sheet not handled according to spec
- Properties are not bound to any CSS Version, so all properties are
*NOT* as described in
http://www.w3.org/TR/CSS21/syndata.html#parsing-errors "Illegal values".
(A future version might be customizable to a specific CSS version like
1.0 or 2.1)
- Property.value is only checked for valid CSS2 properties, so will
accept more than allowed. In case of an error a WARNING is issued only
cssutils is published under the LGPL.
download cssutils 0.9a6 - 061029 from http://cthedot.de/cssutils/ or
from PyPi (which is currently down so the newest version is not
This is still an alpha release but much better than any older version.
Any bug report is welcome.
* Python 2.3 (tested with Python 2.5 on Windows XP and Python 2.4 on
comments appreciated, thanks!