[Distutils] Splitting distribute in several distributions

Tarek Ziadé ziade.tarek at gmail.com
Wed Aug 12 23:58:09 CEST 2009


On Wed, Aug 12, 2009 at 2:31 PM, Hanno Schlichting<hanno at hannosch.eu> wrote:
> On Wed, Aug 12, 2009 at 2:18 PM, Barry Warsaw<barry at python.org> wrote:
>> On Aug 12, 2009, at 4:35 AM, Tarek Ziadé wrote:
>>
>> One feature I would love to see make standard is the ability to import a
>> package and check its __version__.  Version information must be available
>> from Python, and it seems like __version__ is the standard place to put it.
>> Too many times I've had to figure out the version of foo.bar that I'm
>> using.  When I can do
>>
>>>>> import foo.bar
>>>>> foo.bar.__version__
>> 3.2.1
>>
>> I am a much happier camper.
>
> The easiest way I could find right now seems to be:
>
>>>> import pkg_resources
>>>> dist = pkg_resources.get_distribution('foo')
>>>> dist.version
> 3.2.1
>
> Which isn't too bad and could be simplified into an even simpler API call.
>
> If the package author doesn't set a __version__ attribute in his own
> code, I'd be hesitant to magically make it available from the
> accompanying metadata. If it's part of the metadata, an explicit API
> that makes it clear that you are querying the package metadata seems
> cleaner to me.

yes, and with PEP 376 (which I need to work back in asap), it will be
similar and we will
have that explicit, clean, get_metadata api.

Notice that I think it's better to use pkg_resources (and PEP 376)
tehcnique because it grabs the version
number in the PKG-INFO file which is static, and doesn't forces you to
import a module
in the execution context just to get the version. You never know what
gets executed when you import a module

Cheers
Tarek


>
> Hanno
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
>



-- 
Tarek Ziadé | http://ziade.org


More information about the Distutils-SIG mailing list