rez.config

class rez.config.Validatable

Bases: Protocol

validate(data: T) T
__init__(*args, **kwargs)
class rez.config.Setting

Bases: object

Setting subclasses implement lazy setting validators.

Note that lazy setting validation only happens on main configuration settings - plugin settings are validated on load only.

schema: Validatable = Schema(<class 'object'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.Str

Bases: Setting

schema: Validatable = Schema(<class 'str'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.Char

Bases: Setting

schema: Validatable = Schema(<class 'str'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.OptionalStr

Bases: Str

schema: Validatable = Or(None, <class 'str'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.StrList

Bases: Setting

schema: Validatable = Schema([<class 'str'>])
sep = ','
__init__(config, key) None
validate(data: Any) Any
class rez.config.PipInstallRemaps

Bases: Setting

Ordered, pip install remappings.

PARDIR = '\\.\\.'
SEP = '/'
RE_TOKENS = {'p': '\\.\\.', 'pardir': '\\.\\.', 's': '/', 'sep': '/'}
TOKENS = {'p': '..', 'pardir': '..', 's': '/', 'sep': '/'}
KEYS = ['record_path', 'pip_install', 'rez_install']
schema: Validatable = Schema([{'record_path': And(<class 'str'>, <built-in function len>), 'pip_install': And(<class 'str'>, <built-in function len>), 'rez_install': And(<class 'str'>, <built-in function len>)}])
validate(data: list) list

Extended to substitute regex-escaped path tokens.

__init__(config, key) None
class rez.config.OptionalStrList

Bases: StrList

schema: Validatable = Or(And(None, Use(<function OptionalStrList.<lambda>>)), [<class 'str'>])
__init__(config, key) None
sep = ','
validate(data: Any) Any
class rez.config.PathList

Bases: StrList

sep = ':'
__init__(config, key) None
schema: Validatable = Schema([<class 'str'>])
validate(data: Any) Any
class rez.config.Int

Bases: Setting

schema: Validatable = Schema(<class 'int'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.Float

Bases: Setting

schema: Validatable = Schema(<class 'float'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.Bool

Bases: Setting

schema: Validatable = Schema(<class 'bool'>)
true_words = frozenset({'1', 'on', 't', 'true', 'y', 'yes'})
false_words = frozenset({'0', 'f', 'false', 'n', 'no', 'off'})
all_words = frozenset({'0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'})
__init__(config, key) None
validate(data: Any) Any
class rez.config.OptionalBool

Bases: Bool

schema: Validatable = Or(None, Schema(<class 'bool'>))
__init__(config, key) None
all_words = frozenset({'0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'})
false_words = frozenset({'0', 'f', 'false', 'n', 'no', 'off'})
true_words = frozenset({'1', 'on', 't', 'true', 'y', 'yes'})
validate(data: Any) Any
class rez.config.ForceOrBool

Bases: Bool

FORCE_STR = 'force'
schema: Validatable = Or('force', Schema(<class 'bool'>))
all_words = frozenset({'0', '1', 'f', 'false', 'force', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'})
__init__(config, key) None
false_words = frozenset({'0', 'f', 'false', 'n', 'no', 'off'})
true_words = frozenset({'1', 'on', 't', 'true', 'y', 'yes'})
validate(data: Any) Any
class rez.config.Dict

Bases: Setting

schema: Validatable = Schema(<class 'dict'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.OptionalDict

Bases: Dict

schema: Validatable = Or(And(None, Use(<function OptionalDict.<lambda>>)), <class 'dict'>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.OptionalDictOrDictList

Bases: Setting

schema: Validatable = Or(And(None, Use(<function OptionalDictOrDictList.<lambda>>)), And(<class 'dict'>, Use(<function OptionalDictOrDictList.<lambda>>)), [<class 'dict'>])
__init__(config, key) None
validate(data: Any) Any
class rez.config.SuiteVisibility_

Bases: Str

schema: Validatable = Or('never', 'always', 'parent', 'parent_priority')
__init__(config, key) None
validate(data: Any) Any
class rez.config.VariantSelectMode_

Bases: Str

schema: Validatable = Or('version_priority', 'intersection_priority')
__init__(config, key) None
validate(data: Any) Any
class rez.config.RezToolsVisibility_

Bases: Str

schema: Validatable = Or('never', 'append', 'prepend')
__init__(config, key) None
validate(data: Any) Any
class rez.config.ExecutableScriptMode_

Bases: Str

schema: Validatable = Or('single', 'py', 'platform_specific', 'both')
__init__(config, key) None
validate(data: Any) Any
class rez.config.OptionalStrOrFunction

Bases: Setting

schema: Validatable = Or(None, <class 'str'>, <built-in function callable>)
__init__(config, key) None
validate(data: Any) Any
class rez.config.PreprocessMode_

Bases: Str

schema: Validatable = Or('before', 'after', 'override')
__init__(config, key) None
validate(data: Any) Any
class rez.config.BuildThreadCount_

Bases: Setting

schema: Validatable = Or(And(<class 'int'>, <function BuildThreadCount_.schema.<locals>.<lambda>>), And('physical_cores', Use(<function BuildThreadCount_.schema.<locals>.<lambda>>)), And('logical_cores', Use(<function BuildThreadCount_.schema.<locals>.<lambda>>)))
__init__(config, key) None
validate(data: Any) Any
class rez.config.Config

Bases: object

Rez configuration settings.

You should call the create_config function, rather than constructing a Config object directly.

Config files are merged with other config files to create a Config instance. The ‘rezconfig’ file in rez acts as the primary - other config files update the primary configuration to create the final config. See the comments at the top of ‘rezconfig’ for more details.

schema = Schema({'packages_path': <class 'rez.config.PathList'>, 'plugin_path': <class 'rez.config.PathList'>, 'bind_module_path': <class 'rez.config.PathList'>, 'standard_system_paths': <class 'rez.config.PathList'>, 'package_definition_build_python_paths': <class 'rez.config.PathList'>, 'platform_map': <class 'rez.config.OptionalDict'>, 'default_relocatable_per_package': <class 'rez.config.OptionalDict'>, 'default_relocatable_per_repository': <class 'rez.config.OptionalDict'>, 'default_cachable_per_package': <class 'rez.config.OptionalDict'>, 'default_cachable_per_repository': <class 'rez.config.OptionalDict'>, 'default_cachable': <class 'rez.config.OptionalBool'>, 'implicit_packages': <class 'rez.config.StrList'>, 'parent_variables': <class 'rez.config.StrList'>, 'resetting_variables': <class 'rez.config.StrList'>, 'release_hooks': <class 'rez.config.StrList'>, 'context_tracking_context_fields': <class 'rez.config.StrList'>, 'pathed_env_vars': <class 'rez.config.StrList'>, 'prompt_release_message': <class 'rez.config.Bool'>, 'critical_styles': <class 'rez.config.OptionalStrList'>, 'error_styles': <class 'rez.config.OptionalStrList'>, 'warning_styles': <class 'rez.config.OptionalStrList'>, 'info_styles': <class 'rez.config.OptionalStrList'>, 'debug_styles': <class 'rez.config.OptionalStrList'>, 'heading_styles': <class 'rez.config.OptionalStrList'>, 'local_styles': <class 'rez.config.OptionalStrList'>, 'implicit_styles': <class 'rez.config.OptionalStrList'>, 'ephemeral_styles': <class 'rez.config.OptionalStrList'>, 'alias_styles': <class 'rez.config.OptionalStrList'>, 'memcached_uri': <class 'rez.config.OptionalStrList'>, 'pip_extra_args': <class 'rez.config.OptionalStrList'>, 'pip_install_remaps': <class 'rez.config.PipInstallRemaps'>, 'local_packages_path': <class 'rez.config.Str'>, 'release_packages_path': <class 'rez.config.Str'>, 'dot_image_format': <class 'rez.config.Str'>, 'build_directory': <class 'rez.config.Str'>, 'default_build_process': <class 'rez.config.Str'>, 'documentation_url': <class 'rez.config.Str'>, 'suite_visibility': <class 'rez.config.SuiteVisibility_'>, 'rez_tools_visibility': <class 'rez.config.RezToolsVisibility_'>, 'create_executable_script_mode': <class 'rez.config.ExecutableScriptMode_'>, 'suite_alias_prefix_char': <class 'rez.config.Char'>, 'cache_packages_path': <class 'rez.config.OptionalStr'>, 'package_definition_python_path': <class 'rez.config.OptionalStr'>, 'tmpdir': <class 'rez.config.OptionalStr'>, 'context_tmpdir': <class 'rez.config.OptionalStr'>, 'default_shell': <class 'rez.config.OptionalStr'>, 'terminal_emulator_command': <class 'rez.config.OptionalStr'>, 'editor': <class 'rez.config.OptionalStr'>, 'image_viewer': <class 'rez.config.OptionalStr'>, 'difftool': <class 'rez.config.OptionalStr'>, 'browser': <class 'rez.config.OptionalStr'>, 'critical_fore': <class 'rez.config.OptionalStr'>, 'critical_back': <class 'rez.config.OptionalStr'>, 'error_fore': <class 'rez.config.OptionalStr'>, 'error_back': <class 'rez.config.OptionalStr'>, 'warning_fore': <class 'rez.config.OptionalStr'>, 'warning_back': <class 'rez.config.OptionalStr'>, 'info_fore': <class 'rez.config.OptionalStr'>, 'info_back': <class 'rez.config.OptionalStr'>, 'debug_fore': <class 'rez.config.OptionalStr'>, 'debug_back': <class 'rez.config.OptionalStr'>, 'heading_fore': <class 'rez.config.OptionalStr'>, 'heading_back': <class 'rez.config.OptionalStr'>, 'local_fore': <class 'rez.config.OptionalStr'>, 'local_back': <class 'rez.config.OptionalStr'>, 'implicit_fore': <class 'rez.config.OptionalStr'>, 'implicit_back': <class 'rez.config.OptionalStr'>, 'ephemeral_fore': <class 'rez.config.OptionalStr'>, 'ephemeral_back': <class 'rez.config.OptionalStr'>, 'alias_fore': <class 'rez.config.OptionalStr'>, 'alias_back': <class 'rez.config.OptionalStr'>, 'package_preprocess_function': <class 'rez.config.OptionalStrOrFunction'>, 'package_preprocess_mode': <class 'rez.config.PreprocessMode_'>, 'error_on_missing_variant_requires': <class 'rez.config.Bool'>, 'context_tracking_host': <class 'rez.config.OptionalStr'>, 'variant_shortlinks_dirname': <class 'rez.config.OptionalStr'>, 'build_thread_count': <class 'rez.config.BuildThreadCount_'>, 'resource_caching_maxsize': <class 'rez.config.Int'>, 'max_package_changelog_chars': <class 'rez.config.Int'>, 'max_package_changelog_revisions': <class 'rez.config.Int'>, 'memcached_package_file_min_compress_len': <class 'rez.config.Int'>, 'memcached_context_file_min_compress_len': <class 'rez.config.Int'>, 'memcached_listdir_min_compress_len': <class 'rez.config.Int'>, 'memcached_resolve_min_compress_len': <class 'rez.config.Int'>, 'shell_error_truncate_cap': <class 'rez.config.Int'>, 'package_cache_log_days': <class 'rez.config.Int'>, 'package_cache_max_variant_days': <class 'rez.config.Int'>, 'package_cache_space_buffer': <class 'rez.config.Int'>, 'package_cache_used_threshold': <class 'rez.config.Int'>, 'package_cache_clean_limit': <class 'rez.config.Float'>, 'allow_unversioned_packages': <class 'rez.config.Bool'>, 'package_cache_during_build': <class 'rez.config.Bool'>, 'package_cache_local': <class 'rez.config.Bool'>, 'package_cache_same_device': <class 'rez.config.Bool'>, 'package_cache_async': <class 'rez.config.Bool'>, 'color_enabled': <class 'rez.config.ForceOrBool'>, 'resolve_caching': <class 'rez.config.Bool'>, 'cache_package_files': <class 'rez.config.Bool'>, 'cache_listdir': <class 'rez.config.Bool'>, 'prune_failed_graph': <class 'rez.config.Bool'>, 'all_parent_variables': <class 'rez.config.Bool'>, 'all_resetting_variables': <class 'rez.config.Bool'>, 'package_commands_sourced_first': <class 'rez.config.Bool'>, 'use_variant_shortlinks': <class 'rez.config.Bool'>, 'warn_shell_startup': <class 'rez.config.Bool'>, 'warn_untimestamped': <class 'rez.config.Bool'>, 'warn_all': <class 'rez.config.Bool'>, 'warn_none': <class 'rez.config.Bool'>, 'debug_file_loads': <class 'rez.config.Bool'>, 'debug_plugins': <class 'rez.config.Bool'>, 'debug_package_release': <class 'rez.config.Bool'>, 'debug_bind_modules': <class 'rez.config.Bool'>, 'debug_resources': <class 'rez.config.Bool'>, 'debug_package_exclusions': <class 'rez.config.Bool'>, 'debug_memcache': <class 'rez.config.Bool'>, 'debug_resolve_memcache': <class 'rez.config.Bool'>, 'debug_context_tracking': <class 'rez.config.Bool'>, 'debug_shell_startup': <class 'rez.config.Bool'>, 'debug_all': <class 'rez.config.Bool'>, 'debug_none': <class 'rez.config.Bool'>, 'quiet': <class 'rez.config.Bool'>, 'show_progress': <class 'rez.config.Bool'>, 'catch_rex_errors': <class 'rez.config.Bool'>, 'default_relocatable': <class 'rez.config.Bool'>, 'set_prompt': <class 'rez.config.Bool'>, 'prefix_prompt': <class 'rez.config.Bool'>, 'warn_old_commands': <class 'rez.config.Bool'>, 'error_old_commands': <class 'rez.config.Bool'>, 'debug_old_commands': <class 'rez.config.Bool'>, 'rez_1_environment_variables': <class 'rez.config.Bool'>, 'disable_rez_1_compatibility': <class 'rez.config.Bool'>, 'make_package_temporarily_writable': <class 'rez.config.Bool'>, 'read_package_cache': <class 'rez.config.Bool'>, 'write_package_cache': <class 'rez.config.Bool'>, 'env_var_separators': <class 'rez.config.Dict'>, 'variant_select_mode': <class 'rez.config.VariantSelectMode_'>, 'package_filter': <class 'rez.config.OptionalDictOrDictList'>, 'package_orderers': <class 'rez.config.OptionalDictOrDictList'>, 'new_session_popen_args': <class 'rez.config.OptionalDict'>, 'context_tracking_amqp': <class 'rez.config.OptionalDict'>, 'context_tracking_extra_fields': <class 'rez.config.OptionalDict'>, 'optionvars': <class 'rez.config.OptionalDict'>, 'use_pyside': <class 'rez.config.Bool'>, 'use_pyqt': <class 'rez.config.Bool'>, 'gui_threads': <class 'rez.config.Bool'>})
schema_error

alias of ConfigurationError

__init__(filepaths: list[str], overrides=None, locked: bool = False) None

Create a config.

Parameters:
  • filepaths (list of str) – List of config files to load.

  • overrides (dict) – A dict containing settings that override all others. Nested settings are overridden with nested dicts.

  • locked – If True, settings overrides in environment variables are ignored.

get(key, default=None)

Get the value of a setting.

copy(overrides=None, locked: bool = False) Config

Create a separate copy of this config.

override(key: str, value)

Set a setting to the given value.

Note that key can be in dotted form, eg ‘plugins.release_hook.emailer.sender’.

is_overridden(key: str) bool
remove_override(key: str)

Remove a setting override, if one exists.

warn(key: str)

Returns True if the warning setting is enabled.

debug(key: str)

Returns True if the debug setting is enabled.

debug_printer(key: str)

Returns a printer object suitably enabled based on the given key.

sourced_filepaths() list[str]

Get the list of files actually sourced to create the config.

Note

self.filepaths refers to the filepaths used to search for the configs, which does dot necessarily match the files used. For example, some files may not exist, while others are chosen as rezconfig.py in preference to rezconfig, rezconfig.yaml.

Returns:

The sourced files.

Return type:

List of str

plugins() _PluginConfigs

Plugin settings are loaded lazily, to avoid loading the plugins until necessary.

property data

Returns the entire configuration as a dict.

Note that this will force all plugins to be loaded.

property nonlocal_packages_path

Returns package search paths with local path removed.

get_completions(prefix)
alias_back()
alias_fore()
alias_styles()
all_parent_variables()
all_resetting_variables()
allow_unversioned_packages()
bind_module_path()
browser()
build_directory()
build_thread_count()
cache_listdir()
cache_package_files()
cache_packages_path()
catch_rex_errors()
color_enabled()
context_tmpdir()
context_tracking_amqp()
context_tracking_context_fields()
context_tracking_extra_fields()
context_tracking_host()
create_executable_script_mode()
critical_back()
critical_fore()
critical_styles()
debug_all()
debug_back()
debug_bind_modules()
debug_context_tracking()
debug_file_loads()
debug_fore()
debug_memcache()
debug_none()
debug_old_commands()
debug_package_exclusions()
debug_package_release()
debug_plugins()
debug_resolve_memcache()
debug_resources()
debug_shell_startup()
debug_styles()
default_build_process()
default_cachable()
default_cachable_per_package()
default_cachable_per_repository()
default_relocatable()
default_relocatable_per_package()
default_relocatable_per_repository()
default_shell()
difftool()
disable_rez_1_compatibility()
documentation_url()
dot_image_format()
editor()
env_var_separators()
ephemeral_back()
ephemeral_fore()
ephemeral_styles()
error_back()
error_fore()
error_old_commands()
error_on_missing_variant_requires()
error_styles()
gui_threads()
heading_back()
heading_fore()
heading_styles()
image_viewer()
implicit_back()
implicit_fore()
implicit_packages()
implicit_styles()
info_back()
info_fore()
info_styles()
local_back()
local_fore()
local_packages_path()
local_styles()
make_package_temporarily_writable()
max_package_changelog_chars()
max_package_changelog_revisions()
memcached_context_file_min_compress_len()
memcached_listdir_min_compress_len()
memcached_package_file_min_compress_len()
memcached_resolve_min_compress_len()
memcached_uri()
new_session_popen_args()
optionvars()
package_cache_async()
package_cache_clean_limit()
package_cache_during_build()
package_cache_local()
package_cache_log_days()
package_cache_max_variant_days()
package_cache_same_device()
package_cache_space_buffer()
package_cache_used_threshold()
package_commands_sourced_first()
package_definition_build_python_paths()
package_definition_python_path()
package_filter()
package_orderers()
package_preprocess_function()
package_preprocess_mode()
packages_path()
parent_variables()
pathed_env_vars()
pip_extra_args()
pip_install_remaps()
platform_map()
plugin_path()
prefix_prompt()
prompt_release_message()
prune_failed_graph()
quiet()
read_package_cache()
release_hooks()
release_packages_path()
resetting_variables()
resolve_caching()
resource_caching_maxsize()
rez_1_environment_variables()
rez_tools_visibility()
set_prompt()
shell_error_truncate_cap()
show_progress()
standard_system_paths()
suite_alias_prefix_char()
suite_visibility()
terminal_emulator_command()
tmpdir()
use_pyqt()
use_pyside()
validate_data() None
validated_data()
variant_select_mode()
warn_all()
warn_none()
warn_old_commands()
warn_shell_startup()
warn_untimestamped()
warning_back()
warning_fore()
warning_styles()
write_package_cache()
rez.config.expand_system_vars(data: T) T

Expands any strings within data such as ‘{system.user}’.

rez.config.create_config(overrides=None) Config

Create a configuration based on the global config.

rez.config.get_module_root_config() str