[Python-Dev] PEP 411: Provisional packages in the Python standard library
Steven D'Aprano
steve at pearwood.info
Sat Feb 11 08:29:44 CET 2012
Eric Snow wrote:
> On Fri, Feb 10, 2012 at 8:10 PM, Eli Bendersky <eliben at gmail.com> wrote:
>> On Fri, Feb 10, 2012 at 22:13, Jim J. Jewett <jimjjewett at gmail.com> wrote:
>>> Eli Bendersky wrote (in
>>> http://mail.python.org/pipermail/python-dev/2012-February/116393.html ):
>>>
>>>> A package will be marked provisional by including the
>>>> following paragraph as a note at the top of its
>>>> documentation page:
>>> I really would like some marker available from within Python
>>> itself.
>>>
> <snip>
>> The big problem with this is that it's something that will have to be
>> maintained, so it adds some additional burden (I suppose it will have
>> to be tested as well).
"Big problem"?
Maintenance of bsddb3 has been a big problem. Maintenance of a single
module-level name for provisional packages is a small problem.
The PEP already gives boilerplate which is required to go into the
documentation of provisional packages. Requiring a top level name, and test
for that, is no harder than what's already expected, and it is a constant
difficulty regardless of package.
In fact, we could (should?) have a single test that applies to all packages in
the std lib:
for package in packages:
if isprovisional(package):
assert hasattr(package, '__provisional__')
assert package documentation includes boilerplate
else:
assert not hasattr(package, '__provisional__')
assert package documentation does not include boilerplate
Arguably, the canonical test for whether a package is provisional or not
should be the existence of __provisional__:
for package in packages:
if hasattr(package, '__provisional__')
assert package documentation includes boilerplate
else:
assert package documentation does not includes boilerplate
>> An easy way for (2) would be just grepping on the Python docs for the
>> provisional note and seeing which modules have it.
Not all OSes include grep. Not all Python installations include the docs.
--
Steven
More information about the Python-Dev
mailing list