[Distutils] Static metadata using setup.cfg

Tarek Ziadé ziade.tarek at gmail.com
Tue Aug 25 11:48:11 CEST 2009


On Tue, Aug 18, 2009 at 6:32 PM, Tarek Ziadé<ziade.tarek at gmail.com> wrote:
> On Tue, Aug 18, 2009 at 1:26 PM, Eric Smith<eric at trueblade.com> wrote:
>> David Lyon wrote:
>>>
>>> That's why we need to keep it simple. Handle 85% of use cases with
>>> config and the other 15% with the ability to use (python) code.
>>
>> The part that needs to by "code-like" is only the stuff that's needed when
>> the config file is used by an installer, and is known only to the target
>> system. Remember one of the points of having a static file (as we discussed
>> at the language summit) is so that installers can install a "module
>> distribution" (distutils term) without executing any python code.
>>
>> So version dependencies might need to be code-like, per-python-version
>> dependencies might also need to be. But the long description doesn't. If you
>> want it to be read from some other file, use a script (possibly in a
>> makefile) that generates the config file from various pieces.
>>
>> I think these things that need to be code-like are things that depend on the
>> target system and can't be known until an actual installation takes place.
>> The rest of it can be truly static. I think this list of code-like things
>> can and should be enumerated, and should be very small.
>>
>> Ideally, they'd be translatable into the same sorts of expressions that are
>> understood by rpm and deb (and other) installers, but that's a tall order.
>
> What about a fully static setup.cfg file, and a template file called
> setup.cfg.in,
> working like MANIFEST and MANIFEST.in

Here's a demo of what I was thinking of adding in Distutils:

http://bitbucket.org/tarek/staticmetadata/

It uses Mako just for the proof of concept, README.txt explains how it works

Let me know how this fits your needs,

Cheers
Tarek

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


More information about the Distutils-SIG mailing list