On 02:33 pm, ziade.ta...@gmail.com wrote:
Hello
here's a detailed proposal for the setup.cfg format. I've included all
remarks,
and tried to make the syntax as simple as possible. I've dropped the
long_description
stuff and the template language stuff. (people can do it as a
post-release process)
A/ Config file structure:
"""
[setup]
foo: bar
conditional-sections: one, two
[one]
condition: test
[two]
condition: test
"""
The idea here is that the [setup] section includes everything in section
[one] if all of the "condition" clauses in [one] are satisfied, and
includes everything in section [two] if all of the "condition" clauses
in [two] are satisfied?
2/ Execution environment:
python_version = '%s.%s' % (sys.version_info[0], sys.version_info[1])
os_name = os.name
platform = sys.platform
uname = os.uname()
python_version_info = sys.version_info
3/ Grammar:
comp_op: '<'|'>'|'=='|'>='|'<='|'<>'|'!='|'in'|'not' 'in'|'is'|'is'
'not'
comparison: expr (comp_op expr)*
expr:
'python_version'|'python_version_info'|'os_name'|'uname'|'platform'|STRING
test: or_test
or_test: and_test ('or' and_test)*
and_test: not_test ('and' not_test)*
not_test: 'not' not_test | comparison
What's "STRING"? What's the precedence of and, or, and not? What does
this mean?
os_name > uname > 7
What does "is" mean?
Is this all really Python, with lots of features thrown out?
4/ Process
distutils will interpret [setup] and act upon, to fill the
Distribution object and its metadata attribute object.
It will look only for Metadata fields and ignores the others.
In case an option is passed in setup.py, it overrides the one in
setup.cfg.
Let me know if it's good enough. I won't write a PEP for this change,
and I will just push it for information at python-dev as soon as I get
enough +1 :)
I'm a little skeptical about creating a new mini language (particularly
one with branching) for setup.cfg, but I haven't really been paying
close attention to this discussion. Still, it might be good to give a
brief summary of the justification for this someplace. Maybe you were
already planning to do that.
Jean-Paul
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig