[Python-Dev] PEP 408 -- Standard library __preview__ package

Eric Snow ericsnowcurrently at gmail.com
Sun Jan 29 00:34:37 CET 2012


On Sat, Jan 28, 2012 at 4:08 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Le samedi 28 janvier 2012 à 16:03 -0700, Eric Snow a écrit :
>> On Sat, Jan 28, 2012 at 3:02 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
>> > There are many reasons to import a module, such as viewing its
>> > documentation. And the warning will trigger if the import happens in
>> > non-user code, such as a library; or when there is a fallback for the
>> > module not being present. People usually get annoyed by intempestive
>> > warnings which don't warn about an actual problem.
>>
>> As an alternative, how about a __preview__ or __provisional__
>> attribute on modules that are in this provisional state?  So just add
>> that big warning to the docs, as Guido suggested, and set the
>> attribute as a programmatic indicator.  Perhaps also add
>> sys.provisional_modules (or wherever) to explicitly give the full list
>> for the current Python version.
>
> Well, how often do you examine the attributes of a module before using
> it? I think that's a much too obscure way to convey the information.

Granted.  However, actively looking for the attribute is only one of
the lesser use-cases.  The key is that it allows you to check any
library programmatically for dependence on any of the provisional
modules.  The warning in the docs is important, but being able to have
code check for it is important too.  As a small bonus, it would show
up in help for the module and in dir().

-eric


More information about the Python-Dev mailing list