python-dev Summary for 2003-10-01 through 2003-10-15

Brett C.
Fri, 24 Oct 2003 14:26:33 -0700

python-dev Summary for 2003-10-01 through 2003-10-15
This is a summary of traffic on the `python-dev mailing list`_ from=20
October 1, 2003 through October 15, 2003.  It is intended to inform the=20
wider Python community of on-going developments on the list.  To comment=20
on anything mentioned here, just post to `comp.lang.python`_ (or email=20 which is a gateway to the newsgroup) with a=20
subject line mentioning what you are discussing. All python-dev members=20
are interested in seeing ideas discussed by the community, so don't=20
hesitate to take a stance on something.  And if all of this really=20
interests you then get involved and join `python-dev`_!

This is the twenty-seventh summary written by Brett Cannon (about to=20
turn a quarter century old; so young yet so wise =3D).

All summaries are archived at .

Please note that this summary is written using reStructuredText_ which=20
can be found at .  Any unfamiliar=20
punctuation is probably markup for reST_ (otherwise it is probably=20
regular expression syntax or a typo =3D); you can safely ignore it,=20
although I suggest learning reST; it's simple and is accepted for `PEP=20
markup`_ and gives some perks for the HTML output.  Also, because of the=20
wonders of programs that like to reformat text, I cannot guarantee you=20
will be able to run the text version of this summary through Docutils_=20
as-is unless it is from the original text file.

.. _PEP Markup:

The in-development version of the documentation for Python can be found=20
at and should be used when looking=20
up any documentation on something mentioned here.  PEPs (Python=20
Enhancement Proposals) are located at .  To=20
view files in the Python CVS online, go to=20 .  Reported bugs=20
and suggested patches can be found at the SourceForge_ project page.

.. _python-dev:
.. _SourceForge:
.. _python-dev mailing list:=20
.. _comp.lang.python:
.. _Docutils:
.. _reST:
.. _reStructuredText:

.. contents::

.. _last summary:=20

Summary Announcements
Python-dev had a major explosion in emails thanks to some proposed=20
changes to list.sort (summarized in `Decorate-sort-undecorate eye for=20
the list.sort guy`_).  That got covered.  Some behind-the-scenes stuff=20
that would not interest the general Python community was left out for my=20
personal sanity.

It looks like I will not have major issues continuing writing the=20
Summaries in terms of school interfering.  The only big issue will be=20
how long past their closure date does it take me to get them out.  In=20
other words, unless my schoolwork load suddenly becomes heavy=20
continuously I should be able to keep doing the Summaries until my=20
personal sanity gives out.

This summary is brought to you by the songs "Insanity_" by `Liz Phair`_=20
and "`Harder to Breathe`_" by `Maroon 5`_ (note these links require=20
iTunes_ to be installed; now available on Windows!).

.. _Insanity:=20
.. _Liz Phair:=20
.. _Harder to Breathe:=20
.. _Maroon 5:=20
.. _iTunes:

I gave a talk at PyCon 2004 and all I got was respect and admiration
I summarized this last month, but this is important so I am doing it=20
again (and will continue to mention it until no more proposals are being=20
accepted).  PyCon_
is ramping up for 2004 and is putting out a `Call for Proposals`_.=20
Since PyCon is meant to be very broad-reaching you can propose anything=20
from a scientific paper to a tutorial.

If you have any inkling to give a talk please send in a proposal.  It=20
can be rough; the key is that what you want to discuss can be understood=20
from the proposal.  So take a look at the link and consider coming to=20
PyCon as a speaker and not just a attendee.

.. _PyCon:
.. _Call for Proposals:

Contributing threads:
   `PyCon DC 2004: Call for Proposals=20

Web-SIG started
As stated on the SIGs page, "The Python `Web SIG`_ is dedicated to=20
improving Python's support for interacting with World Wide Web services=20
and clients."  If there is some web-related functionality that you think=20
Python should, this is the place to discuss it.  If you think an=20
existing Python module could stand a redesign then this is the proper=20
forum for your ideas.

.. _Web SIG:

Contributing threads:
   `Any movement on a SIG for web lib enchancements?=20

I have seen the future and it includes 2.3.3
Anthony Baxter, release manager for Python `2.3.1`_ and `2.3.2`_, is=20
already planning a 2.3.3 release in about three months time.  He=20
initially suggested that the goal of this release should be to have=20
Python build on as many platforms as possible.

Michael Hudson listed "HPUX/ia64, various oddities on Irix" as the major=20
troublemakers.  He suggested that a sustained push to fix these build=20
problems happen instead of trying to do it last-minute.  Michael also=20
thought it would be a good idea to try to find experts on the trouble=20
platforms instead of having someone getting access to some machine and=20
floundering since they don't know the OS.

Skip Montanaro quickly chimed in with=20 which is a wiki=20
page that lists people who are available to help with testing on various=20
OSs.  Please have a look and if you think you could help out on an OS=20
add yourself.

.. _2.3.1:
.. _2.3.2:

Contributing threads:
   `2.3.3 plans=20

Helping you help us
In response to Martin v. L=C3=B6wis' email on how to handle patches, Mich=
Bartl expressed his disappointment that nothing had happened to his=20
patches.  It was explained to him that because of time restraints on=20
python-dev that it can take time for people to get to all of the=20
patches, but that his work was greatly appreciated and would eventually=20
be looked at.  Since the email Martin has managed to take a look at them=20
(even accepted one).

The question of searching on SourceForge_ through the tracker items also=20
came up.  There is a search box on the left side of the page, but it is=20
not extensive.  Better than nothing.

I also posted an essay I wrote that is meant to act as a guide to how=20
Python is developed and how anyone can help with the development=20
regardless of abilities.  You can look at the email below in the "Draft=20
of an essay on Python development" thread referenced below in=20
"Contributing threads".  Hopefully it will end up on once it=20
is in its final form.

Contributing threads:
   `Patches & Bug help revisited=20
   `Draft of an essay on Python development (and how to	help)=20

Making DLLs fatter for lower file dependency
Thomas Heller suggested adding more modules to the Windows DLL as=20
built-in so as to cut back on the number of files required to get Python=20
to run (py2exe_ stands to benefit from this).  The issue of having a=20
larger DLL to have to load into memory was brought up, but Martin v.=20
L=C3=B6wis said that DLLs only load into memory what is needed to run and=
the entire DLL.

The issue of making the overall DLL larger in terms of disk space was=20
brought up, but the worry was partially minimized when the list of=20
modules to add was limited to small modules that do not have external=20

But zlib might break that last rule in order to allow importation from=20
compressed zip files.  The idea of integrating the zlib source into the=20
Python tree was brought up, but shot down for licensing issues on top of=20
keeping the code synchronized.

.. _py2exe:

Contributing threads:
   `buildin vs. shared modules=20

Decorate-sort-undecorate eye for the list.sort guy
Raymond Hettinger suggested adding built-in support for the=20
decorate-sort-undecorate (DSU) sorting idiom to list.sort (see the=20
Python Cookbook recipe at=20 which is=20
recipe 2.3 in the dead tree version or Tim Peters' intro to chapter 2=20
for details on the idiom).  After a long discussion on the technical=20
merits of various ways to do this, list.sort gained the keyword=20
arguments 'key' and 'reverse'.

'key' takes in a function that accepts one argument and returns what the=20
item should be sorted based on.  So running ``[(0,0), (0,2),=20
(0,1)].sort(key=3Dlambda x: x[1])`` will sort the list based on the secon=
item in each tuple.  Technically the sort algorithm just runs the item=20
it is currently looking at through the function and then handles the=20
sorting.  This avoids having to actually allocate another list.  If=20
'key' and 'cmp' are both provided then 'key' is called on the items to=20
be sorted and the function's return values are then passed to 'cmp'.

'reverse' does what it sounds like based on whether its argument is true=20
or false.

list.sort also became guaranteed to be stable (this include 'reverse').

A discussion of whether list.sort should return self came up and was=20
*very* quickly squashed by Guido.  The idea of having a second method,=20
though, that did sort and returned a copy of the sorted list is still=20
being considered.

Contributing threads:

New Python 2.3.2 Windows binary
Some invalid DLLs made it into the 2.3.2 Windows binary distribution by=20
accident.  It seems to mostly affect Windows 98 and NT 4 users.  The=20
binary has been fixed and put up online.  You can tell if you downloaded=20
the fixed version by checking the filename; the new one is named=20
Python-2.3.2-1.exe (notice the "-1").

Contributing threads:
   `Python-2.3.2 windows binary screwed=20

A call for cool itertools additions
Have an idea for something that should be added to itertools?  Read=20 and=20
see if it matches the criteria.  If it does send it off to Raymond=20