Configuration File Reference

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.

The [globals] Section

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:

  • --help
  • --help-commands
  • --config-file
  • --quiet (use verbose = false)

The [versions] Section

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.

Table Of Contents

Previous topic

Command-Line Reference

Next topic

API Documentation for compoze

This Page