In addition to the command line syntax, you can pass options to compoze via one or more configuration files:
$ bin/compoze --config-file=file1.cfg --config-file=file2.cfg
Each configuration file is expected to be an INI-style file, including either or both a [globals] section and a [versions] section.
If multiple configuration files are specified (i.e., by repeating the config-file option), then values configured in later files override those configured in earlier files.
This section provides values for options which are global across compoze subcommands. The allowed names and values are similar to the long-form options specified in compoze, except that the leading -- is elided. For example:
[globals]
path = /path/to/index
index-url =
http://example.com/simple
http://example.com/complex
verbose = false
The following command-line options are redundant or meaningless in a configuration file, and hence are not supported:
Each key in this section corresponds to a project, and defines a restriction on which release (s) should be consulted / fetched.
The syntax for a project pinned to a single version is:
projectname = x.y.z
Projects can also be pinned to a range of releases, using the normal pkg_resources version specifiers.
fooproject = <x.y.z
barproject = >=x.y.z
quxproject = >=x.y.z,<a.b
In this case, the first equals sign after the project name is not part of the specifier: it merely separates the project name from the actual specifier.
Projects defined in this section can also define optional extra tags:
fooproject|qux = <x.y.z
barproject|baz,spam = >=x.y.z
The | symbol divides the project name from a comma-separated list of extra tags to be included.