[Python-ideas] stdlib upgrades

Bruce Frederiksen dangyogi at gmail.com
Mon Jun 7 16:37:25 CEST 2010


Or perhaps:

  from experimental import new_module

This is kind of a guarantee that the interface will change; since at some
point, if new_module is "calcified", this will have to be changed to just:

  import new_module

For experimental language features, maybe:

  from __experimental__ import new_feature

This makes it clear that new_feature may change (perhaps even not be
adapted?), vs the from __future__ semantics.

Is it too complicated to try to differentiate between the decision of
whether some capability will be provided or not, vs ironing out the API for
that capability?

For example,

  from experimental import new_capability

means that there is no commitment for new_capability at all -- it may simply
be dropped entirely.  The danger of using this is that new_capability may
simply disappear completely with no replacement.

While,

  from proposed import new_capability

represents a commitment that new_capability will be provided at some point,
but the API will likely change.  Here the danger of using it is that you
will likely have to change your program to conform to a new API.

A capability might start as "experimental", and if the value of it is
demonstrated, move to "proposed" to work out the details before
mainstreaming it.

-Bruce

On Mon, Jun 7, 2010 at 2:33 AM, Ron Adam <rrr at 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.
>
> Ron
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20100607/9a66b201/attachment.html>


More information about the Python-ideas mailing list