hydra-core 1.4.0.dev3__tar.gz → 1.4.0.dev4__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.dev3/hydra_core.egg-info → hydra_core-1.4.0.dev4}/PKG-INFO +1 -2
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/__init__.py +1 -1
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/grammar/grammar_functions.py +47 -16
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/types.py +17 -17
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4/hydra_core.egg-info}/PKG-INFO +1 -2
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/setup.py +0 -1
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_overrides_parser.py +49 -2
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/LICENSE +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/MANIFEST.in +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/README.md +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/build_helpers/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/build_helpers/bin/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/build_helpers/bin/antlr-4.11.1-complete.jar +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/build_helpers/build_helpers.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/build_helpers/test_helpers.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/callbacks.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/config_loader_impl.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/config_repository.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/config_search_path_impl.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/bash_completion.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/basic_sweeper.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/file_config_source.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/fish_completion.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/importlib_resources_config_source.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/structured_config_source.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/zsh_completion.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/defaults_list.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/deprecation_warning.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/grammar/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/grammar/functions.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/grammar/utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/hydra.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/instantiate/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/instantiate/_instantiate2.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/sources_registry.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/compose.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/env/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/help/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_help/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/hydra_debug.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/job_logging/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/job_logging/disabled.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/job_logging/none.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/job_logging/stdout.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/output/default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/config_loader.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/config_search_path.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/config_store.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/default_element.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/global_hydra.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/hydra_config.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/object_type.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/overrides_parser.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/overrides_visitor.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/plugins.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/singleton.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/errors.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/experimental/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/experimental/callback.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/experimental/callbacks.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/experimental/compose.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/experimental/initialize.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/extra/pytest_plugin.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/.gitignore +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/OverrideLexer.g4 +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/OverrideParser.g4 +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/.gitignore +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideLexer.interp +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideLexer.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideLexer.tokens +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideParser.interp +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideParser.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideParser.tokens +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideParserListener.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/grammar/gen/OverrideParserVisitor.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/initialize.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/main.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/completion_plugin.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/config_source.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/launcher.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/plugin.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/search_path_plugin.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/plugins/sweeper.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/py.typed +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/a_module.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/completion.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/config_source_common_tests.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/accessing_hydra_config.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/additional_searchpath.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/config.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/group/dict.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/group/list.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/missing_default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/test_hydra/launcher/fairtask.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test_additional_file/additional_group/file_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test_additional_file/group/file_opt.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test_additional_package/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test_additional_package/additional_group/pkg_opt_additional.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test_additional_package/group/pkg_opt.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/compose.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/conf.zip +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/config.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/config.yml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/custom_resolver.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db/mysql.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db/postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db/validated_mysql.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db/validated_postgresql.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db_conf.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/defaults_not_list.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group1/abc.cde.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group1/file1.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group1/file2.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group2/file1.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group2/file2.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing-default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing-optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing_init_py/.gitignore +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing_init_py/test.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/optional-default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/overriding_output_dir.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/overriding_run_dir.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/__init__.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/group1/option1.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/group1/option2.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/group2/option1.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/group2/option2.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/pkg_override.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/two_packages_one_group.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/schema_key_error.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/schema_validation_error.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/some_config.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/top_level_list/file1.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/unspecified_mandatory_default.yaml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/example_app.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/launcher_common_tests.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/test_utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/types.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/version.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra_core.egg-info/SOURCES.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra_core.egg-info/dependency_links.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra_core.egg-info/entry_points.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra_core.egg-info/requires.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra_core.egg-info/top_level.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/pyproject.toml +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/requirements/requirements.txt +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/setup.cfg +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_basic_launcher.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_basic_sweeper.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_callbacks.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_completion.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_compose.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_config_loader.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_config_repository.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_config_search_path.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_core_utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_env_defaults.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_errors.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_hydra.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_hydra_cli_errors.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_hydra_context_warnings.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_internal_utils.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_plugin_interface.py +0 -0
- {hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/tests/test_utils.py +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hydra-core
|
|
3
|
-
Version: 1.4.0.
|
|
3
|
+
Version: 1.4.0.dev4
|
|
4
4
|
Summary: A framework for elegantly configuring complex applications
|
|
5
5
|
Home-page: https://github.com/facebookresearch/hydra
|
|
6
6
|
Author: Omry Yadan
|
|
7
7
|
Author-email: omry@fb.com
|
|
8
8
|
License: MIT
|
|
9
9
|
Keywords: command-line configuration yaml tab-completion
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
10
|
Classifier: Development Status :: 4 - Beta
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -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.dev4"
|
|
5
5
|
from hydra import utils
|
|
6
6
|
from hydra.errors import MissingConfigException
|
|
7
7
|
from hydra.main import main
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/grammar/grammar_functions.py
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
|
|
2
2
|
import builtins
|
|
3
|
+
import decimal
|
|
3
4
|
import json
|
|
4
5
|
import random
|
|
5
6
|
from copy import copy
|
|
@@ -361,27 +362,57 @@ def _sort_sweep(
|
|
|
361
362
|
elif isinstance(sweep, RangeSweep):
|
|
362
363
|
assert sweep.start is not None
|
|
363
364
|
assert sweep.stop is not None
|
|
364
|
-
if
|
|
365
|
-
|
|
366
|
-
if sweep.start > sweep.stop:
|
|
367
|
-
start = sweep.stop + abs(sweep.step)
|
|
368
|
-
stop = sweep.start + abs(sweep.step)
|
|
369
|
-
sweep.start = start
|
|
370
|
-
sweep.stop = stop
|
|
371
|
-
sweep.step = -sweep.step
|
|
372
|
-
else:
|
|
373
|
-
# descending
|
|
374
|
-
if sweep.start < sweep.stop:
|
|
375
|
-
start = sweep.stop - abs(sweep.step)
|
|
376
|
-
stop = sweep.start - abs(sweep.step)
|
|
377
|
-
sweep.start = start
|
|
378
|
-
sweep.stop = stop
|
|
379
|
-
sweep.step = -sweep.step
|
|
365
|
+
if (sweep.step > 0) == reverse:
|
|
366
|
+
_reverse_range_sweep(sweep)
|
|
380
367
|
return sweep
|
|
381
368
|
else:
|
|
382
369
|
assert False
|
|
383
370
|
|
|
384
371
|
|
|
372
|
+
def _reverse_range_sweep(sweep: RangeSweep) -> None:
|
|
373
|
+
r = sweep.range()
|
|
374
|
+
if isinstance(r, builtins.range):
|
|
375
|
+
count = len(r)
|
|
376
|
+
if count > 1:
|
|
377
|
+
first = r[0]
|
|
378
|
+
last = r[-1]
|
|
379
|
+
sweep.start = last
|
|
380
|
+
sweep.step = -sweep.step
|
|
381
|
+
sweep.stop = first + sweep.step
|
|
382
|
+
else:
|
|
383
|
+
start = decimal.Decimal(str(sweep.start))
|
|
384
|
+
stop = decimal.Decimal(str(sweep.stop))
|
|
385
|
+
step = decimal.Decimal(str(sweep.step))
|
|
386
|
+
count = _float_range_count(start=start, stop=stop, step=step)
|
|
387
|
+
if count > 1:
|
|
388
|
+
first = start
|
|
389
|
+
last = start + (count - 1) * step
|
|
390
|
+
sweep.start = last
|
|
391
|
+
sweep.step = -step
|
|
392
|
+
sweep.stop = first + sweep.step / 2
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
def _float_range_count(
|
|
396
|
+
start: decimal.Decimal, stop: decimal.Decimal, step: decimal.Decimal
|
|
397
|
+
) -> int:
|
|
398
|
+
if step == 0:
|
|
399
|
+
return 0
|
|
400
|
+
if step > 0:
|
|
401
|
+
if start >= stop:
|
|
402
|
+
return 0
|
|
403
|
+
distance = stop - start
|
|
404
|
+
else:
|
|
405
|
+
if start <= stop:
|
|
406
|
+
return 0
|
|
407
|
+
distance = start - stop
|
|
408
|
+
step = abs(step)
|
|
409
|
+
quotient, remainder = divmod(distance, step)
|
|
410
|
+
count = int(quotient)
|
|
411
|
+
if remainder != 0:
|
|
412
|
+
count += 1
|
|
413
|
+
return count
|
|
414
|
+
|
|
415
|
+
|
|
385
416
|
def glob(
|
|
386
417
|
include: Union[List[str], str], exclude: Optional[Union[List[str], str]] = None
|
|
387
418
|
) -> Glob:
|
|
@@ -89,14 +89,15 @@ class ChoiceSweep(Sweep):
|
|
|
89
89
|
|
|
90
90
|
@dataclass
|
|
91
91
|
class FloatRange:
|
|
92
|
-
start: Union[decimal.Decimal, float]
|
|
93
|
-
stop: Union[decimal.Decimal, float]
|
|
94
|
-
step: Union[decimal.Decimal, float]
|
|
92
|
+
start: Union[decimal.Decimal, float, int]
|
|
93
|
+
stop: Union[decimal.Decimal, float, int]
|
|
94
|
+
step: Union[decimal.Decimal, float, int]
|
|
95
|
+
_idx: int = field(default=0, init=False, repr=False, compare=False)
|
|
95
96
|
|
|
96
97
|
def __post_init__(self) -> None:
|
|
97
|
-
self.start = decimal.Decimal(self.start)
|
|
98
|
-
self.stop = decimal.Decimal(self.stop)
|
|
99
|
-
self.step = decimal.Decimal(self.step)
|
|
98
|
+
self.start = decimal.Decimal(str(self.start))
|
|
99
|
+
self.stop = decimal.Decimal(str(self.stop))
|
|
100
|
+
self.step = decimal.Decimal(str(self.step))
|
|
100
101
|
|
|
101
102
|
def __iter__(self) -> Any:
|
|
102
103
|
return self
|
|
@@ -105,18 +106,17 @@ class FloatRange:
|
|
|
105
106
|
assert isinstance(self.start, decimal.Decimal)
|
|
106
107
|
assert isinstance(self.stop, decimal.Decimal)
|
|
107
108
|
assert isinstance(self.step, decimal.Decimal)
|
|
109
|
+
current = self.start + self.step * self._idx
|
|
108
110
|
if self.step > 0:
|
|
109
|
-
if
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return ret
|
|
111
|
+
if current < self.stop:
|
|
112
|
+
self._idx += 1
|
|
113
|
+
return float(current)
|
|
113
114
|
else:
|
|
114
115
|
raise StopIteration
|
|
115
116
|
elif self.step < 0:
|
|
116
|
-
if
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return ret
|
|
117
|
+
if current > self.stop:
|
|
118
|
+
self._idx += 1
|
|
119
|
+
return float(current)
|
|
120
120
|
else:
|
|
121
121
|
raise StopIteration
|
|
122
122
|
else:
|
|
@@ -131,9 +131,9 @@ class RangeSweep(Sweep):
|
|
|
131
131
|
Discrete range of numbers
|
|
132
132
|
"""
|
|
133
133
|
|
|
134
|
-
start: Optional[Union[int, float]] = None
|
|
135
|
-
stop: Optional[Union[int, float]] = None
|
|
136
|
-
step: Union[int, float] = 1
|
|
134
|
+
start: Optional[Union[int, float, decimal.Decimal]] = None
|
|
135
|
+
stop: Optional[Union[int, float, decimal.Decimal]] = None
|
|
136
|
+
step: Union[int, float, decimal.Decimal] = 1
|
|
137
137
|
|
|
138
138
|
shuffle: bool = False
|
|
139
139
|
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hydra-core
|
|
3
|
-
Version: 1.4.0.
|
|
3
|
+
Version: 1.4.0.dev4
|
|
4
4
|
Summary: A framework for elegantly configuring complex applications
|
|
5
5
|
Home-page: https://github.com/facebookresearch/hydra
|
|
6
6
|
Author: Omry Yadan
|
|
7
7
|
Author-email: omry@fb.com
|
|
8
8
|
License: MIT
|
|
9
9
|
Keywords: command-line configuration yaml tab-completion
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
10
|
Classifier: Development Status :: 4 - Beta
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -44,7 +44,6 @@ with open("README.md") as fh:
|
|
|
44
44
|
packages=find_namespace_packages(include=["hydra", "hydra.*"]),
|
|
45
45
|
include_package_data=True,
|
|
46
46
|
classifiers=[
|
|
47
|
-
"License :: OSI Approved :: MIT License",
|
|
48
47
|
"Development Status :: 4 - Beta",
|
|
49
48
|
"Programming Language :: Python :: 3.10",
|
|
50
49
|
"Programming Language :: Python :: 3.11",
|
|
@@ -12,6 +12,7 @@ except ImportError:
|
|
|
12
12
|
from pytest import mark, param, raises, warns
|
|
13
13
|
|
|
14
14
|
from hydra import version
|
|
15
|
+
from hydra._internal.grammar import grammar_functions
|
|
15
16
|
from hydra._internal.grammar.functions import Functions
|
|
16
17
|
from hydra._internal.grammar.utils import escape_special_characters
|
|
17
18
|
from hydra.core.override_parser.overrides_parser import (
|
|
@@ -1403,14 +1404,30 @@ def test_tag_sweep(value: str, expected: str) -> None:
|
|
|
1403
1404
|
),
|
|
1404
1405
|
param(
|
|
1405
1406
|
"sort(range(1.5,-0.5,-0.5))",
|
|
1406
|
-
RangeSweep(start=0.0, stop=
|
|
1407
|
+
RangeSweep(start=0.0, stop=1.75, step=0.5),
|
|
1407
1408
|
id="sort(range(1.5,-0.5,-0.5))",
|
|
1408
1409
|
),
|
|
1409
1410
|
param(
|
|
1410
1411
|
"sort(range(0,2,0.5),reverse=true)",
|
|
1411
|
-
RangeSweep(start=1.5, stop=-0.
|
|
1412
|
+
RangeSweep(start=1.5, stop=-0.25, step=-0.5),
|
|
1412
1413
|
id="range:sort:reverse)",
|
|
1413
1414
|
),
|
|
1415
|
+
# ranges that do not land exactly on ``stop`` (last element != stop - step)
|
|
1416
|
+
param(
|
|
1417
|
+
"sort(range(0,5,2),reverse=True)",
|
|
1418
|
+
RangeSweep(start=4, stop=-2, step=-2),
|
|
1419
|
+
id="sort:range:non_landing:reverse",
|
|
1420
|
+
),
|
|
1421
|
+
param(
|
|
1422
|
+
"sort(range(4,-1,-2))",
|
|
1423
|
+
RangeSweep(start=0, stop=6, step=2),
|
|
1424
|
+
id="sort:range:non_landing:ascending",
|
|
1425
|
+
),
|
|
1426
|
+
param(
|
|
1427
|
+
"sort(range(7,0,-3))",
|
|
1428
|
+
RangeSweep(start=1, stop=10, step=3),
|
|
1429
|
+
id="sort:range:non_landing:ascending2",
|
|
1430
|
+
),
|
|
1414
1431
|
param(
|
|
1415
1432
|
"shuffle(range(1, 10))",
|
|
1416
1433
|
RangeSweep(start=1, stop=10, step=1, shuffle=True),
|
|
@@ -1423,6 +1440,36 @@ def test_sort(value: str, expected: str) -> None:
|
|
|
1423
1440
|
assert ret == expected
|
|
1424
1441
|
|
|
1425
1442
|
|
|
1443
|
+
@mark.parametrize(
|
|
1444
|
+
"start, stop, step",
|
|
1445
|
+
[
|
|
1446
|
+
param(0, 5, 2, id="int:non_landing"),
|
|
1447
|
+
param(4, -1, -2, id="int:non_landing:neg_step"),
|
|
1448
|
+
param(7, 0, -3, id="int:non_landing:neg_step2"),
|
|
1449
|
+
param(1, 10, 1, id="int:landing"),
|
|
1450
|
+
param(0, 1, 1, id="int:single_element"),
|
|
1451
|
+
param(0, 0, 1, id="int:empty"),
|
|
1452
|
+
param(1, 0, 1, id="int:empty_positive_step"),
|
|
1453
|
+
param(0, 2, 0.5, id="float:landing"),
|
|
1454
|
+
param(0, 1.3, 0.5, id="float:non_landing"),
|
|
1455
|
+
param(1.3, 0, -0.5, id="float:non_landing:neg_step"),
|
|
1456
|
+
param(0, 1, 0.1, id="float:decimal_step"),
|
|
1457
|
+
param(0, 1, 0.2, id="float:decimal_step2"),
|
|
1458
|
+
param(0, 0.3, 0.1, id="float:short_decimal_step"),
|
|
1459
|
+
param(1, 0, -0.1, id="float:negative_decimal_step"),
|
|
1460
|
+
],
|
|
1461
|
+
)
|
|
1462
|
+
def test_sort_range_materializes_to_sorted_values(
|
|
1463
|
+
start: float, stop: float, step: float
|
|
1464
|
+
) -> None:
|
|
1465
|
+
original = list(grammar_functions.range(start, stop, step).range())
|
|
1466
|
+
for reverse in (False, True):
|
|
1467
|
+
sweep = grammar_functions.sort(
|
|
1468
|
+
grammar_functions.range(start, stop, step), reverse=reverse
|
|
1469
|
+
)
|
|
1470
|
+
assert list(sweep.range()) == sorted(original, reverse=reverse)
|
|
1471
|
+
|
|
1472
|
+
|
|
1426
1473
|
@mark.parametrize(
|
|
1427
1474
|
"value, expected",
|
|
1428
1475
|
[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/bash_completion.py
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/basic_launcher.py
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/basic_sweeper.py
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/file_config_source.py
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/fish_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/core_plugins/zsh_completion.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/_internal/instantiate/_instantiate2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/disabled.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/conf/hydra/hydra_logging/hydra_debug.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/overrides_parser.py
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/core/override_parser/overrides_visitor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/config_source_common_tests.py
RENAMED
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/accessing_hydra_config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/completion_test/config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/custom_resolver.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/db/validated_mysql.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/defaults_not_list.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/group1/abc.cde.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing-default.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing_init_py/.gitignore
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/missing_init_py/test.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/optional-default.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/overriding_output_dir.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/overriding_run_dir.yaml
RENAMED
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/package_tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/schema_key_error.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hydra_core-1.4.0.dev3 → hydra_core-1.4.0.dev4}/hydra/test_utils/configs/top_level_list/file1.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|