DataLad uses the same configuration mechanism and syntax as Git itself.
Consequently, datalad can be configured using the git config
command. Both a global user configuration (typically at
~/.gitconfig), and a local repository-specific configuration
.git/config) are inspected.
In addition, datalad supports a persistent dataset-specific configuration.
This configuration is stored at
.datalad/config in any dataset. As it
is part of a dataset, settings stored there will also be in effect for any
consumer of such a dataset. Both global and local settings on a particular
machine always override configuration shipped with a dataset.
All datalad-specific configuration variables are prefixed with
It is possible to override or amend the configuration using environment
variables. Any variable with a name that starts with
be available as the corresponding
datalad. configuration variable,
__ (two underscores) with a hyphen, then any
(single underscore) with a dot, and finally converting all letters to
lower case. Values from environment variables take precedence over
configuration file settings.
In addition, the
DATALAD_CONFIG_OVERRIDES_JSON environment variable can
be set to a JSON record with configuration values. This is
particularly useful for options that aren’t accessible through the
naming scheme described above (e.g., an option name that includes an
The following sections provide a (non-exhaustive) list of settings honored by datalad. They are categorized according to the scope they are typically associated with.