Version: 1.0

Customizing Application's help

Example application

Hydra provides two different help options:

  • --help : Application specific help
  • --hydra-help Hydra specific help.

Example output of --help:

$ python my_app.py --help
== AwesomeApp ==
This is AwesomeApp!
You can choose a db driver by appending
== Configuration groups ==
Compose your configuration from those groups (db=mysql)
db: mysql, postgresql
== Config ==
This is the config generated for this run.
You can override everything, for example:
python my_app.py db.user=foo db.pass=bar
-------
db:
driver: mysql
user: omry
pass: secret
-------
Powered by Hydra (https://hydra.cc)
Use --hydra-help to view Hydra specific help

This output is generated from the following config group option (selected in config.yaml to be used by default):

hydra/help/my_app_help.yaml
# @package _group_
# App name, override to match the name your app is known by
app_name: AwesomeApp
# Help header, customize to describe your app to your users
header: == ${hydra.help.app_name} ==
footer: |-
Powered by Hydra (https://hydra.cc)
Use --hydra-help to view Hydra specific help
# Basic Hydra flags:
# $FLAGS_HELP
#
# Config groups, choose one of:
# $APP_CONFIG_GROUPS: All config groups that does not start with hydra/.
# $HYDRA_CONFIG_GROUPS: All the Hydra config groups (starts with hydra/)
#
# Configuration generated with overrides:
# $CONFIG : Generated config
#
template: |-
${hydra.help.header}
This is ${hydra.help.app_name}!
You can choose a db driver by appending
== Configuration groups ==
Compose your configuration from those groups (db=mysql)
$APP_CONFIG_GROUPS
== Config ==
This is the config generated for this run.
You can override everything, for example:
python my_app.py db.user=foo db.pass=bar
-------
$CONFIG
-------
${hydra.help.footer}
Last updated on by Jieru Hu