On Mon, Jun 7, 2010 at 1:33 AM, Ron Adam <rrr@ronadam.com> wrote:
On 06/01/2010 08:22 PM, Brett Cannon wrote:
I can only see two scenarios that might be considered acceptable to
address these issues.

One is that when new modules are accepted into the stdlib they are
flagged with a ExpermintalWarning so that people know that no
backwards-compatibility promises have been made yet. That gets the
module more exposure and gets python-dev real-world feedback to fix
issues before the module calcifies into a strong
backwards-compatibility. With that experience more proper decisions
can be made as to how to change things (e.g. the logging module's
default timestamp including microseconds which strptime cannot parse).

Would it be possible to have a future_lib that gets enabled with something like...

  from __future__ import future_lib

These *new* library modules and packages won't be visible by default. Maybe they stay there until the next major version or possible some set period of time.

The only place where any of this seems even slightly useful would be a library closely associated with Python itself, e.g., a new ast module or something with imports.  Everything else should be developed as an external installable library.  At least things that are importable (str.partition for instance isn't something you import).

Ian Bicking  |  http://blog.ianbicking.org