[Python-Dev] Python 2.3 release schedule

Guido van Rossum guido@python.org
Fri, 24 May 2002 18:17:37 -0400

The Python 2.3 release schedule as laid out in PEP 283 is unrealistic.
It has May 22 (yesterday) as the release date for 2.3a1, and then
promises successive releases at approximately 4-week intervals.  I
think we're nowhere near doing the first alpha release.  PythonLabs
has been consumed by high priority Zope projects.  There's a little
less pressure now, and we can go back to thinking about Python
releases, but we've lost a lot of time.  We haven't even appointed a
release manager!  (Or the appointment was never recorded in the PEP.)

In the discussion about release stability, it was brought up that the
release schedule should be driven by feature completeness, not by the
calendar.  I basically agree, although I believe that when it takes
the responsible party for a particular feature forever to implement
it, it's better to move the feature to future release than to hold up
the release forever.

So let's discuss features for 2.3.  PEP 283 mentions these:

>     PEP 266  Optimizing Global Variable/Attribute Access  Montanaro
>     PEP 267  Optimized Access to Module Namespaces        Hylton
>     PEP 280  Optimizing access to globals                 van Rossum

(These are basically three friendly competing proposals.)  Jeremy has
made a little progress with a new compiler, but it's going slow and
the compiler is only the first step.  Maybe we'll be able to refactor
the compiler in this release.  I'm tempted to say we won't hold our
breath for this one.

>     PEP 269  Pgen Module for Python                       Riehl

I haven't heard from Jon Riehl, so I consider dropping this idea.

>     PEP 273  Import Modules from Zip Archives             Ahlstrom

I think this is close -- maybe it's already checked in and I don't
know about it!

>     PEP 282  A Logging System                             Mick

Vinay Sajip has been making steady progress on an implementation, and
despite a recent near-flamewar (which I haven't followed) I expect
that his code will be incorporated in the near future.

That's it as far as what PEP 283 mentions (there's also a bunch of
things already implemented, like bool, PyMalloc, universal newlines).
Here are some ideas of my own for things I expect to see in 2.3a1:

- Provide alternatives for common uses of the types module;
  essentially Skip's proto-PEP.

- Extended slice notation for all built-in sequences.  Wasn't Raymond
  Hettinger working on this?

- Fix the buffer object???

- Lazily tracking tuples?  Neil, how's that coming?

- Timeoutsocket.  Work in progress.

- Making None a keyword.  Can't be done right away, but a warning
  would be a first step.

- Stage 2 of the int/long integration (PEP 237).  This mostly means
  warning about situations where hex, oct or shift of an int returns a
  different value than for the same value as a long.  (I think the PEP
  misses this step, but it's necessary -- we can't just change the
  semantics silently without warning first.)

- I think Andrew Kuchling has a bunch of distutils features planned;
  how's that coming?

- PEP 286???  (MvL: Enhanced argument tuples.)  I haven't had the time
  to review this thoroughly.  It seems a deep optimization hack (also
  makes better correctness guarantees though).

- A standard datetime type.  An implementation effort is under way:
  Effbot and MAL have a proposal for a basic interface that all
  datetime types should implement, but there are some problems with
  UTC.  A decision needs to be made.

Anything else?

--Guido van Rossum (home page: http://www.python.org/~guido/)