hydra-core 1.4.0.dev6__tar.gz → 1.4.0.dev8__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.dev6/hydra_core.egg-info → hydra_core-1.4.0.dev8}/PKG-INFO +1 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/__init__.py +1 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/callbacks.py +2 -46
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/config_loader_impl.py +2 -67
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/config_repository.py +0 -40
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/defaults_list.py +197 -108
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/deprecation_warning.py +5 -2
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/grammar/grammar_functions.py +8 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/hydra.py +0 -14
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/instantiate/_instantiate2.py +265 -199
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/utils.py +29 -35
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/compose.py +1 -19
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/__init__.py +1 -2
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/config_store.py +3 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/default_element.py +14 -51
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/override_parser/overrides_parser.py +0 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/override_parser/overrides_visitor.py +7 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/override_parser/types.py +0 -13
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/utils.py +16 -29
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/errors.py +8 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/experimental/callback.py +1 -13
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/experimental/callbacks.py +2 -47
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/initialize.py +4 -24
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/main.py +3 -22
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/config_source.py +5 -8
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/sweeper.py +6 -12
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/completion.py +1 -3
- hydra_core-1.4.0.dev8/hydra/test_utils/configs/package_tests/__init__.py +1 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/example_app.py +1 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/launcher_common_tests.py +2 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/test_utils.py +4 -7
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/types.py +0 -25
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/utils.py +17 -13
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/version.py +25 -34
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8/hydra_core.egg-info}/PKG-INFO +1 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra_core.egg-info/SOURCES.txt +0 -2
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_basic_sweeper.py +33 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_callbacks.py +0 -19
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_compose.py +109 -169
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_config_loader.py +29 -32
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_config_repository.py +47 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_hydra.py +65 -45
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_hydra_context_warnings.py +1 -11
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_internal_utils.py +50 -1
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_overrides_parser.py +41 -35
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_utils.py +79 -3
- hydra_core-1.4.0.dev6/hydra/experimental/__init__.py +0 -10
- hydra_core-1.4.0.dev6/hydra/experimental/compose.py +0 -31
- hydra_core-1.4.0.dev6/hydra/experimental/initialize.py +0 -134
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/LICENSE +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/MANIFEST.in +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/README.md +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/build_helpers/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/build_helpers/bin/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/build_helpers/bin/antlr-4.11.1-complete.jar +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/build_helpers/build_helpers.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/build_helpers/test_helpers.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/config_search_path_impl.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/bash_completion.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/basic_sweeper.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/file_config_source.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/fish_completion.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/importlib_resources_config_source.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/structured_config_source.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/core_plugins/zsh_completion.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/grammar/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/grammar/functions.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/grammar/utils.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/instantiate/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/_internal/sources_registry.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/env/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/help/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/hydra_help/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/hydra_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/hydra_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/hydra_logging/hydra_debug.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/hydra_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/job_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/job_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/job_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/job_logging/stdout.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/conf/hydra/output/default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/config_loader.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/config_search_path.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/global_hydra.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/hydra_config.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/object_type.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/override_parser/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/plugins.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/core/singleton.py +0 -0
- {hydra_core-1.4.0.dev6/hydra/grammar → hydra_core-1.4.0.dev8/hydra/experimental}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/extra/pytest_plugin.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/.gitignore +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/OverrideLexer.g4 +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/OverrideParser.g4 +0 -0
- {hydra_core-1.4.0.dev6/hydra/plugins → hydra_core-1.4.0.dev8/hydra/grammar}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/.gitignore +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideLexer.interp +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideLexer.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideLexer.tokens +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideParser.interp +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideParser.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideParser.tokens +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideParserListener.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/grammar/gen/OverrideParserVisitor.py +0 -0
- {hydra_core-1.4.0.dev6/hydra/test_utils → hydra_core-1.4.0.dev8/hydra/plugins}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/completion_plugin.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/launcher.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/plugin.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/plugins/search_path_plugin.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/py.typed +0 -0
- {hydra_core-1.4.0.dev6/hydra/test_utils/configs → hydra_core-1.4.0.dev8/hydra/test_utils}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/a_module.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/config_source_common_tests.py +0 -0
- {hydra_core-1.4.0.dev6/hydra/test_utils/configs/completion_test_additional_package → hydra_core-1.4.0.dev8/hydra/test_utils/configs}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/accessing_hydra_config.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/additional_searchpath.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/config.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/group/dict.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/group/list.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/missing_default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test/test_hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test_additional_file/additional_group/file_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test_additional_file/group/file_opt.yaml +0 -0
- {hydra_core-1.4.0.dev6/hydra/test_utils/configs/package_tests → hydra_core-1.4.0.dev8/hydra/test_utils/configs/completion_test_additional_package}/__init__.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test_additional_package/additional_group/pkg_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/completion_test_additional_package/group/pkg_opt.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/compose.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/conf.zip +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/config.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/config.yml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/custom_resolver.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/db/mysql.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/db/postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/db/validated_mysql.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/db/validated_postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/db_conf.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/defaults_not_list.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/group1/abc.cde.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/group1/file1.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/group1/file2.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/group2/file1.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/group2/file2.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/missing-default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/missing-optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/missing_init_py/.gitignore +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/missing_init_py/test.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/overriding_output_dir.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/overriding_run_dir.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/group1/option1.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/group1/option2.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/group2/option1.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/group2/option2.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/pkg_override.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/package_tests/two_packages_one_group.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/schema_key_error.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/schema_validation_error.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/some_config.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/top_level_list/file1.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra/test_utils/configs/unspecified_mandatory_default.yaml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra_core.egg-info/dependency_links.txt +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra_core.egg-info/entry_points.txt +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra_core.egg-info/requires.txt +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/hydra_core.egg-info/top_level.txt +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/pyproject.toml +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/requirements/requirements.txt +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/setup.cfg +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/setup.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_completion.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_config_search_path.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_core_utils.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_env_defaults.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_errors.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_hydra_cli_errors.py +0 -0
- {hydra_core-1.4.0.dev6 → hydra_core-1.4.0.dev8}/tests/test_plugin_interface.py +0 -0
|
@@ -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.dev8"
|
|
5
5
|
from hydra import utils
|
|
6
6
|
from hydra.errors import MissingConfigException
|
|
7
7
|
from hydra.main import main
|
|
@@ -1,54 +1,23 @@
|
|
|
1
1
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
|
|
2
2
|
import warnings
|
|
3
|
-
from typing import TYPE_CHECKING, Any,
|
|
3
|
+
from typing import TYPE_CHECKING, Any, Optional
|
|
4
4
|
|
|
5
5
|
from omegaconf import DictConfig, OmegaConf
|
|
6
6
|
|
|
7
|
-
from hydra.core.singleton import Singleton
|
|
8
7
|
from hydra.types import TaskFunction
|
|
9
8
|
|
|
10
9
|
if TYPE_CHECKING:
|
|
11
10
|
from hydra.core.utils import JobReturn
|
|
12
11
|
|
|
13
12
|
|
|
14
|
-
class CallbacksCache(metaclass=Singleton):
|
|
15
|
-
"""
|
|
16
|
-
A singleton class to cache callbacks so they are not reinstantiated during
|
|
17
|
-
compose config and start run.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
@staticmethod
|
|
21
|
-
def instance() -> "CallbacksCache":
|
|
22
|
-
return Singleton.instance(CallbacksCache) # type: ignore
|
|
23
|
-
|
|
24
|
-
cache: Dict[int, "Callbacks"]
|
|
25
|
-
|
|
26
|
-
def __init__(self) -> None:
|
|
27
|
-
self.cache = {}
|
|
28
|
-
|
|
29
|
-
|
|
30
13
|
class Callbacks:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def __init__(
|
|
34
|
-
self, config: Optional[DictConfig] = None, check_cache: bool = True
|
|
35
|
-
) -> None:
|
|
36
|
-
if config is None:
|
|
37
|
-
return
|
|
38
|
-
cache = CallbacksCache.instance().cache
|
|
39
|
-
if check_cache:
|
|
40
|
-
cached_callback = cache.get(id(config))
|
|
41
|
-
if cached_callback is not None:
|
|
42
|
-
self.callbacks = cached_callback.callbacks
|
|
43
|
-
return
|
|
44
|
-
|
|
14
|
+
def __init__(self, config: Optional[DictConfig] = None) -> None:
|
|
45
15
|
self.callbacks = []
|
|
46
16
|
from hydra.utils import instantiate
|
|
47
17
|
|
|
48
18
|
if config is not None and OmegaConf.select(config, "hydra.callbacks"):
|
|
49
19
|
for params in config.hydra.callbacks.values():
|
|
50
20
|
self.callbacks.append(instantiate(params))
|
|
51
|
-
cache[id(config)] = self
|
|
52
21
|
|
|
53
22
|
def _notify(self, function_name: str, reverse: bool = False, **kwargs: Any) -> None:
|
|
54
23
|
callbacks = reversed(self.callbacks) if reverse else self.callbacks
|
|
@@ -94,16 +63,3 @@ class Callbacks:
|
|
|
94
63
|
reverse=True,
|
|
95
64
|
**kwargs,
|
|
96
65
|
)
|
|
97
|
-
|
|
98
|
-
def on_compose_config(
|
|
99
|
-
self,
|
|
100
|
-
config: DictConfig,
|
|
101
|
-
config_name: Optional[str],
|
|
102
|
-
overrides: List[str],
|
|
103
|
-
) -> None:
|
|
104
|
-
self._notify(
|
|
105
|
-
function_name="on_compose_config",
|
|
106
|
-
config=config,
|
|
107
|
-
config_name=config_name,
|
|
108
|
-
overrides=overrides,
|
|
109
|
-
)
|
|
@@ -36,11 +36,9 @@ from hydra.core.override_parser.overrides_parser import OverridesParser
|
|
|
36
36
|
from hydra.core.override_parser.types import Override, ValueType
|
|
37
37
|
from hydra.core.utils import JobRuntime
|
|
38
38
|
from hydra.errors import ConfigCompositionException, MissingConfigException
|
|
39
|
-
from hydra.plugins.config_source import
|
|
39
|
+
from hydra.plugins.config_source import ConfigResult, ConfigSource
|
|
40
40
|
from hydra.types import RunMode
|
|
41
41
|
|
|
42
|
-
from .deprecation_warning import deprecation_warning
|
|
43
|
-
|
|
44
42
|
|
|
45
43
|
class ConfigLoaderImpl(ConfigLoader):
|
|
46
44
|
"""
|
|
@@ -315,7 +313,7 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
315
313
|
# The Hydra node should not be read-only even if the root config is read-only.
|
|
316
314
|
OmegaConf.set_readonly(cfg.hydra, False)
|
|
317
315
|
|
|
318
|
-
# Apply command line overrides after enabling
|
|
316
|
+
# Apply command line overrides after enabling struct mode
|
|
319
317
|
ConfigLoaderImpl._apply_overrides_to_config(config_overrides, cfg)
|
|
320
318
|
for override in parsed_overrides:
|
|
321
319
|
if override.is_hydra_override():
|
|
@@ -528,69 +526,6 @@ class ConfigLoaderImpl(ConfigLoader):
|
|
|
528
526
|
f" {type(ret.config).__name__}"
|
|
529
527
|
)
|
|
530
528
|
|
|
531
|
-
if not ret.is_schema_source:
|
|
532
|
-
schema = None
|
|
533
|
-
try:
|
|
534
|
-
schema_source = repo.get_schema_source()
|
|
535
|
-
cname = ConfigSource._normalize_file_name(filename=config_path)
|
|
536
|
-
schema = schema_source.load_config(cname)
|
|
537
|
-
except ConfigLoadError:
|
|
538
|
-
# schema not found, ignore
|
|
539
|
-
pass
|
|
540
|
-
|
|
541
|
-
if schema is not None:
|
|
542
|
-
try:
|
|
543
|
-
url = "https://hydra.cc/docs/1.2/upgrades/1.0_to_1.1/automatic_schema_matching"
|
|
544
|
-
if "defaults" in schema.config:
|
|
545
|
-
raise ConfigCompositionException(
|
|
546
|
-
dedent(f"""\
|
|
547
|
-
'{config_path}' is validated against ConfigStore schema with the same name.
|
|
548
|
-
This behavior is deprecated in Hydra 1.1 and will be removed in Hydra 1.2.
|
|
549
|
-
In addition, the automatically matched schema contains a defaults list.
|
|
550
|
-
This combination is no longer supported.
|
|
551
|
-
See {url} for migration instructions.""")
|
|
552
|
-
)
|
|
553
|
-
else:
|
|
554
|
-
deprecation_warning(
|
|
555
|
-
dedent(f"""\
|
|
556
|
-
|
|
557
|
-
'{config_path}' is validated against ConfigStore schema with the same name.
|
|
558
|
-
This behavior is deprecated in Hydra 1.1 and will be removed in Hydra 1.2.
|
|
559
|
-
See {url} for migration instructions."""),
|
|
560
|
-
stacklevel=11,
|
|
561
|
-
)
|
|
562
|
-
|
|
563
|
-
# if primary config has a hydra node, remove it during validation and add it back.
|
|
564
|
-
# This allows overriding Hydra's configuration without declaring it's node
|
|
565
|
-
# in the schema of every primary config
|
|
566
|
-
hydra = None
|
|
567
|
-
hydra_config_group = (
|
|
568
|
-
default.config_path is not None
|
|
569
|
-
and default.config_path.startswith("hydra/")
|
|
570
|
-
)
|
|
571
|
-
config = ret.config
|
|
572
|
-
if (
|
|
573
|
-
default.primary
|
|
574
|
-
and isinstance(config, DictConfig)
|
|
575
|
-
and "hydra" in config
|
|
576
|
-
and not hydra_config_group
|
|
577
|
-
):
|
|
578
|
-
hydra = config.pop("hydra")
|
|
579
|
-
|
|
580
|
-
merged = OmegaConf.merge(schema.config, config)
|
|
581
|
-
assert isinstance(merged, DictConfig)
|
|
582
|
-
|
|
583
|
-
if hydra is not None:
|
|
584
|
-
with open_dict(merged):
|
|
585
|
-
merged.hydra = hydra
|
|
586
|
-
ret.config = merged
|
|
587
|
-
except OmegaConfBaseException as e:
|
|
588
|
-
raise ConfigCompositionException(
|
|
589
|
-
f"Error merging '{config_path}' with schema"
|
|
590
|
-
) from e
|
|
591
|
-
|
|
592
|
-
assert isinstance(merged, DictConfig)
|
|
593
|
-
|
|
594
529
|
res = self._embed_result_config(ret, default.package)
|
|
595
530
|
if (
|
|
596
531
|
not default.primary
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import copy
|
|
3
3
|
from abc import ABC, abstractmethod
|
|
4
4
|
from dataclasses import dataclass
|
|
5
|
-
from textwrap import dedent
|
|
6
5
|
from typing import Dict, List, Optional, Tuple
|
|
7
6
|
|
|
8
7
|
from omegaconf import (
|
|
@@ -15,13 +14,11 @@ from omegaconf import (
|
|
|
15
14
|
read_write,
|
|
16
15
|
)
|
|
17
16
|
|
|
18
|
-
from hydra import version
|
|
19
17
|
from hydra.core.config_search_path import ConfigSearchPath
|
|
20
18
|
from hydra.core.object_type import ObjectType
|
|
21
19
|
from hydra.plugins.config_source import ConfigResult, ConfigSource
|
|
22
20
|
|
|
23
21
|
from ..core.default_element import ConfigDefault, GroupDefault, InputDefault
|
|
24
|
-
from .deprecation_warning import deprecation_warning
|
|
25
22
|
from .sources_registry import SourcesRegistry
|
|
26
23
|
|
|
27
24
|
|
|
@@ -170,24 +167,10 @@ class ConfigRepository(IConfigRepository):
|
|
|
170
167
|
config_path: str,
|
|
171
168
|
defaults: ListConfig,
|
|
172
169
|
) -> List[InputDefault]:
|
|
173
|
-
def issue_deprecated_name_warning() -> None:
|
|
174
|
-
# DEPRECATED: remove in 1.2
|
|
175
|
-
url = "https://hydra.cc/docs/1.2/upgrades/1.0_to_1.1/changes_to_package_header"
|
|
176
|
-
deprecation_warning(
|
|
177
|
-
message=dedent(f"""\
|
|
178
|
-
In {config_path}: Defaults List contains deprecated keyword _name_, see {url}
|
|
179
|
-
"""),
|
|
180
|
-
)
|
|
181
|
-
|
|
182
170
|
res: List[InputDefault] = []
|
|
183
171
|
for item in defaults._iter_ex(resolve=False):
|
|
184
172
|
default: InputDefault
|
|
185
173
|
if isinstance(item, DictConfig):
|
|
186
|
-
old_optional = None
|
|
187
|
-
if not version.base_at_least("1.2"):
|
|
188
|
-
if len(item) > 1:
|
|
189
|
-
if "optional" in item:
|
|
190
|
-
old_optional = item.pop("optional")
|
|
191
174
|
keys = list(item.keys())
|
|
192
175
|
|
|
193
176
|
if len(keys) > 1:
|
|
@@ -205,25 +188,10 @@ class ConfigRepository(IConfigRepository):
|
|
|
205
188
|
config_path, config_group, keywords
|
|
206
189
|
)
|
|
207
190
|
|
|
208
|
-
if not version.base_at_least("1.2"):
|
|
209
|
-
if not keywords.optional and old_optional is not None:
|
|
210
|
-
keywords.optional = old_optional
|
|
211
|
-
|
|
212
191
|
node = item._get_node(key)
|
|
213
192
|
assert node is not None and isinstance(node, Node)
|
|
214
193
|
config_value = node._value()
|
|
215
194
|
|
|
216
|
-
if not version.base_at_least("1.2"):
|
|
217
|
-
if old_optional is not None:
|
|
218
|
-
msg = dedent(
|
|
219
|
-
f"""
|
|
220
|
-
In {config_path}: 'optional: true' is deprecated.
|
|
221
|
-
Use 'optional {key}: {config_value}' instead.
|
|
222
|
-
Support for the old style is removed for Hydra version_base >= 1.2"""
|
|
223
|
-
)
|
|
224
|
-
|
|
225
|
-
deprecation_warning(msg)
|
|
226
|
-
|
|
227
195
|
if config_value is not None and not isinstance(
|
|
228
196
|
config_value, (str, list)
|
|
229
197
|
):
|
|
@@ -244,10 +212,6 @@ class ConfigRepository(IConfigRepository):
|
|
|
244
212
|
options.append(vv)
|
|
245
213
|
config_value = options
|
|
246
214
|
|
|
247
|
-
if not version.base_at_least("1.2"):
|
|
248
|
-
if package is not None and "_name_" in package:
|
|
249
|
-
issue_deprecated_name_warning()
|
|
250
|
-
|
|
251
215
|
default = GroupDefault(
|
|
252
216
|
group=keywords.group,
|
|
253
217
|
value=config_value,
|
|
@@ -258,10 +222,6 @@ class ConfigRepository(IConfigRepository):
|
|
|
258
222
|
|
|
259
223
|
elif isinstance(item, str):
|
|
260
224
|
path, package, _package2 = self._split_group(item)
|
|
261
|
-
if not version.base_at_least("1.2"):
|
|
262
|
-
if package is not None and "_name_" in package:
|
|
263
|
-
issue_deprecated_name_warning()
|
|
264
|
-
|
|
265
225
|
default = ConfigDefault(path=path, package=package)
|
|
266
226
|
else:
|
|
267
227
|
raise ValueError(
|