rez.config#

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 = Schema(<class 'object'>)#
__init__(config, key)#
validate(data)#
class rez.config.Str#

Bases: Setting

schema = Schema(<class 'str'>)#
__init__(config, key)#
validate(data)#
class rez.config.Char#

Bases: Setting

schema = Schema(<class 'str'>)#
__init__(config, key)#
validate(data)#
class rez.config.OptionalStr#

Bases: Str

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

Bases: Setting

schema = Schema([<class 'str'>])#
sep = ','#
__init__(config, key)#
validate(data)#
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 = 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)#

Extended to substitute regex-escaped path tokens.

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

Bases: StrList

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

Bases: StrList

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

Bases: Setting

schema = Schema(<class 'int'>)#
__init__(config, key)#
validate(data)#
class rez.config.Float#

Bases: Setting

schema = Schema(<class 'float'>)#
__init__(config, key)#
validate(data)#
class rez.config.Bool#

Bases: Setting

schema = 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)#
validate(data)#
class rez.config.OptionalBool#

Bases: Bool

schema = Or(None, Schema(<class 'bool'>))#
__init__(config, key)#
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)#
class rez.config.ForceOrBool#

Bases: Bool

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

Bases: Setting

schema = Schema(<class 'dict'>)#
__init__(config, key)#
validate(data)#
class rez.config.OptionalDict#

Bases: Dict

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

Bases: Setting

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

Bases: Str

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

Bases: Str

schema = Or('version_priority', 'intersection_priority')#
__init__(config, key)#
validate(data)#
class rez.config.RezToolsVisibility_#

Bases: Str

schema = Or('never', 'append', 'prepend')#
__init__(config, key)#
validate(data)#
class rez.config.ExecutableScriptMode_#

Bases: Str

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

Bases: Setting

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

Bases: Str

schema = Or('before', 'after', 'override')#
__init__(config, key)#
validate(data)#
class rez.config.BuildThreadCount_#

Bases: Setting

schema = 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)#
validate(data)#
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'>, '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_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'>, '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_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, overrides=None, locked=False)#

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=False)#

Create a separate copy of this config.

override(key, 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)#
remove_override(key)#

Remove a setting override, if one exists.

warn(key)#

Returns True if the warning setting is enabled.

debug(key)#

Returns True if the debug setting is enabled.

debug_printer(key)#

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

sourced_filepaths()#

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()#

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_styles()#
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_clean_limit()#
package_cache_during_build()#
package_cache_local()#
package_cache_log_days()#
package_cache_max_variant_days()#
package_cache_same_device()#
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()#
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)#

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

rez.config.create_config(overrides=None)#

Create a configuration based on the global config.

rez.config.get_module_root_config()#