[Distutils] [Python-Dev] Distutils ML wrap-up: setup.cfg new format

Tarek Ziadé ziade.tarek at gmail.com
Wed Sep 23 15:15:24 CEST 2009

On Wed, Sep 23, 2009 at 2:56 PM, Floris Bruynooghe
<floris.bruynooghe at gmail.com> wrote:
> [original mail from python-dev
> http://mail.python.org/pipermail/python-dev/2009-September/091947.html]
> On Tue, Sep 22, 2009 at 03:21:06PM +0200, Tarek Ziadé wrote:
>> The pseudo-grammar is (I don't know how to write those but you'll
>> get it hopefully)::
>>     comp: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'
>>     comparison: expr (comp_op expr)*
>>     expr: STRING
>>     test: or_test
>>     or_test: and_test ('or' and_test)*
>>     and_test: not_test ('and' not_test)*
>>     not_test: 'not' not_test | comparison
> Here you're re-introducing '<', '>', '<=' and '>=' while you said [0]
> that you where going to drop them.

Right, that was a copy-paste typo:

comp: '=='|'!='|'in'|'not' 'in'

> I'm still not convinced of
> allowing this between strings as it will likely lead to mistakes when
> comparing "versions".  I'm still tempted by making "python_version" a
> RationalVersion() so that you can use '<', '>', '<=' and '>=' safely,
> not really convinced of writing something like:
>  [setup:python_version == '2.2' or python_version == '2.3' or
>   python_version == '2.4']

That's quite verbose indeed, but that is required if we want to
keep string comparison.

what about keeping python_version a string, but  changing the way it's created ?

python_version : string_version('%s.%s' % (sys.version_info[0],

where string_version() is a function that makes sure the output is
something we can compare
to strings like '2.4', etc.

I wouldn't talk about RationalVersion() from PEP 386 here, because we
just want a subset of it in this function : The Python version scheme.

Then we could re-introduce '<' and '>'

> (Can you even split section headers over multiple lines in ini-files?)

I don't think so.


Tarek Ziadé | http://ziade.org | オープンソースはすごい!

More information about the Distutils-SIG mailing list