Skip to content

The show subcommand

The main purpose of the show subcommand is to provide access to configuration data via scripts.

Basic use

The configuration object is a dict containing nested data structures. The arguments and options of this command relate to extracting data from the configuration object and presenting the extracted data.

Specifying the output data

The positional arguments determine the data shown. If nothing or all is passed, the entire configuration is shown.

Positional arguments are specified using a format like Django variable resolution.

Examples:

  • a.b specifies the “b” key in the nested dictionaries: {"a": {"b": "value"}}
  • a.3 specifies the 4th item (the first is 0) of the list at key “a”: {"a": ["no", "nay", "nyet", "value"]}

Specifying the output format

If only one positional argument is passed, the default format only shows its value. If no positional arguments, several positional arguments, or all is passed, the output from pprint.pprint is shown.

This makes getting the current version easy:

$ bump-my-version show current_version
1.0.1

You can request the output be formatted as YAML or JSON:

$ bump-my-version show --format yaml current_version
current_version: "1.0.1"
$ bump-my-version show --format json current_version
{
  "current_version": "1.0.1"
}

Including the incremented version before bumping

Your workflow might want to know the new version before you actually do the bumping. The --increment or -i option accepts a version part to bump and adds a new_version key into the configuration.

$ bump-my-version --increment patch show
1.0.2
$ bump-my-version --increment minor show
1.1.0
$ bump-my-version --increment major show
2.0.0