hydra-core 1.4.0.dev5__tar.gz → 1.4.0.dev6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hydra_core-1.4.0.dev5/hydra_core.egg-info → hydra_core-1.4.0.dev6}/PKG-INFO +3 -4
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/README.md +1 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/__init__.py +1 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/config_loader_impl.py +57 -4
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/config_repository.py +16 -8
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/bash_completion.py +6 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/structured_config_source.py +0 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/defaults_list.py +16 -6
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/grammar/grammar_functions.py +1 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/hydra.py +47 -17
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/instantiate/_instantiate2.py +389 -64
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/compose.py +7 -5
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/default_element.py +31 -14
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/override_parser/overrides_parser.py +2 -2
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/override_parser/overrides_visitor.py +2 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/plugins.py +6 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/utils.py +20 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/completion_plugin.py +1 -1
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/test_utils.py +3 -3
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/utils.py +4 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/version.py +30 -18
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6/hydra_core.egg-info}/PKG-INFO +3 -4
- hydra_core-1.4.0.dev6/hydra_core.egg-info/requires.txt +1 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/pyproject.toml +50 -25
- hydra_core-1.4.0.dev6/requirements/requirements.txt +1 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_basic_sweeper.py +21 -2
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_callbacks.py +29 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_completion.py +54 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_compose.py +55 -3
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_config_loader.py +1 -2
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_hydra.py +17 -2
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_hydra_cli_errors.py +1 -1
- hydra_core-1.4.0.dev6/tests/test_plugin_interface.py +106 -0
- hydra_core-1.4.0.dev5/hydra_core.egg-info/requires.txt +0 -2
- hydra_core-1.4.0.dev5/requirements/requirements.txt +0 -2
- hydra_core-1.4.0.dev5/tests/test_plugin_interface.py +0 -52
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/LICENSE +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/MANIFEST.in +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/build_helpers/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/build_helpers/bin/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/build_helpers/bin/antlr-4.11.1-complete.jar +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/build_helpers/build_helpers.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/build_helpers/test_helpers.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/callbacks.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/config_search_path_impl.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/basic_sweeper.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/file_config_source.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/fish_completion.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/importlib_resources_config_source.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/zsh_completion.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/deprecation_warning.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/grammar/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/grammar/functions.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/grammar/utils.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/instantiate/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/sources_registry.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/utils.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/env/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/help/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/hydra_help/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/hydra_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/hydra_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/hydra_logging/hydra_debug.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/hydra_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/job_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/job_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/job_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/job_logging/stdout.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/conf/hydra/output/default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/config_loader.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/config_search_path.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/config_store.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/global_hydra.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/hydra_config.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/object_type.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/override_parser/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/override_parser/types.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/core/singleton.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/errors.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/experimental/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/experimental/callback.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/experimental/callbacks.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/experimental/compose.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/experimental/initialize.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/extra/pytest_plugin.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/.gitignore +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/OverrideLexer.g4 +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/OverrideParser.g4 +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/.gitignore +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideLexer.interp +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideLexer.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideLexer.tokens +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideParser.interp +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideParser.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideParser.tokens +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideParserListener.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/grammar/gen/OverrideParserVisitor.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/initialize.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/main.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/config_source.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/launcher.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/plugin.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/search_path_plugin.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/plugins/sweeper.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/py.typed +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/a_module.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/completion.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/config_source_common_tests.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/accessing_hydra_config.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/additional_searchpath.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/config.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/group/dict.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/group/list.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/missing_default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test/test_hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test_additional_file/additional_group/file_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test_additional_file/group/file_opt.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test_additional_package/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test_additional_package/additional_group/pkg_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/completion_test_additional_package/group/pkg_opt.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/compose.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/conf.zip +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/config.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/config.yml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/custom_resolver.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/db/mysql.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/db/postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/db/validated_mysql.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/db/validated_postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/db_conf.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/defaults_not_list.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/group1/abc.cde.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/group1/file1.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/group1/file2.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/group2/file1.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/group2/file2.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/missing-default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/missing-optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/missing_init_py/.gitignore +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/missing_init_py/test.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/overriding_output_dir.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/overriding_run_dir.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/__init__.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/group1/option1.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/group1/option2.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/group2/option1.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/group2/option2.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/pkg_override.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/package_tests/two_packages_one_group.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/schema_key_error.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/schema_validation_error.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/some_config.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/top_level_list/file1.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/configs/unspecified_mandatory_default.yaml +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/example_app.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/test_utils/launcher_common_tests.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/types.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra_core.egg-info/SOURCES.txt +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra_core.egg-info/dependency_links.txt +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra_core.egg-info/entry_points.txt +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra_core.egg-info/top_level.txt +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/setup.cfg +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/setup.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_config_repository.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_config_search_path.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_core_utils.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_env_defaults.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_errors.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_hydra_context_warnings.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_internal_utils.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_overrides_parser.py +0 -0
- {hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hydra-core
|
|
3
|
-
Version: 1.4.0.
|
|
3
|
+
Version: 1.4.0.dev6
|
|
4
4
|
Summary: A framework for elegantly configuring complex applications
|
|
5
5
|
Home-page: https://github.com/facebookresearch/hydra
|
|
6
6
|
Author: Omry Yadan
|
|
@@ -19,8 +19,7 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
19
19
|
Requires-Python: >=3.10
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: omegaconf>=2.4.0.
|
|
23
|
-
Requires-Dist: packaging
|
|
22
|
+
Requires-Dist: omegaconf>=2.4.0.dev13
|
|
24
23
|
Dynamic: author
|
|
25
24
|
Dynamic: author-email
|
|
26
25
|
Dynamic: classifier
|
|
@@ -46,7 +45,7 @@ Dynamic: summary
|
|
|
46
45
|
<p align="center">
|
|
47
46
|
<a href="https://github.com/facebookresearch/hydra/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/hydra-core" alt="PyPI - License" /></a>
|
|
48
47
|
<a href="https://hydra-framework.zulipchat.com/"><img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" alt="Zulip chat" /></a>
|
|
49
|
-
<a href="https://github.com/
|
|
48
|
+
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/badge/code%20style-ruff-261230.svg" alt="Code style: Ruff" /></a>
|
|
50
49
|
</p>
|
|
51
50
|
|
|
52
51
|
<p align="center">
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<a href="https://github.com/facebookresearch/hydra/blob/main/LICENSE"><img src="https://img.shields.io/pypi/l/hydra-core" alt="PyPI - License" /></a>
|
|
12
12
|
<a href="https://hydra-framework.zulipchat.com/"><img src="https://img.shields.io/badge/zulip-join_chat-brightgreen.svg" alt="Zulip chat" /></a>
|
|
13
|
-
<a href="https://github.com/
|
|
13
|
+
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/badge/code%20style-ruff-261230.svg" alt="Code style: Ruff" /></a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
|
|
2
2
|
|
|
3
3
|
# Source of truth for Hydra's version
|
|
4
|
-
__version__ = "1.4.0.
|
|
4
|
+
__version__ = "1.4.0.dev6"
|
|
5
5
|
from hydra import utils
|
|
6
6
|
from hydra.errors import MissingConfigException
|
|
7
7
|
from hydra.main import main
|
|
@@ -53,6 +53,7 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
53
53
|
) -> None:
|
|
54
54
|
self.config_search_path = config_search_path
|
|
55
55
|
self.repository = ConfigRepository(config_search_path=config_search_path)
|
|
56
|
+
self._active_repository: Optional[IConfigRepository] = None
|
|
56
57
|
|
|
57
58
|
@staticmethod
|
|
58
59
|
def validate_sweep_overrides_legal(
|
|
@@ -142,6 +143,41 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
142
143
|
run_mode: RunMode,
|
|
143
144
|
from_shell: bool = True,
|
|
144
145
|
validate_sweep_overrides: bool = True,
|
|
146
|
+
) -> DictConfig:
|
|
147
|
+
return self._load_configuration(
|
|
148
|
+
config_name=config_name,
|
|
149
|
+
overrides=overrides,
|
|
150
|
+
run_mode=run_mode,
|
|
151
|
+
from_shell=from_shell,
|
|
152
|
+
validate_sweep_overrides=validate_sweep_overrides,
|
|
153
|
+
activate_config_repository=False,
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
def _load_configuration_with_active_repository(
|
|
157
|
+
self,
|
|
158
|
+
config_name: Optional[str],
|
|
159
|
+
overrides: List[str],
|
|
160
|
+
run_mode: RunMode,
|
|
161
|
+
from_shell: bool = True,
|
|
162
|
+
validate_sweep_overrides: bool = True,
|
|
163
|
+
) -> DictConfig:
|
|
164
|
+
return self._load_configuration(
|
|
165
|
+
config_name=config_name,
|
|
166
|
+
overrides=overrides,
|
|
167
|
+
run_mode=run_mode,
|
|
168
|
+
from_shell=from_shell,
|
|
169
|
+
validate_sweep_overrides=validate_sweep_overrides,
|
|
170
|
+
activate_config_repository=True,
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
def _load_configuration(
|
|
174
|
+
self,
|
|
175
|
+
config_name: Optional[str],
|
|
176
|
+
overrides: List[str],
|
|
177
|
+
run_mode: RunMode,
|
|
178
|
+
from_shell: bool,
|
|
179
|
+
validate_sweep_overrides: bool,
|
|
180
|
+
activate_config_repository: bool,
|
|
145
181
|
) -> DictConfig:
|
|
146
182
|
try:
|
|
147
183
|
return self._load_configuration_impl(
|
|
@@ -150,6 +186,7 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
150
186
|
run_mode=run_mode,
|
|
151
187
|
from_shell=from_shell,
|
|
152
188
|
validate_sweep_overrides=validate_sweep_overrides,
|
|
189
|
+
activate_config_repository=activate_config_repository,
|
|
153
190
|
)
|
|
154
191
|
except OmegaConfBaseException as e:
|
|
155
192
|
raise ConfigCompositionException().with_traceback(sys.exc_info()[2]) from e
|
|
@@ -242,6 +279,7 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
242
279
|
run_mode: RunMode,
|
|
243
280
|
from_shell: bool = True,
|
|
244
281
|
validate_sweep_overrides: bool = True,
|
|
282
|
+
activate_config_repository: bool = False,
|
|
245
283
|
) -> DictConfig:
|
|
246
284
|
from hydra import __version__, version
|
|
247
285
|
|
|
@@ -304,6 +342,9 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
304
342
|
|
|
305
343
|
cfg.hydra.job.config_name = config_name
|
|
306
344
|
|
|
345
|
+
if activate_config_repository:
|
|
346
|
+
self._active_repository = caching_repo
|
|
347
|
+
|
|
307
348
|
return cfg
|
|
308
349
|
|
|
309
350
|
def load_sweep_config(
|
|
@@ -441,11 +482,13 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
441
482
|
OmegaConf.update(cfg, key, value, merge=True, force_add=True)
|
|
442
483
|
else:
|
|
443
484
|
assert override.input_line is not None
|
|
444
|
-
raise ConfigCompositionException(
|
|
485
|
+
raise ConfigCompositionException(
|
|
486
|
+
dedent(f"""\
|
|
445
487
|
Could not append to config. An item is already at '{override.key_or_group}'.
|
|
446
488
|
Either remove + prefix: '{override.input_line[1:]}'
|
|
447
489
|
Or add a second + to add or override '{override.key_or_group}': '+{override.input_line}'
|
|
448
|
-
""")
|
|
490
|
+
""")
|
|
491
|
+
)
|
|
449
492
|
elif override.is_force_add():
|
|
450
493
|
OmegaConf.update(cfg, key, value, merge=True, force_add=True)
|
|
451
494
|
elif override.is_list_extend():
|
|
@@ -499,12 +542,14 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
499
542
|
try:
|
|
500
543
|
url = "https://hydra.cc/docs/1.2/upgrades/1.0_to_1.1/automatic_schema_matching"
|
|
501
544
|
if "defaults" in schema.config:
|
|
502
|
-
raise ConfigCompositionException(
|
|
545
|
+
raise ConfigCompositionException(
|
|
546
|
+
dedent(f"""\
|
|
503
547
|
'{config_path}' is validated against ConfigStore schema with the same name.
|
|
504
548
|
This behavior is deprecated in Hydra 1.1 and will be removed in Hydra 1.2.
|
|
505
549
|
In addition, the automatically matched schema contains a defaults list.
|
|
506
550
|
This combination is no longer supported.
|
|
507
|
-
See {url} for migration instructions.""")
|
|
551
|
+
See {url} for migration instructions.""")
|
|
552
|
+
)
|
|
508
553
|
else:
|
|
509
554
|
deprecation_warning(
|
|
510
555
|
dedent(f"""\
|
|
@@ -588,6 +633,12 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
588
633
|
config_name: Optional[str] = None,
|
|
589
634
|
overrides: Optional[List[str]] = None,
|
|
590
635
|
) -> List[str]:
|
|
636
|
+
if (
|
|
637
|
+
config_name is None
|
|
638
|
+
and overrides is None
|
|
639
|
+
and self._active_repository is not None
|
|
640
|
+
):
|
|
641
|
+
return self._active_repository.get_group_options(group_name, results_filter)
|
|
591
642
|
if overrides is None:
|
|
592
643
|
overrides = []
|
|
593
644
|
_, caching_repo = self._parse_overrides_and_create_caching_repo(
|
|
@@ -630,6 +681,8 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
630
681
|
return cfg
|
|
631
682
|
|
|
632
683
|
def get_sources(self) -> List[ConfigSource]:
|
|
684
|
+
if self._active_repository is not None:
|
|
685
|
+
return self._active_repository.get_sources()
|
|
633
686
|
return self.repository.get_sources()
|
|
634
687
|
|
|
635
688
|
def compute_defaults_list(
|
|
@@ -51,6 +51,8 @@ class IConfigRepository(ABC):
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
class ConfigRepository(IConfigRepository):
|
|
54
|
+
_KNOWN_DEFAULTS_LIST_KEYWORDS = ("optional", "override")
|
|
55
|
+
|
|
54
56
|
config_search_path: ConfigSearchPath
|
|
55
57
|
sources: List[ConfigSource]
|
|
56
58
|
|
|
@@ -199,7 +201,9 @@ class ConfigRepository(IConfigRepository):
|
|
|
199
201
|
assert isinstance(key, str)
|
|
200
202
|
config_group, package, _package2 = self._split_group(key)
|
|
201
203
|
keywords = ConfigRepository.Keywords()
|
|
202
|
-
self._extract_keywords_from_config_group(
|
|
204
|
+
self._extract_keywords_from_config_group(
|
|
205
|
+
config_path, config_group, keywords
|
|
206
|
+
)
|
|
203
207
|
|
|
204
208
|
if not version.base_at_least("1.2"):
|
|
205
209
|
if not keywords.optional and old_optional is not None:
|
|
@@ -301,18 +305,22 @@ class ConfigRepository(IConfigRepository):
|
|
|
301
305
|
|
|
302
306
|
@staticmethod
|
|
303
307
|
def _extract_keywords_from_config_group(
|
|
304
|
-
group: str, keywords: "ConfigRepository.Keywords"
|
|
308
|
+
config_path: str, group: str, keywords: "ConfigRepository.Keywords"
|
|
305
309
|
) -> None:
|
|
306
|
-
elements = group.split(
|
|
310
|
+
elements = group.split()
|
|
311
|
+
if not elements:
|
|
312
|
+
raise ValueError(f"In {config_path}: Missing group name in defaults list")
|
|
307
313
|
group = elements[-1]
|
|
308
314
|
elements = elements[0:-1]
|
|
309
|
-
for
|
|
310
|
-
if
|
|
315
|
+
for keyword in elements:
|
|
316
|
+
if keyword not in ConfigRepository._KNOWN_DEFAULTS_LIST_KEYWORDS:
|
|
317
|
+
raise ValueError(
|
|
318
|
+
f"In {config_path}: Unsupported keyword '{keyword}' in defaults list"
|
|
319
|
+
)
|
|
320
|
+
if keyword == "optional":
|
|
311
321
|
keywords.optional = True
|
|
312
|
-
elif
|
|
322
|
+
elif keyword == "override":
|
|
313
323
|
keywords.override = True
|
|
314
|
-
else:
|
|
315
|
-
break
|
|
316
324
|
keywords.group = group
|
|
317
325
|
|
|
318
326
|
|
{hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/core_plugins/bash_completion.py
RENAMED
|
@@ -22,11 +22,16 @@ class BashCompletion(CompletionPlugin):
|
|
|
22
22
|
if (( ${#words[@]} < 2 )); then
|
|
23
23
|
return
|
|
24
24
|
fi
|
|
25
|
+
if [[ "${words[1]}" == -* ]]; then
|
|
26
|
+
return
|
|
27
|
+
fi
|
|
25
28
|
file_path=$(pwd)/${words[1]}
|
|
26
29
|
if [ ! -f "$file_path" ]; then
|
|
27
30
|
return
|
|
28
31
|
fi
|
|
29
|
-
grep "@hydra.main" $file_path
|
|
32
|
+
if ! grep -Fq -- "@hydra.main" "$file_path"; then
|
|
33
|
+
return
|
|
34
|
+
fi
|
|
30
35
|
helper="${words[0]} ${words[1]}"
|
|
31
36
|
else
|
|
32
37
|
helper="${words[0]}"
|
|
@@ -9,7 +9,6 @@ from hydra.plugins.config_source import ConfigResult, ConfigSource
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class StructuredConfigSource(ConfigSource):
|
|
12
|
-
|
|
13
12
|
def __init__(self, provider: str, path: str) -> None:
|
|
14
13
|
super().__init__(provider=provider, path=path)
|
|
15
14
|
# Import the module, the __init__ there is expected to register the configs.
|
|
@@ -337,7 +337,7 @@ def _check_not_missing(
|
|
|
337
337
|
return False
|
|
338
338
|
|
|
339
339
|
|
|
340
|
-
def
|
|
340
|
+
def _create_legacy_interpolation_map(
|
|
341
341
|
overrides: Overrides,
|
|
342
342
|
defaults_list: List[InputDefault],
|
|
343
343
|
self_added: bool,
|
|
@@ -402,9 +402,11 @@ def _update_overrides(
|
|
|
402
402
|
pcp = parent.get_config_path()
|
|
403
403
|
okey = last_override_seen.get_override_key()
|
|
404
404
|
oval = last_override_seen.get_name()
|
|
405
|
-
raise ConfigCompositionException(
|
|
405
|
+
raise ConfigCompositionException(
|
|
406
|
+
dedent(f"""\
|
|
406
407
|
In {pcp}: Override '{okey} : {oval}' is defined before '{d.get_override_key()}: {d.get_name()}'.
|
|
407
|
-
Overrides must be at the end of the defaults list""")
|
|
408
|
+
Overrides must be at the end of the defaults list""")
|
|
409
|
+
)
|
|
408
410
|
|
|
409
411
|
if isinstance(d, GroupDefault):
|
|
410
412
|
if legacy_hydra_override:
|
|
@@ -424,10 +426,12 @@ def _update_overrides(
|
|
|
424
426
|
if interpolated_subtree:
|
|
425
427
|
# Since interpolations are deferred for until all the config groups are already set,
|
|
426
428
|
# Their subtree may not contain config group overrides
|
|
427
|
-
raise ConfigCompositionException(
|
|
429
|
+
raise ConfigCompositionException(
|
|
430
|
+
dedent(f"""\
|
|
428
431
|
{parent.get_config_path()}: Default List Overrides are not allowed in the subtree
|
|
429
432
|
of an in interpolated config group (override {d.get_override_key()}={d.get_name()}).
|
|
430
|
-
""")
|
|
433
|
+
""")
|
|
434
|
+
)
|
|
431
435
|
overrides.add_override(parent.get_config_path(), d)
|
|
432
436
|
|
|
433
437
|
|
|
@@ -581,7 +585,13 @@ def _create_defaults_tree_impl(
|
|
|
581
585
|
add_child(children, new_root)
|
|
582
586
|
|
|
583
587
|
# processed deferred interpolations
|
|
584
|
-
known_choices =
|
|
588
|
+
known_choices = OmegaConf.create(overrides.known_choices)
|
|
589
|
+
# TODO: Remove Hydra 1.1 compatibility in
|
|
590
|
+
# https://github.com/facebookresearch/hydra/issues/3221.
|
|
591
|
+
if not version.base_at_least("1.2"):
|
|
592
|
+
known_choices = _create_legacy_interpolation_map(
|
|
593
|
+
overrides, defaults_list, self_added
|
|
594
|
+
)
|
|
585
595
|
|
|
586
596
|
for idx, dd in enumerate(children):
|
|
587
597
|
if isinstance(dd, InputDefault) and dd.is_interpolation():
|
{hydra_core-1.4.0.dev5 → hydra_core-1.4.0.dev6}/hydra/_internal/grammar/grammar_functions.py
RENAMED
|
@@ -204,7 +204,7 @@ def cast_bool(*args: CastType, value: Optional[CastType] = None) -> Any:
|
|
|
204
204
|
|
|
205
205
|
|
|
206
206
|
def choice(
|
|
207
|
-
*args: Union[str, int, float, bool, Dict[Any, Any], List[Any], ChoiceSweep]
|
|
207
|
+
*args: Union[str, int, float, bool, Dict[Any, Any], List[Any], ChoiceSweep],
|
|
208
208
|
) -> ChoiceSweep:
|
|
209
209
|
"""
|
|
210
210
|
A choice sweep over the specified values
|
|
@@ -25,6 +25,7 @@ from hydra.core.plugins import Plugins
|
|
|
25
25
|
from hydra.core.utils import (
|
|
26
26
|
JobReturn,
|
|
27
27
|
JobRuntime,
|
|
28
|
+
JobStatus,
|
|
28
29
|
configure_log,
|
|
29
30
|
run_job,
|
|
30
31
|
setup_globals,
|
|
@@ -149,6 +150,7 @@ class Hydra:
|
|
|
149
150
|
overrides=overrides,
|
|
150
151
|
with_log_configuration=with_log_configuration,
|
|
151
152
|
run_mode=RunMode.RUN,
|
|
153
|
+
activate_config_repository=True,
|
|
152
154
|
)
|
|
153
155
|
if cfg.hydra.mode is None:
|
|
154
156
|
cfg.hydra.mode = RunMode.RUN
|
|
@@ -158,16 +160,30 @@ class Hydra:
|
|
|
158
160
|
callbacks = Callbacks(cfg)
|
|
159
161
|
callbacks.on_run_start(config=cfg, config_name=config_name)
|
|
160
162
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
163
|
+
try:
|
|
164
|
+
ret = run_job(
|
|
165
|
+
hydra_context=HydraContext(
|
|
166
|
+
config_loader=self.config_loader, callbacks=callbacks
|
|
167
|
+
),
|
|
168
|
+
task_function=task_function,
|
|
169
|
+
config=cfg,
|
|
170
|
+
job_dir_key="hydra.run.dir",
|
|
171
|
+
job_subdir_key=None,
|
|
172
|
+
configure_logging=with_log_configuration,
|
|
173
|
+
)
|
|
174
|
+
except KeyboardInterrupt as e:
|
|
175
|
+
# run_job attaches its populated JobReturn to the interrupt before
|
|
176
|
+
# re-raising; fall back to a minimal one if the interrupt happened
|
|
177
|
+
# before the job ran (e.g. during on_job_start)
|
|
178
|
+
job_return = getattr(e, "job_return", None)
|
|
179
|
+
if not isinstance(job_return, JobReturn):
|
|
180
|
+
job_return = JobReturn()
|
|
181
|
+
job_return.status = JobStatus.FAILED
|
|
182
|
+
job_return.return_value = e
|
|
183
|
+
callbacks.on_run_end(
|
|
184
|
+
config=cfg, config_name=config_name, job_return=job_return
|
|
185
|
+
)
|
|
186
|
+
raise
|
|
171
187
|
callbacks.on_run_end(config=cfg, config_name=config_name, job_return=ret)
|
|
172
188
|
|
|
173
189
|
# access the result to trigger an exception in case the job failed.
|
|
@@ -187,6 +203,7 @@ class Hydra:
|
|
|
187
203
|
overrides=overrides,
|
|
188
204
|
with_log_configuration=with_log_configuration,
|
|
189
205
|
run_mode=RunMode.MULTIRUN,
|
|
206
|
+
activate_config_repository=True,
|
|
190
207
|
)
|
|
191
208
|
|
|
192
209
|
callbacks = Callbacks(cfg)
|
|
@@ -629,6 +646,7 @@ class Hydra:
|
|
|
629
646
|
from_shell: bool = True,
|
|
630
647
|
validate_sweep_overrides: bool = True,
|
|
631
648
|
run_callback: bool = True,
|
|
649
|
+
activate_config_repository: bool = False,
|
|
632
650
|
) -> DictConfig:
|
|
633
651
|
"""
|
|
634
652
|
:param config_name:
|
|
@@ -639,16 +657,28 @@ class Hydra:
|
|
|
639
657
|
:param validate_sweep_overrides: True if sweep overrides should be validated
|
|
640
658
|
:param run_callback: True if the on_compose_config callback should be called, generally should always
|
|
641
659
|
be True except for internal use cases
|
|
660
|
+
:param activate_config_repository: True to retain the effective repository on the invocation loader
|
|
642
661
|
:return:
|
|
643
662
|
"""
|
|
644
663
|
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
664
|
+
if activate_config_repository and isinstance(
|
|
665
|
+
self.config_loader, ConfigLoaderImpl
|
|
666
|
+
):
|
|
667
|
+
cfg = self.config_loader._load_configuration_with_active_repository(
|
|
668
|
+
config_name=config_name,
|
|
669
|
+
overrides=overrides,
|
|
670
|
+
run_mode=run_mode,
|
|
671
|
+
from_shell=from_shell,
|
|
672
|
+
validate_sweep_overrides=validate_sweep_overrides,
|
|
673
|
+
)
|
|
674
|
+
else:
|
|
675
|
+
cfg = self.config_loader.load_configuration(
|
|
676
|
+
config_name=config_name,
|
|
677
|
+
overrides=overrides,
|
|
678
|
+
run_mode=run_mode,
|
|
679
|
+
from_shell=from_shell,
|
|
680
|
+
validate_sweep_overrides=validate_sweep_overrides,
|
|
681
|
+
)
|
|
652
682
|
if with_log_configuration:
|
|
653
683
|
configure_log(cfg.hydra.hydra_logging, cfg.hydra.verbose)
|
|
654
684
|
global log
|