On Mar 16, 2011, at 12:39 PM, Alexander Belopolsky wrote:

>I was editing the turtle module (for issue11571, if you are
>interested) when I noticed that it has the following line:
>
>_ver = "turtle 1.1b- - for Python 3.1   -  4. 5. 2009"
>
>This is obviously out of date and this variable is not used anywhere
>in the module.  I would simply delete it, but I wonder if there is any
>recommended mechanism for maintaining module versions.
>
>Some modules define __version__ which has a special meaning at least
>for pydoc and possibly some third party tools.  In many cases it is
>never updated and its format and meaning varies from module to module.
> (For example, decimal module stores the version of the spec rather
>than the version of the module in __version__.)
>
>In several instances, __version__ is set to "$Revision$" in an
>apparent attempt to leverage VCS to keep it up to date, but this does
>not seem to work after hg transition.  For example,
>
>$  ./python.exe -m pydoc pydoc
>..
>VERSION
>    $Revision$
>
>The other affected modules are pickle and tarfile.
>
>Do you have an advise on how these issues should be handled?

MvL and I had a discussion about this at the sprint.  I am planning on writing
an informational PEP that proposes __version__ as a standard convention.  I'd
like to be able to do:

    >>> import foo
    >>> foo.__version__

It won't be mandatory (thus the informational PEP), but it should be
formalized as the preferred way to introspect a module for its version
number.  I think there should be ways to spell this easily if the information
is provided to packaging/distutils2 so that it can basically always be kept up
to date without violating DRY.

-Barry

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to