6.2 Syntax of config files

The Distutils configuration files all have the same syntax. The config files are grouped into sections; there is one section for each Distutils command, plus a global section for global options that affect every command. Each section consists of one option per line, specified like option=value.

For example, the following is a complete config file that just forces all commands to run quietly by default:

[global]
verbose=0

If this is installed as the system config file, it will affect all processing of any Python module distribution by any user on the current system. If it is installed as your personal config file (on systems that support them), it will affect only module distributions processed by you. And if it is used as the setup.cfg for a particular module distribution, it affects only that distribution.

You could override the default ``build base'' directory and make the build* commands always forcibly rebuild all files with the following:

[build]
build-base=blib
force=1
which corresponds to the command-line arguments
python setup.py build --build-base=blib --force
except that including the build command on the command-line means that command will be run. Including a particular command in config files has no such implication; it only means that if the command is run, the options in the config file will apply. (Or if other commands that derive values from it are run, they will use the values in the config file.)

You can find out the complete list of options for any command using the --help option, e.g.:

python setup.py build --help
and you can find out the complete list of global options by using --help without a command:
python setup.py --help
See also the ``Reference'' section of the ``Distributing Python Modules'' manual.

See About this document... for information on suggesting changes.