Static metadata proof of concept
all metadata are expressed in the setup.cfg file
when "python setup.py SOME_COMMAND" is invoked the metadata values located in the [global] section are passed to Distutils like if they were arguments for setup().
A setup.cfg.in file can be provided it's a template for setup.cfg. If found, Distutils will render it to create setup.cfg.
When executed, the template gets these values:
- platform: the value returned by sys.platform
- os_name: the value returned by os.name
- python_version: the python version string (2.5, 2.6, etc)
Right now the template engine in usage is Mako, but the version that will be included in Distutils will be a light template engine that only supports the %if-%endif syntax.
so you need mako to run the demo.
setup.cfg is re-built from setup.cfg.in everytime setup() is called, allowing it to run on target platform when the system is installed.
one may generate setup.cfg for his platform w/o having to get the whole distribution or to run setup(). A vanilla Python is ennough
Distutils changes are located in configure.py in the proof of concept, but this file will disappear if the change is added into distutils