lerna 2.1.0__tar.gz → 2.2.0__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.
- {lerna-2.1.0 → lerna-2.2.0}/.gitignore +2 -0
- {lerna-2.1.0 → lerna-2.2.0}/Cargo.lock +13 -13
- {lerna-2.1.0 → lerna-2.2.0}/Cargo.toml +2 -2
- {lerna-2.1.0 → lerna-2.2.0}/PKG-INFO +92 -33
- {lerna-2.1.0 → lerna-2.2.0}/README.md +89 -30
- {lerna-2.1.0 → lerna-2.2.0}/lerna/__init__.py +17 -2
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/config_loader_impl.py +156 -7
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/config_repository.py +6 -38
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/basic_launcher.py +10 -2
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/defaults_list.py +151 -43
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/deprecation_warning.py +2 -2
- lerna-2.2.0/lerna/_internal/execution_policy.py +1774 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/grammar/grammar_functions.py +45 -16
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/hydra.py +51 -21
- lerna-2.2.0/lerna/_internal/instantiate/_instantiate2.py +1106 -0
- lerna-2.2.0/lerna/_internal/logging_config.py +366 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/utils.py +1 -1
- lerna-2.2.0/lerna/compose.py +85 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/default_element.py +2 -30
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/override_parser/overrides_parser.py +7 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/override_parser/types.py +36 -31
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/plugins.py +59 -12
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/utils.py +221 -19
- {lerna-2.1.0 → lerna-2.2.0}/lerna/errors.py +4 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/experimental/callbacks.py +9 -11
- {lerna-2.1.0 → lerna-2.2.0}/lerna/initialize.py +2 -21
- lerna-2.2.0/lerna/lerna.abi3.so +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/main.py +32 -46
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/config_source.py +2 -10
- lerna-2.2.0/lerna/provenance.py +351 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/completion.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/example_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/launcher_common_tests.py +44 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/test_utils.py +4 -3
- lerna-2.2.0/lerna/tests/defaults_list/data/conflicting_keywords.yaml +5 -0
- lerna-2.2.0/lerna/tests/defaults_list/data/conflicting_keywords_reversed.yaml +5 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/test_defaults_list.py +25 -133
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/test_defaults_tree.py +7 -198
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/__init__.py +0 -7
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/test_instantiate.py +21 -88
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/jupyter/a_module.py +3 -3
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/initialization_test_app/initialization_test_app/main.py +5 -6
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/namespace_test/test_namespace.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_can_fail/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_change_dir/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_exception/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback/my_app.py +4 -2
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/custom_callback/my_app.py +4 -2
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/on_job_start_accepts_task_function/my_app.py +4 -2
- {lerna-2.1.0/lerna/tests/test_apps/app_with_custom_launcher → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg}/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_decorated/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/my_app_with_runtime_choices_print.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_1 → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_groups_no_header}/my_app.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/app_with_split_cfg → lerna-2.2.0/lerna/tests/test_apps/app_with_config_with_free_group}/my_app.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/app_with_no_chdir_override → lerna-2.2.0/lerna/tests/test_apps/app_with_custom_launcher}/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_pickle_job_info_callback/my_app.py +4 -2
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_runtime_config_error/my_app.py +1 -1
- lerna-2.2.0/lerna/tests/test_apps/app_with_split_cfg/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_unicode_in_config/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_without_config/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/custom_env_defaults/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_in_schema_missing/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_pkg_with_dot/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/deprecation_warning/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/glob_searchpath/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_main_rerun/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_resolver_in_output_dir/my_app.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/simple_interpolation → lerna-2.2.0/lerna/tests/test_apps/hydra_to_cfg_interpolation}/my_app.py +1 -1
- lerna-2.2.0/lerna/tests/test_apps/hydra_verbose/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/init_in_app_without_module/main.py +4 -4
- lerna-2.2.0/lerna/tests/test_apps/interpolating_dir_hydra_to_app/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/multirun_structured_conflict/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/passes_callable_class_to_hydra_main/my_app.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_3/module → lerna-2.2.0/lerna/tests/test_apps/run_as_module_1}/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_2/my_app.py +1 -1
- lerna-2.2.0/lerna/tests/test_apps/run_as_module_3/module/my_app.py +13 -0
- lerna-2.2.0/lerna/tests/test_apps/run_as_module_4/module/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_dir_test/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/schema_overrides_hydra/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/setting_env/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/simple_app/my_app.py +1 -1
- {lerna-2.1.0/lerna/tests/test_apps/hydra_to_cfg_interpolation → lerna-2.2.0/lerna/tests/test_apps/simple_interpolation}/my_app.py +1 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/structured_with_none_list/my_app.py +1 -1
- lerna-2.2.0/lerna/tests/test_apps/sweep_complex_defaults/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sys_exit/my_app.py +1 -1
- lerna-2.2.0/lerna/tests/test_apps/user-config-dir/my_app.py +13 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_callbacks.py +28 -27
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_compose.py +136 -176
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_config_loader.py +0 -18
- lerna-2.2.0/lerna/tests/test_core_utils.py +236 -0
- lerna-2.2.0/lerna/tests/test_execution_policy.py +54 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_hydra.py +114 -44
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_hydra_bugfixes.py +236 -12
- lerna-2.2.0/lerna/tests/test_list_operations.py +446 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_logging_config.py +2 -1
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_overrides_parser.py +37 -22
- lerna-2.2.0/lerna/tests/test_plugin_interface.py +142 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/types.py +1 -25
- {lerna-2.1.0 → lerna-2.2.0}/lerna/utils.py +4 -0
- lerna-2.2.0/lerna/version.py +82 -0
- {lerna-2.1.0 → lerna-2.2.0}/pyproject.toml +7 -6
- {lerna-2.1.0 → lerna-2.2.0}/rust/Cargo.lock +16 -16
- {lerna-2.1.0 → lerna-2.2.0}/rust/Cargo.toml +1 -1
- lerna-2.2.0/rust/coverage +12861 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/parser/mod.rs +5 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/core/override_types.rs +14 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/parser/mod.rs +127 -9
- lerna-2.1.0/lerna/_internal/instantiate/_instantiate2.py +0 -579
- lerna-2.1.0/lerna/_internal/logging_config.py +0 -221
- lerna-2.1.0/lerna/_internal/target_policy.py +0 -593
- lerna-2.1.0/lerna/compose.py +0 -62
- lerna-2.1.0/lerna/experimental/__init__.py +0 -10
- lerna-2.1.0/lerna/experimental/compose.py +0 -30
- lerna-2.1.0/lerna/experimental/initialize.py +0 -125
- lerna-2.1.0/lerna/lerna.abi3.so +0 -0
- lerna-2.1.0/lerna/tests/test_apps/app_with_cfg/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_groups_no_header/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/app_with_config_with_free_group/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/app_with_log_jobreturn_callback/config.yaml +0 -6
- lerna-2.1.0/lerna/tests/test_apps/app_with_log_jobreturn_callback/my_app.py +0 -14
- lerna-2.1.0/lerna/tests/test_apps/hydra_verbose/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/interpolating_dir_hydra_to_app/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/run_as_module_4/module/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/sweep_complex_defaults/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/user-config-dir/my_app.py +0 -13
- lerna-2.1.0/lerna/tests/test_apps/user-config-dir/user-dir/dataset/__init__.py +0 -0
- lerna-2.1.0/lerna/tests/test_core_utils.py +0 -53
- lerna-2.1.0/lerna/tests/test_list_operations.py +0 -249
- lerna-2.1.0/lerna/tests/test_plugin_interface.py +0 -51
- lerna-2.1.0/lerna/version.py +0 -82
- lerna-2.1.0/rust/coverage +0 -12737
- {lerna-2.1.0 → lerna-2.2.0}/LICENSE +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/NOTICE +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/hydra_plugins/lerna/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/hydra_plugins/lerna/searchpath.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/callbacks.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/config_search_path_impl.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/bash_completion.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/basic_sweeper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/file_config_source.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/fish_completion.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/importlib_resources_config_source.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/pkg_helper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/structured_config_source.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/structured_helper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/core_plugins/zsh_completion.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/grammar/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/grammar/functions.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/grammar/utils.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/instantiate/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/_internal/sources_registry.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/env/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/help/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/hydra_help/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/hydra_logging/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/hydra_logging/disabled.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/hydra_logging/hydra_debug.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/hydra_logging/none.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/job_logging/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/job_logging/disabled.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/job_logging/none.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/job_logging/stdout.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/conf/hydra/output/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/config_loader.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/config_search_path.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/config_store.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/global_hydra.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/hydra_config.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/object_type.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/override_parser/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/core/singleton.py +0 -0
- {lerna-2.1.0/lerna/plugins → lerna-2.2.0/lerna/experimental}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/experimental/callback.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/extra/pytest_plugin.py +0 -0
- {lerna-2.1.0/lerna/test_utils → lerna-2.2.0/lerna/plugins}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/completion_plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/launcher.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/search_path_plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/plugins/sweeper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/py.typed +0 -0
- {lerna-2.1.0/lerna/test_utils/configs → lerna-2.2.0/lerna/test_utils}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/a_module.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/config_source_common_tests.py +0 -0
- {lerna-2.1.0/lerna/test_utils/configs/completion_test_additional_package → lerna-2.2.0/lerna/test_utils/configs}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/accessing_hydra_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/additional_searchpath.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/group/dict.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/group/list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/hydra/launcher/fairtask.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/missing_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test/test_hydra/launcher/fairtask.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test_additional_file/additional_group/file_opt_additional.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test_additional_file/group/file_opt.yaml +0 -0
- {lerna-2.1.0/lerna/test_utils/configs/package_tests → lerna-2.2.0/lerna/test_utils/configs/completion_test_additional_package}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test_additional_package/additional_group/pkg_opt_additional.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/completion_test_additional_package/group/pkg_opt.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/compose.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/conf.zip +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/config.yml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/custom_resolver.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/db/mysql.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/db/postgresql.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/db/validated_mysql.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/db/validated_postgresql.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/db_conf.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/defaults_not_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/group1/abc.cde.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/group1/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/group1/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/group2/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/group2/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/missing-default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/missing-optional-default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/missing_init_py/.gitignore +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/missing_init_py/test.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/optional-default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/overriding_output_dir.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/overriding_run_dir.yaml +0 -0
- {lerna-2.1.0/lerna/tests → lerna-2.2.0/lerna/test_utils/configs/package_tests}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/group1/option1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/group1/option2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/group2/option1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/group2/option2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/pkg_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/package_tests/two_packages_one_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/schema_key_error.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/schema_validation_error.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/some_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/top_level_list/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/test_utils/configs/unspecified_mandatory_default.yaml +0 -0
- {lerna-2.1.0/lerna/tests/fake_package/fake_package → lerna-2.2.0/lerna/tests}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/benchmark.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/benchmark_rust_vs_python.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/conftest.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/data.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/config_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/config_default_pkg1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/config_with_same_name_as_group/item.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/config_with_same_name_as_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/db/base_db.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/defaults_with_override_only.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/deprecated_headers/group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/deprecated_headers/group_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/deprecated_headers/group_name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/deprecated_headers/name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/duplicate_self.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/empty.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/empty_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/error_changing_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/error_duplicate_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/error_duplicate_group_nested.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/error_invalid_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/error_self_pkg1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/error_override_without_abs_and_header.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/error_override_without_global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/include_absolute_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/override_config_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/override_hydra.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/override_with_global_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/experiment/override_with_global_default2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/base_db.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/external.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/here.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/nested/base_db.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/nested.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/extend/nested_here_keyword.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/config_item.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/config_item_global_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/config_item_name_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/config_item_pkg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/file3.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/file_with_global_header.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/file_with_group_header.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/file1_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/file3.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/file_with_group_header.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group2/interpolation_ext.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_global_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_global_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_name_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_pkg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item1_with_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item2_pkg_header_bar.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/group_item2_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/interpolation.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/override_invalid.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/override_invalid2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/override_same_level.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/placeholder.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/resolver.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/select_multi.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/select_multi_pkg.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/with_missing.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1/with_missing_at_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/empty1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/empty2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file1_file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file1_file1_defaults_with_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file1_file1_with_defaults_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file1_file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file1_file2_with_defaults_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/file2_file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/foo_file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group1_group2/foo_file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group2/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group2/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group_default_at_global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group_default_global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group_default_pkg1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/group_default_with_explicit_experiment.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/help/custom1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/help/custom2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/help/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/output/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/output/disabled.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/hydra/run/custom1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_group_with_same_name_as_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_config_item.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_config_item_global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_config_item_name_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_config_item_pkg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_global_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_global_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_name_.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_pkg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_nested_group_pkg_header_foo_override_pkg_bar.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/include_override_same_level.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_bad_key.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_config_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_forward.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_in_nested.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_legacy_with_self.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_legacy_without_self.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_nested.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_resolver_in_nested.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_simple.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_with_nested_defaults_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_with_nested_defaults_list_with_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/interpolation_with_package_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/invalid_override_in_defaults.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/keyword_as_groups.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/keyword_optional_optional.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/keyword_override_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/legacy_override_hydra.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/legacy_override_hydra2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/legacy_override_hydra_wrong_order.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/missing_optional_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/nested_placeholder.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/optional/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/optional/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/optional.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/optional_deprecated.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override/file1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override/file2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_hydra1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_hydra2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_hydra3.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_hydra4.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_hydra_wrong_order.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_nested_group_item.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_nested_to_null.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_same_level.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/override_wrong_order.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/placeholder.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/primary_pkg_header_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/select_multi.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/select_multi_interpolation.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/select_multi_optional.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/select_multi_override.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/select_multi_pkg.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/self_leading.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/self_trailing.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/test_extend_from_config_with_same_name_as_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/test_extend_from_external_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/test_extend_from_group_with_same_name_as_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/test_extend_from_nested_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/test_extend_same_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/two_config_items.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/two_group_defaults_different_pkgs.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/two_group_defaults_different_pkgs_global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/unknown_keyword.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/whitespace_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/with_missing.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/with_missing_at_foo.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/defaults_list/data/with_missing_at_global.yaml +0 -0
- {lerna-2.1.0/lerna/tests/fake_package2/fake_package2 → lerna-2.2.0/lerna/tests/fake_package/fake_package}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/fake_package/fake_package/hydra/.gitkeep +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/fake_package/fake_package/plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/fake_package/pyproject.toml +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/discovery_test_plugin/hydra_plugins/discovery_test → lerna-2.2.0/lerna/tests/fake_package2/fake_package2}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/fake_package2/fake_package2/hydra/.gitkeep +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/fake_package2/pyproject.toml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/import_error.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/module_shadowed_by_function.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/positional_only.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/test_helpers.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/test_positional.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/instantiate/test_positional_only_arguments.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/jupyter/%run_test.ipynb +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/jupyter/test_initialize_in_module.ipynb +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/scripts/test_bash_completion_non_hydra.bash +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/scripts/test_bash_dot_in_path.bash +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/scripts/test_bash_install_uninstall.sh +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/scripts/test_fish_install_uninstall.fish +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/discovery_test_plugin/tests → lerna-2.2.0/lerna/tests/standalone_apps/discovery_test_plugin/hydra_plugins/discovery_test}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/discovery_test_plugin/hydra_plugins/discovery_test/__not_hidden_plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/discovery_test_plugin/hydra_plugins/discovery_test/_hidden_plugin.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/discovery_test_plugin/hydra_plugins/discovery_test/discovery_test.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/discovery_test_plugin/setup.py +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/initialization_test_app → lerna-2.2.0/lerna/tests/standalone_apps/discovery_test_plugin/tests}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/discovery_test_plugin/tests/test_discovery.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/initialization_test_app/MANIFEST.in +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/initialization_test_app → lerna-2.2.0/lerna/tests/standalone_apps}/initialization_test_app/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/initialization_test_app/initialization_test_app/conf → lerna-2.2.0/lerna/tests/standalone_apps/initialization_test_app/initialization_test_app}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/initialization_test_app/tests → lerna-2.2.0/lerna/tests/standalone_apps/initialization_test_app/initialization_test_app/conf}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/initialization_test_app/initialization_test_app/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/initialization_test_app/setup.py +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/namespace_pkg_config_source_test/namespace_test → lerna-2.2.0/lerna/tests/standalone_apps/initialization_test_app/tests}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/initialization_test_app/tests/test_app.py +0 -0
- {lerna-2.1.0/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir → lerna-2.2.0/lerna/tests/standalone_apps/namespace_pkg_config_source_test/namespace_test}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/setup.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_can_fail → lerna-2.2.0/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/config_with_defaults_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/config_with_unicode.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/config_without_group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/configs_with_defaults_list/global_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/configs_with_defaults_list/group_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/configs_with_defaults_list/no_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/dataset/cifar10.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/dataset.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/level1/level2/nested1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/level1/level2/nested2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/optimizer/adam.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/optimizer/nesterov.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/explicit.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/group_name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/package_test/none.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/primary_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/standalone_apps/namespace_pkg_config_source_test/some_namespace/namespace_test/dir/primary_config_with_non_global_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_exception → lerna-2.2.0/lerna/tests/test_apps/app_can_fail}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_change_dir/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_print_hydra_mode → lerna-2.2.0/lerna/tests/test_apps/app_exception}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback → lerna-2.2.0/lerna/tests/test_apps/app_print_hydra_mode}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/conf/hydra/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/conf/hydra/sweeper/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_print_hydra_mode/conf/hydra/sweeper/test.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_callbacks/custom_callback → lerna-2.2.0/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback/group/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/app_with_log_compose_callback/group/a.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_callbacks/keyboard_interrupt → lerna-2.2.0/lerna/tests/test_apps/app_with_callbacks/custom_callback}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/custom_callback/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/custom_callback/config_with_two_callbacks.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_callbacks/on_job_start_accepts_task_function → lerna-2.2.0/lerna/tests/test_apps/app_with_callbacks/keyboard_interrupt}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/keyboard_interrupt/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/keyboard_interrupt/my_app.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg → lerna-2.2.0/lerna/tests/test_apps/app_with_callbacks/on_job_start_accepts_task_function}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_callbacks/on_job_start_accepts_task_function/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_decorated → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_decorated/decorators → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_decorated}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_decorated/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_groups → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_decorated/decorators}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_decorated/decorators/inner_decorator.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_decorated/decorators/outer_decorator.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_groups/conf → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_groups}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_cfg_groups_no_header → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_groups}/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/config_with_runtime_option.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/dataset/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/missing_default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/optimizer/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/optimizer/adam.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups/conf/optimizer/nesterov.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups_no_header/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_config_with_free_group → lerna-2.2.0/lerna/tests/test_apps/app_with_cfg_groups_no_header/conf}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups_no_header/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups_no_header/conf/optimizer/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_cfg_groups_no_header/conf/optimizer/nesterov.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_config_with_free_group/conf → lerna-2.2.0/lerna/tests/test_apps/app_with_config_with_free_group}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_custom_launcher → lerna-2.2.0/lerna/tests/test_apps/app_with_config_with_free_group/conf}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/free_group/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/free_group/opt1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/free_group/opt2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/group/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/group/opt1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_config_with_free_group/conf/group/opt2.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_log_jobreturn_callback → lerna-2.2.0/lerna/tests/test_apps/app_with_custom_launcher}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_custom_launcher/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir1/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir1/cfg1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir1/cfg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir2/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir2/cfg1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_multiple_config_dirs/dir2/cfg2.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_pickle_job_info_callback/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_pickle_job_info_callback/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_no_chdir_override → lerna-2.2.0/lerna/tests/test_apps/app_with_runtime_config_error}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_runtime_config_error/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_split_cfg/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_split_cfg/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_split_cfg/imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_split_cfg/nesterov.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_unicode_in_config/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_with_unicode_in_config/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/app_without_config/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/config_with_defaults_list.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/config_with_unicode.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/config_without_group.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/app_with_runtime_config_error → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/configs_with_defaults_list}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/configs_with_defaults_list/global_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/configs_with_defaults_list/group_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/configs_with_defaults_list/no_package.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/configs_with_defaults_list → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/dataset/cifar10.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/dataset.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/dataset → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/level1}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/level1 → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/level1/level2}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/level1/level2/nested1.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/level1/level2/nested2.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/level1/level2 → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/optimizer}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/optimizer/adam.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/optimizer/nesterov.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/optimizer → lerna-2.2.0/lerna/tests/test_apps/config_source_test/dir/package_test}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/explicit.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/global.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/group.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/group_name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/name.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/package_test/none.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/primary_config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/dir/primary_config_with_non_global_package.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/config_source_test/structured.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/config_source_test/dir/package_test → lerna-2.2.0/lerna/tests/test_apps/custom_env_defaults}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/custom_env_defaults → lerna-2.2.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins → lerna-2.2.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/hydra}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/hydra → lerna-2.2.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/hydra/env}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/hydra/env/default.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/env_defaults.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/custom_env_defaults/hydra_plugins/env_defaults/conf/hydra/env → lerna-2.2.0/lerna/tests/test_apps/defaults_in_schema_missing}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/defaults_in_schema_missing → lerna-2.2.0/lerna/tests/test_apps/defaults_in_schema_missing/conf}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_in_schema_missing/conf/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/defaults_in_schema_missing/conf → lerna-2.2.0/lerna/tests/test_apps/defaults_in_schema_missing/conf/db}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_in_schema_missing/conf/db/mysql.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_pkg_with_dot/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_pkg_with_dot/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/defaults_in_schema_missing/conf/db → lerna-2.2.0/lerna/tests/test_apps/defaults_pkg_with_dot/dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/defaults_pkg_with_dot/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/defaults_pkg_with_dot/dataset → lerna-2.2.0/lerna/tests/test_apps/deprecation_warning}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/glob_searchpath/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/glob_searchpath/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/glob_searchpath/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_main_rerun/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/deprecation_warning → lerna-2.2.0/lerna/tests/test_apps/hydra_main_without_config_path}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_main_without_config_path/my_app.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/hydra_main_without_config_path → lerna-2.2.0/lerna/tests/test_apps/hydra_resolver_in_output_dir}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/hydra_resolver_in_output_dir → lerna-2.2.0/lerna/tests/test_apps/hydra_to_cfg_interpolation}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_to_cfg_interpolation/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_verbose/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/hydra_verbose/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/hydra_to_cfg_interpolation → lerna-2.2.0/lerna/tests/test_apps/init_in_app_without_module}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/init_in_app_without_module/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/interpolating_dir_hydra_to_app/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/interpolating_dir_hydra_to_app/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/init_in_app_without_module → lerna-2.2.0/lerna/tests/test_apps/multirun_structured_conflict}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/multirun_structured_conflict/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/passes_callable_class_to_hydra_main/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/multirun_structured_conflict → lerna-2.2.0/lerna/tests/test_apps/run_as_module_1}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_1/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_1 → lerna-2.2.0/lerna/tests/test_apps/run_as_module_2}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_2/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_2/conf/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_2 → lerna-2.2.0/lerna/tests/test_apps/run_as_module_3}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_3/module/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_3/module/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_3/module/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_3 → lerna-2.2.0/lerna/tests/test_apps/run_as_module_4}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_4/module/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_4/module/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_as_module_4/module/conf/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/run_dir_test/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/schema_overrides_hydra/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/schema_overrides_hydra/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/run_as_module_4 → lerna-2.2.0/lerna/tests/test_apps/schema_overrides_hydra/group}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/schema_overrides_hydra/group/a.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/setting_env/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/setting_env/config.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/simple_app/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/simple_app/interp_to_hydra.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/schema_overrides_hydra/group → lerna-2.2.0/lerna/tests/test_apps/simple_interpolation}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/simple_interpolation/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/simple_interpolation → lerna-2.2.0/lerna/tests/test_apps/structured_with_none_list}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/structured_with_none_list → lerna-2.2.0/lerna/tests/test_apps/sweep_complex_defaults/conf/dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/sweep_complex_defaults/conf/dataset → lerna-2.2.0/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer/adam.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer/nesterov.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer → lerna-2.2.0/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer_dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer_dataset/adam_imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer_dataset/nesterov_imagenet.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/sys_exit/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/sweep_complex_defaults/conf/optimizer_dataset → lerna-2.2.0/lerna/tests/test_apps/user-config-dir}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/user-config-dir → lerna-2.2.0/lerna/tests/test_apps/user-config-dir/conf}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/user-config-dir/conf/config.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/user-config-dir/conf → lerna-2.2.0/lerna/tests/test_apps/user-config-dir/conf/dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/user-config-dir/conf/dataset/imagenet.yaml +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/user-config-dir/conf/dataset → lerna-2.2.0/lerna/tests/test_apps/user-config-dir/user-dir}/__init__.py +0 -0
- {lerna-2.1.0/lerna/tests/test_apps/user-config-dir/user-dir → lerna-2.2.0/lerna/tests/test_apps/user-config-dir/user-dir/dataset}/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_apps/user-config-dir/user-dir/dataset/cifar10.yaml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_basic_launcher.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_basic_sweeper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_completion.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_config_repository.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_config_search_path.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_config_source.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_discover.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_env_defaults.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_errors.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/__init__.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_advanced_config_search_path.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_advanced_package_overrides.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_basic_sweep.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_configure_hydra.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_experimental.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_instantiate_examples.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_patterns.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_structured_configs_tutorial.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_examples/test_tutorials_basic.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_hydra_cli_errors.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_hydra_context_warnings.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_internal_utils.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_launcher.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_callback.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_config_repository.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_defaults_list.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_hybrid_repo.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_integration.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_rust_omegaconf.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_sweeper.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/lerna/tests/test_utils.py +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/.config/nextest.toml +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/callback/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/config/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/config_path/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/config_source/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/config_store/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/core/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/defaults/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/defaults_list/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/env/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/glob/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/interpolation/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/job/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/job_runner/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/launcher/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/lib.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/merge/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/omegaconf/context.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/omegaconf/dictconfig.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/omegaconf/listconfig.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/omegaconf/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/omegaconf/omegaconf.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/override_types/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/package/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/search_path/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/sweep/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/sweeper/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/utils/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/python/validation/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/callback.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/interpolation.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/loader.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/parser.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/repository.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/source.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config/value.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config_path.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/config_store.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/core/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/core/object_type.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/defaults.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/defaults_list.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/env.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/glob.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/interpolation.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/job.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/job_runner.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/launcher.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/lib.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/merge.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/base.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/dictconfig.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/errors.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/flags.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/listconfig.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/mod.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/nodes.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/omegaconf/omegaconf.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/package.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/search_path.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/sweep.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/sweeper.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/utils.rs +0 -0
- {lerna-2.1.0 → lerna-2.2.0}/rust/src/validation.rs +0 -0
|
@@ -10,9 +10,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
|
10
10
|
|
|
11
11
|
[[package]]
|
|
12
12
|
name = "cfg-if"
|
|
13
|
-
version = "1.0.
|
|
13
|
+
version = "1.0.5"
|
|
14
14
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
15
|
-
checksum = "
|
|
15
|
+
checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
|
|
16
16
|
|
|
17
17
|
[[package]]
|
|
18
18
|
name = "getrandom"
|
|
@@ -59,7 +59,7 @@ dependencies = [
|
|
|
59
59
|
|
|
60
60
|
[[package]]
|
|
61
61
|
name = "lerna"
|
|
62
|
-
version = "2.
|
|
62
|
+
version = "2.2.0"
|
|
63
63
|
dependencies = [
|
|
64
64
|
"rand",
|
|
65
65
|
"serde",
|
|
@@ -68,7 +68,7 @@ dependencies = [
|
|
|
68
68
|
|
|
69
69
|
[[package]]
|
|
70
70
|
name = "lerna_py"
|
|
71
|
-
version = "2.
|
|
71
|
+
version = "2.2.0"
|
|
72
72
|
dependencies = [
|
|
73
73
|
"lerna",
|
|
74
74
|
"pyo3",
|
|
@@ -256,7 +256,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
|
256
256
|
dependencies = [
|
|
257
257
|
"proc-macro2",
|
|
258
258
|
"quote",
|
|
259
|
-
"syn 3.0.
|
|
259
|
+
"syn 3.0.6",
|
|
260
260
|
]
|
|
261
261
|
|
|
262
262
|
[[package]]
|
|
@@ -284,9 +284,9 @@ dependencies = [
|
|
|
284
284
|
|
|
285
285
|
[[package]]
|
|
286
286
|
name = "syn"
|
|
287
|
-
version = "3.0.
|
|
287
|
+
version = "3.0.6"
|
|
288
288
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
289
|
-
checksum = "
|
|
289
|
+
checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
|
|
290
290
|
dependencies = [
|
|
291
291
|
"proc-macro2",
|
|
292
292
|
"quote",
|
|
@@ -301,9 +301,9 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
|
301
301
|
|
|
302
302
|
[[package]]
|
|
303
303
|
name = "unicode-ident"
|
|
304
|
-
version = "1.0.
|
|
304
|
+
version = "1.0.26"
|
|
305
305
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
306
|
-
checksum = "
|
|
306
|
+
checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
|
|
307
307
|
|
|
308
308
|
[[package]]
|
|
309
309
|
name = "wasip2"
|
|
@@ -331,18 +331,18 @@ dependencies = [
|
|
|
331
331
|
|
|
332
332
|
[[package]]
|
|
333
333
|
name = "zerocopy"
|
|
334
|
-
version = "0.8.
|
|
334
|
+
version = "0.8.57"
|
|
335
335
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
336
|
-
checksum = "
|
|
336
|
+
checksum = "d35102a9f36d089ccae9e4c6802bc118be4487b80aaffc0ab4e0cf5ce92d2873"
|
|
337
337
|
dependencies = [
|
|
338
338
|
"zerocopy-derive",
|
|
339
339
|
]
|
|
340
340
|
|
|
341
341
|
[[package]]
|
|
342
342
|
name = "zerocopy-derive"
|
|
343
|
-
version = "0.8.
|
|
343
|
+
version = "0.8.57"
|
|
344
344
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
345
|
-
checksum = "
|
|
345
|
+
checksum = "146c01f5ab44258da43cf276c74a2763db2ff3969c9c652c3f2de07041d0b2bc"
|
|
346
346
|
dependencies = [
|
|
347
347
|
"proc-macro2",
|
|
348
348
|
"quote",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "lerna_py"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.2.0"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
publish = false
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ crate-type = ["cdylib"]
|
|
|
11
11
|
|
|
12
12
|
[dependencies]
|
|
13
13
|
lerna = { path = "./rust", version = "*" }
|
|
14
|
-
pyo3 = { version = "0.29.
|
|
14
|
+
pyo3 = { version = "0.29.2", features = ["abi3", "extension-module", "multiple-pymethods"] }
|
|
15
15
|
|
|
16
16
|
[profile.release]
|
|
17
17
|
panic = 'abort'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: lerna
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: Lerna is a framework for elegantly configuring complex applications
|
|
5
5
|
Project-URL: Repository, https://github.com/1kbgz/lerna
|
|
6
6
|
Project-URL: Homepage, https://github.com/1kbgz/lerna
|
|
@@ -19,8 +19,7 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
|
19
19
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
20
20
|
Classifier: Programming Language :: Rust
|
|
21
21
|
Requires-Python: >=3.10
|
|
22
|
-
Requires-Dist: omegaconf<
|
|
23
|
-
Requires-Dist: packaging
|
|
22
|
+
Requires-Dist: omegaconf<3,>=2.2.3
|
|
24
23
|
Provides-Extra: develop
|
|
25
24
|
Requires-Dist: build; extra == 'develop'
|
|
26
25
|
Requires-Dist: bump-my-version; extra == 'develop'
|
|
@@ -32,6 +31,7 @@ Requires-Dist: hatchling; extra == 'develop'
|
|
|
32
31
|
Requires-Dist: hydra-core; extra == 'develop'
|
|
33
32
|
Requires-Dist: mdformat; extra == 'develop'
|
|
34
33
|
Requires-Dist: mdformat-tables>=1; extra == 'develop'
|
|
34
|
+
Requires-Dist: packaging; extra == 'develop'
|
|
35
35
|
Requires-Dist: pytest; extra == 'develop'
|
|
36
36
|
Requires-Dist: pytest-cov; extra == 'develop'
|
|
37
37
|
Requires-Dist: ruff; extra == 'develop'
|
|
@@ -163,25 +163,37 @@ python app.py 'tags=prepend(first)'
|
|
|
163
163
|
# Insert at specific index
|
|
164
164
|
python app.py 'tags=insert(0,first_item)'
|
|
165
165
|
|
|
166
|
+
# Extend from another config list
|
|
167
|
+
python app.py 'tags=extend(${defaults.tags})'
|
|
168
|
+
|
|
166
169
|
# Remove by index
|
|
167
|
-
python app.py 'tags=
|
|
168
|
-
python app.py 'tags=
|
|
170
|
+
python app.py 'tags=pop(0)' # Remove first
|
|
171
|
+
python app.py 'tags=pop(-1)' # Remove last
|
|
169
172
|
|
|
170
173
|
# Remove by value
|
|
171
|
-
python app.py 'tags=
|
|
174
|
+
python app.py 'tags=remove(old_tag)'
|
|
175
|
+
|
|
176
|
+
# Delete a slice (equivalent to del tags[1:3])
|
|
177
|
+
python app.py 'tags=delete_slice(1,3)'
|
|
172
178
|
|
|
173
179
|
# Clear entire list
|
|
174
|
-
python app.py 'tags=
|
|
180
|
+
python app.py 'tags=clear()'
|
|
175
181
|
```
|
|
176
182
|
|
|
177
|
-
| Function
|
|
178
|
-
|
|
|
179
|
-
| `append(
|
|
180
|
-
| `
|
|
181
|
-
| `insert(
|
|
182
|
-
| `
|
|
183
|
-
| `
|
|
184
|
-
| `
|
|
183
|
+
| Function | Description | Example result |
|
|
184
|
+
| ---------------------------- | --------------------------------------- | ---------------------- |
|
|
185
|
+
| `append(value)` | Add value to end | `[a, b]` → `[a, b, c]` |
|
|
186
|
+
| `extend(${path})` | Add items from another config list | `[a]` → `[a, b, c]` |
|
|
187
|
+
| `insert(index, value)` | Insert value at index | `[a, c]` → `[a, b, c]` |
|
|
188
|
+
| `pop(index)` | Remove item at index | `[a, b, c]` → `[b, c]` |
|
|
189
|
+
| `remove(value)` | Remove first matching value | `[a, b, c]` → `[a, c]` |
|
|
190
|
+
| `clear()` | Remove all items | `[a, b, c]` → `[]` |
|
|
191
|
+
| `prepend(...)` | Add values to beginning | `[b, c]` → `[a, b, c]` |
|
|
192
|
+
| `append_unique(...)` | Append values not already present | `[a, b]` → `[a, b, c]` |
|
|
193
|
+
| `remove_all(...)` | Remove every match | `[a, b, a]` → `[b]` |
|
|
194
|
+
| `delete_slice(start, stop?)` | Delete a range using Python slice rules | `[a, b, c]` → `[a]` |
|
|
195
|
+
|
|
196
|
+
`remove_at`, `remove_value`, `list_clear`, and `extend_from` remain available as compatibility aliases for `pop`, `remove`, `clear`, and `extend`, respectively.
|
|
185
197
|
|
|
186
198
|
These functions use shell-safe syntax (quote the entire override) and work on bash, zsh, fish, PowerShell, and cmd.
|
|
187
199
|
|
|
@@ -266,8 +278,8 @@ defaults:
|
|
|
266
278
|
- _patch_:
|
|
267
279
|
- ~unwanted_key # delete a key
|
|
268
280
|
- ~status=deprecated # delete key only if value matches
|
|
269
|
-
- items=
|
|
270
|
-
- items=
|
|
281
|
+
- items=remove(stale) # remove a list item by value
|
|
282
|
+
- items=pop(0) # remove a list item by index
|
|
271
283
|
- +new_key=injected # add a new key
|
|
272
284
|
- setting=new_value # change a value
|
|
273
285
|
```
|
|
@@ -283,21 +295,47 @@ defaults:
|
|
|
283
295
|
|
|
284
296
|
For root-level configs (no `@` package), bare keys and `_here_` are equivalent since the parent package is empty.
|
|
285
297
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
| Operation |
|
|
289
|
-
| -------------------- |
|
|
290
|
-
|
|
|
291
|
-
|
|
|
292
|
-
|
|
|
293
|
-
|
|
|
294
|
-
|
|
|
295
|
-
| List append | `key=append(
|
|
296
|
-
| List
|
|
297
|
-
| List
|
|
298
|
-
| List
|
|
299
|
-
|
|
|
300
|
-
|
|
|
298
|
+
Patch entries accept the existing override string syntax or a structured mapping. Both forms execute in sequence and use the same package-scoping rules.
|
|
299
|
+
|
|
300
|
+
| Operation | String entry | Structured entry |
|
|
301
|
+
| -------------------- | ----------------------------- | --------------------------------------------------- |
|
|
302
|
+
| Change value | `key=value` | `{op: change, path: key, value: value}` |
|
|
303
|
+
| Add key | `+key=value` | `{op: add, path: key, value: value}` |
|
|
304
|
+
| Force-add key | `++key=value` | `{op: force_add, path: key, value: value}` |
|
|
305
|
+
| Delete key | `~key` | `{op: delete, path: key}` |
|
|
306
|
+
| Conditional delete | `~key=value` | `{op: delete, path: key, value: value}` |
|
|
307
|
+
| List append | `key=append(a,b)` | `{op: append, path: key, values: [a, b]}` |
|
|
308
|
+
| List extend | `key=extend(${source.items})` | `{op: extend, path: key, value: "${source.items}"}` |
|
|
309
|
+
| List prepend | `key=prepend(a,b)` | `{op: prepend, path: key, values: [a, b]}` |
|
|
310
|
+
| List insert | `key=insert(1,a,b)` | `{op: insert, path: key, index: 1, values: [a, b]}` |
|
|
311
|
+
| Remove first match | `key=remove(a)` | `{op: remove, path: key, value: a}` |
|
|
312
|
+
| Remove by index | `key=pop(1)` | `{op: pop, path: key, index: 1}` |
|
|
313
|
+
| Clear list | `key=clear()` | `{op: clear, path: key}` |
|
|
314
|
+
| Append unique values | `key=append_unique(a,b)` | `{op: append_unique, path: key, values: [a, b]}` |
|
|
315
|
+
| Remove all matches | `key=remove_all(a,b)` | `{op: remove_all, path: key, values: [a, b]}` |
|
|
316
|
+
| Delete slice | `key=delete_slice(1,3)` | `{op: delete_slice, path: key, start: 1, stop: 3}` |
|
|
317
|
+
|
|
318
|
+
In `delete_slice(start, stop?)`, omitting `stop` deletes from `start` through the end. Negative and out-of-range indexes follow Python slice behavior.
|
|
319
|
+
|
|
320
|
+
Structured `value` and `values` fields preserve YAML mappings, lists, booleans, nulls, and interpolations without serializing them through the override grammar. A mapping or list in `values` is one item. `extend()` is the operation that splices the selected source list into the destination; nested lists inside the source remain nested.
|
|
321
|
+
|
|
322
|
+
```yaml
|
|
323
|
+
defaults:
|
|
324
|
+
- _patch_@gateway:
|
|
325
|
+
- op: append
|
|
326
|
+
path: modules
|
|
327
|
+
values:
|
|
328
|
+
- /modules/rest
|
|
329
|
+
- /modules/outputs
|
|
330
|
+
- op: change
|
|
331
|
+
path: settings
|
|
332
|
+
value:
|
|
333
|
+
enabled: true
|
|
334
|
+
retries: 3
|
|
335
|
+
label: null
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
`append_unique()` resolves values for structural comparison but preserves the unresolved value when it appends it. Existing duplicates remain. `remove_all()` removes every occurrence of each argument. `extend()` snapshots its source before copying, so extending a list from itself is well-defined.
|
|
301
339
|
|
|
302
340
|
**Example with packaged config:**
|
|
303
341
|
|
|
@@ -308,7 +346,7 @@ defaults:
|
|
|
308
346
|
- _self_
|
|
309
347
|
- _patch_@vendor:
|
|
310
348
|
- ~debug_mode # bare key → targets vendor.debug_mode
|
|
311
|
-
- items=
|
|
349
|
+
- items=remove(x) # bare key → targets vendor.items
|
|
312
350
|
|
|
313
351
|
# Multiple scoped patches can target different packages:
|
|
314
352
|
# - _patch_@db:
|
|
@@ -319,6 +357,27 @@ defaults:
|
|
|
319
357
|
|
|
320
358
|
**Nested patches:** `_patch_` directives in sub-configs accumulate naturally. If `lib/refined.yaml` has its own `_patch_` that removes `beta`, and your root config adds `_patch_@lib:` to remove `gamma`, both patches apply — `beta` and `gamma` are both removed from the final config.
|
|
321
359
|
|
|
360
|
+
#### Composition provenance
|
|
361
|
+
|
|
362
|
+
`compose_with_provenance()` returns a `CompositionResult` containing the unresolved composed config and its composition metadata. Consumers such as [csp-gateway](https://github.com/Point72/csp-gateway) and [ccflow](https://github.com/Point72/ccflow) can build configuration explanations without importing from `lerna._internal`, patching YAML loaders, or disabling Rust YAML parsing.
|
|
363
|
+
|
|
364
|
+
```python
|
|
365
|
+
from lerna import compose_with_provenance, initialize_config_dir
|
|
366
|
+
|
|
367
|
+
with initialize_config_dir(config_dir="conf"):
|
|
368
|
+
result = compose_with_provenance("config", overrides=["gateway.modules=append(metrics)"])
|
|
369
|
+
|
|
370
|
+
print(result.config) # unresolved DictConfig
|
|
371
|
+
print(result.resolved_copy()) # independently resolved copy
|
|
372
|
+
print(result.selected_defaults) # composition order and sources
|
|
373
|
+
print(result.available_options["gateway"]) # options seen for the group
|
|
374
|
+
print(result.provenance("gateway.modules[0]"))
|
|
375
|
+
print(result.patch_operations) # config-authored operations
|
|
376
|
+
print(result.cli_overrides) # command-line operations
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Node provenance includes the source identifier, source config, package, source key, origin, and operation index. List-item provenance follows surviving items as list operations move their indexes. Patch history retains removed items and their provenance.
|
|
380
|
+
|
|
322
381
|
#### Relative Path in Defaults Fix ([#2878](https://github.com/facebookresearch/hydra/issues/2878))
|
|
323
382
|
|
|
324
383
|
Hydra produces empty string keys when using `..` in defaults list paths:
|
|
@@ -120,25 +120,37 @@ python app.py 'tags=prepend(first)'
|
|
|
120
120
|
# Insert at specific index
|
|
121
121
|
python app.py 'tags=insert(0,first_item)'
|
|
122
122
|
|
|
123
|
+
# Extend from another config list
|
|
124
|
+
python app.py 'tags=extend(${defaults.tags})'
|
|
125
|
+
|
|
123
126
|
# Remove by index
|
|
124
|
-
python app.py 'tags=
|
|
125
|
-
python app.py 'tags=
|
|
127
|
+
python app.py 'tags=pop(0)' # Remove first
|
|
128
|
+
python app.py 'tags=pop(-1)' # Remove last
|
|
126
129
|
|
|
127
130
|
# Remove by value
|
|
128
|
-
python app.py 'tags=
|
|
131
|
+
python app.py 'tags=remove(old_tag)'
|
|
132
|
+
|
|
133
|
+
# Delete a slice (equivalent to del tags[1:3])
|
|
134
|
+
python app.py 'tags=delete_slice(1,3)'
|
|
129
135
|
|
|
130
136
|
# Clear entire list
|
|
131
|
-
python app.py 'tags=
|
|
137
|
+
python app.py 'tags=clear()'
|
|
132
138
|
```
|
|
133
139
|
|
|
134
|
-
| Function
|
|
135
|
-
|
|
|
136
|
-
| `append(
|
|
137
|
-
| `
|
|
138
|
-
| `insert(
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
140
|
+
| Function | Description | Example result |
|
|
141
|
+
| ---------------------------- | --------------------------------------- | ---------------------- |
|
|
142
|
+
| `append(value)` | Add value to end | `[a, b]` → `[a, b, c]` |
|
|
143
|
+
| `extend(${path})` | Add items from another config list | `[a]` → `[a, b, c]` |
|
|
144
|
+
| `insert(index, value)` | Insert value at index | `[a, c]` → `[a, b, c]` |
|
|
145
|
+
| `pop(index)` | Remove item at index | `[a, b, c]` → `[b, c]` |
|
|
146
|
+
| `remove(value)` | Remove first matching value | `[a, b, c]` → `[a, c]` |
|
|
147
|
+
| `clear()` | Remove all items | `[a, b, c]` → `[]` |
|
|
148
|
+
| `prepend(...)` | Add values to beginning | `[b, c]` → `[a, b, c]` |
|
|
149
|
+
| `append_unique(...)` | Append values not already present | `[a, b]` → `[a, b, c]` |
|
|
150
|
+
| `remove_all(...)` | Remove every match | `[a, b, a]` → `[b]` |
|
|
151
|
+
| `delete_slice(start, stop?)` | Delete a range using Python slice rules | `[a, b, c]` → `[a]` |
|
|
152
|
+
|
|
153
|
+
`remove_at`, `remove_value`, `list_clear`, and `extend_from` remain available as compatibility aliases for `pop`, `remove`, `clear`, and `extend`, respectively.
|
|
142
154
|
|
|
143
155
|
These functions use shell-safe syntax (quote the entire override) and work on bash, zsh, fish, PowerShell, and cmd.
|
|
144
156
|
|
|
@@ -223,8 +235,8 @@ defaults:
|
|
|
223
235
|
- _patch_:
|
|
224
236
|
- ~unwanted_key # delete a key
|
|
225
237
|
- ~status=deprecated # delete key only if value matches
|
|
226
|
-
- items=
|
|
227
|
-
- items=
|
|
238
|
+
- items=remove(stale) # remove a list item by value
|
|
239
|
+
- items=pop(0) # remove a list item by index
|
|
228
240
|
- +new_key=injected # add a new key
|
|
229
241
|
- setting=new_value # change a value
|
|
230
242
|
```
|
|
@@ -240,21 +252,47 @@ defaults:
|
|
|
240
252
|
|
|
241
253
|
For root-level configs (no `@` package), bare keys and `_here_` are equivalent since the parent package is empty.
|
|
242
254
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
| Operation |
|
|
246
|
-
| -------------------- |
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
| List append | `key=append(
|
|
253
|
-
| List
|
|
254
|
-
| List
|
|
255
|
-
| List
|
|
256
|
-
|
|
|
257
|
-
|
|
|
255
|
+
Patch entries accept the existing override string syntax or a structured mapping. Both forms execute in sequence and use the same package-scoping rules.
|
|
256
|
+
|
|
257
|
+
| Operation | String entry | Structured entry |
|
|
258
|
+
| -------------------- | ----------------------------- | --------------------------------------------------- |
|
|
259
|
+
| Change value | `key=value` | `{op: change, path: key, value: value}` |
|
|
260
|
+
| Add key | `+key=value` | `{op: add, path: key, value: value}` |
|
|
261
|
+
| Force-add key | `++key=value` | `{op: force_add, path: key, value: value}` |
|
|
262
|
+
| Delete key | `~key` | `{op: delete, path: key}` |
|
|
263
|
+
| Conditional delete | `~key=value` | `{op: delete, path: key, value: value}` |
|
|
264
|
+
| List append | `key=append(a,b)` | `{op: append, path: key, values: [a, b]}` |
|
|
265
|
+
| List extend | `key=extend(${source.items})` | `{op: extend, path: key, value: "${source.items}"}` |
|
|
266
|
+
| List prepend | `key=prepend(a,b)` | `{op: prepend, path: key, values: [a, b]}` |
|
|
267
|
+
| List insert | `key=insert(1,a,b)` | `{op: insert, path: key, index: 1, values: [a, b]}` |
|
|
268
|
+
| Remove first match | `key=remove(a)` | `{op: remove, path: key, value: a}` |
|
|
269
|
+
| Remove by index | `key=pop(1)` | `{op: pop, path: key, index: 1}` |
|
|
270
|
+
| Clear list | `key=clear()` | `{op: clear, path: key}` |
|
|
271
|
+
| Append unique values | `key=append_unique(a,b)` | `{op: append_unique, path: key, values: [a, b]}` |
|
|
272
|
+
| Remove all matches | `key=remove_all(a,b)` | `{op: remove_all, path: key, values: [a, b]}` |
|
|
273
|
+
| Delete slice | `key=delete_slice(1,3)` | `{op: delete_slice, path: key, start: 1, stop: 3}` |
|
|
274
|
+
|
|
275
|
+
In `delete_slice(start, stop?)`, omitting `stop` deletes from `start` through the end. Negative and out-of-range indexes follow Python slice behavior.
|
|
276
|
+
|
|
277
|
+
Structured `value` and `values` fields preserve YAML mappings, lists, booleans, nulls, and interpolations without serializing them through the override grammar. A mapping or list in `values` is one item. `extend()` is the operation that splices the selected source list into the destination; nested lists inside the source remain nested.
|
|
278
|
+
|
|
279
|
+
```yaml
|
|
280
|
+
defaults:
|
|
281
|
+
- _patch_@gateway:
|
|
282
|
+
- op: append
|
|
283
|
+
path: modules
|
|
284
|
+
values:
|
|
285
|
+
- /modules/rest
|
|
286
|
+
- /modules/outputs
|
|
287
|
+
- op: change
|
|
288
|
+
path: settings
|
|
289
|
+
value:
|
|
290
|
+
enabled: true
|
|
291
|
+
retries: 3
|
|
292
|
+
label: null
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
`append_unique()` resolves values for structural comparison but preserves the unresolved value when it appends it. Existing duplicates remain. `remove_all()` removes every occurrence of each argument. `extend()` snapshots its source before copying, so extending a list from itself is well-defined.
|
|
258
296
|
|
|
259
297
|
**Example with packaged config:**
|
|
260
298
|
|
|
@@ -265,7 +303,7 @@ defaults:
|
|
|
265
303
|
- _self_
|
|
266
304
|
- _patch_@vendor:
|
|
267
305
|
- ~debug_mode # bare key → targets vendor.debug_mode
|
|
268
|
-
- items=
|
|
306
|
+
- items=remove(x) # bare key → targets vendor.items
|
|
269
307
|
|
|
270
308
|
# Multiple scoped patches can target different packages:
|
|
271
309
|
# - _patch_@db:
|
|
@@ -276,6 +314,27 @@ defaults:
|
|
|
276
314
|
|
|
277
315
|
**Nested patches:** `_patch_` directives in sub-configs accumulate naturally. If `lib/refined.yaml` has its own `_patch_` that removes `beta`, and your root config adds `_patch_@lib:` to remove `gamma`, both patches apply — `beta` and `gamma` are both removed from the final config.
|
|
278
316
|
|
|
317
|
+
#### Composition provenance
|
|
318
|
+
|
|
319
|
+
`compose_with_provenance()` returns a `CompositionResult` containing the unresolved composed config and its composition metadata. Consumers such as [csp-gateway](https://github.com/Point72/csp-gateway) and [ccflow](https://github.com/Point72/ccflow) can build configuration explanations without importing from `lerna._internal`, patching YAML loaders, or disabling Rust YAML parsing.
|
|
320
|
+
|
|
321
|
+
```python
|
|
322
|
+
from lerna import compose_with_provenance, initialize_config_dir
|
|
323
|
+
|
|
324
|
+
with initialize_config_dir(config_dir="conf"):
|
|
325
|
+
result = compose_with_provenance("config", overrides=["gateway.modules=append(metrics)"])
|
|
326
|
+
|
|
327
|
+
print(result.config) # unresolved DictConfig
|
|
328
|
+
print(result.resolved_copy()) # independently resolved copy
|
|
329
|
+
print(result.selected_defaults) # composition order and sources
|
|
330
|
+
print(result.available_options["gateway"]) # options seen for the group
|
|
331
|
+
print(result.provenance("gateway.modules[0]"))
|
|
332
|
+
print(result.patch_operations) # config-authored operations
|
|
333
|
+
print(result.cli_overrides) # command-line operations
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
Node provenance includes the source identifier, source config, package, source key, origin, and operation index. List-item provenance follows surviving items as list operations move their indexes. Patch history retains removed items and their provenance.
|
|
337
|
+
|
|
279
338
|
#### Relative Path in Defaults Fix ([#2878](https://github.com/facebookresearch/hydra/issues/2878))
|
|
280
339
|
|
|
281
340
|
Hydra produces empty string keys when using `..` in defaults list paths:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
|
|
2
2
|
|
|
3
3
|
# Source of truth for Lerna's version (Hydra-compatible API)
|
|
4
|
-
__version__ = "2.
|
|
4
|
+
__version__ = "2.2.0"
|
|
5
5
|
|
|
6
6
|
# Callback support from Rust
|
|
7
7
|
from lerna import lerna as _rust, utils
|
|
@@ -9,8 +9,16 @@ from lerna.errors import MissingConfigException
|
|
|
9
9
|
from lerna.main import main
|
|
10
10
|
from lerna.types import TaskFunction
|
|
11
11
|
|
|
12
|
-
from .compose import compose
|
|
12
|
+
from .compose import compose, compose_with_provenance
|
|
13
13
|
from .initialize import initialize, initialize_config_dir, initialize_config_module
|
|
14
|
+
from .provenance import (
|
|
15
|
+
CompositionOperation,
|
|
16
|
+
CompositionResult,
|
|
17
|
+
CompositionSource,
|
|
18
|
+
NodeProvenance,
|
|
19
|
+
RemovedItem,
|
|
20
|
+
SelectedDefault,
|
|
21
|
+
)
|
|
14
22
|
|
|
15
23
|
CallbackManager = _rust.CallbackManager
|
|
16
24
|
JobReturn = _rust.JobReturn
|
|
@@ -30,18 +38,25 @@ SweeperManager = _rust.SweeperManager
|
|
|
30
38
|
|
|
31
39
|
__all__ = [
|
|
32
40
|
"CallbackManager",
|
|
41
|
+
"CompositionOperation",
|
|
42
|
+
"CompositionResult",
|
|
43
|
+
"CompositionSource",
|
|
33
44
|
"ConfigResult",
|
|
34
45
|
"ConfigSourceManager",
|
|
35
46
|
"JobReturn",
|
|
36
47
|
"LauncherManager",
|
|
37
48
|
"MissingConfigException",
|
|
49
|
+
"NodeProvenance",
|
|
50
|
+
"RemovedItem",
|
|
38
51
|
"RustBasicLauncher",
|
|
39
52
|
"RustBasicSweeper",
|
|
40
53
|
"RustFileConfigSource",
|
|
54
|
+
"SelectedDefault",
|
|
41
55
|
"SweeperManager",
|
|
42
56
|
"TaskFunction",
|
|
43
57
|
"__version__",
|
|
44
58
|
"compose",
|
|
59
|
+
"compose_with_provenance",
|
|
45
60
|
"initialize",
|
|
46
61
|
"initialize_config_dir",
|
|
47
62
|
"initialize_config_module",
|