Repository: facebookresearch/hydra

Issue:
Upgrade to OmegaConf 2.1
OmegaConf 2.1 is adding many important new features.
For example:
* Powerful interpolation grammar supporting nested interpolations
* Relative interpolations
* And many many bug fixes

Release notes: [omegaconf==2.1.0.rc1](https://github.com/omry/omegaconf/releases/tag/v2.1.0.rc1).


Discussion:

Resolving patch:
diff --git a/plugins/hydra_ax_sweeper/setup.py b/plugins/hydra_ax_sweeper/setup.py
--- a/plugins/hydra_ax_sweeper/setup.py
+++ b/plugins/hydra_ax_sweeper/setup.py
@@ -25,8 +25,7 @@
         ],
         install_requires=[
             "hydra-core>=1.0.0",
-            "ax-platform>=0.1.13",
-            "numpy<1.20.0",  # remove once ax is upgraded to support numpy 1.20
+            "ax-platform>=0.1.20",
         ],
         include_package_data=True,
     )
diff --git a/plugins/hydra_rq_launcher/hydra_plugins/hydra_rq_launcher/config.py b/plugins/hydra_rq_launcher/hydra_plugins/hydra_rq_launcher/config.py
--- a/plugins/hydra_rq_launcher/hydra_plugins/hydra_rq_launcher/config.py
+++ b/plugins/hydra_rq_launcher/hydra_plugins/hydra_rq_launcher/config.py
@@ -15,7 +15,7 @@ class RedisConf:
     # database via REDIS_DB environment variable, default: 0
     db: Optional[str] = II("env:REDIS_DB,0")
     # password via REDIS_PASSWORD environment variable, default: no password
-    password: str = II("env:REDIS_PASSWORD,")
+    password: str = II("env:REDIS_PASSWORD")
     # switch to run without redis server in single thread, for testing purposes only
     mock: bool = II("env:REDIS_MOCK,False")
 


Test patch:
diff --git a/hydra/test_utils/test_utils.py b/hydra/test_utils/test_utils.py
--- a/hydra/test_utils/test_utils.py
+++ b/hydra/test_utils/test_utils.py
@@ -18,7 +18,6 @@
 from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, Union
 
 from omegaconf import Container, DictConfig, OmegaConf
-from typing_extensions import Protocol
 
 from hydra._internal.hydra import Hydra
 from hydra._internal.utils import detect_task_name
@@ -26,6 +25,11 @@
 from hydra.core.utils import JobReturn, validate_config_path
 from hydra.types import TaskFunction
 
+if sys.version_info >= (3, 8, 0):
+    from typing import Protocol
+else:
+    from typing_extensions import Protocol  # type: ignore
+
 
 @contextmanager
 def does_not_raise(enter_result: Any = None) -> Iterator[Any]:
diff --git a/plugins/hydra_ax_sweeper/tests/test_ax_sweeper_plugin.py b/plugins/hydra_ax_sweeper/tests/test_ax_sweeper_plugin.py
--- a/plugins/hydra_ax_sweeper/tests/test_ax_sweeper_plugin.py
+++ b/plugins/hydra_ax_sweeper/tests/test_ax_sweeper_plugin.py
@@ -209,7 +209,7 @@ def test_ax_logging(tmpdir: Path, cmd_arg: str, expected_str: str) -> None:
         "polynomial.z=10",
         "hydra.sweeper.ax_config.max_trials=2",
     ] + [cmd_arg]
-    result, _ = run_python_script(cmd)
+    result, _ = run_python_script(cmd, allow_warnings=True)
     assert "polynomial.x: range=[-5.0, -2.0]" in result
     assert expected_str in result
     assert "polynomial.z: fixed=10" in result
@@ -229,7 +229,7 @@ def test_search_space_exhausted_exception(tmpdir: Path, cmd_args: List[str]) ->
         "hydra.run.dir=" + str(tmpdir),
         "hydra.sweeper.ax_config.max_trials=2",
     ] + cmd_args
-    run_python_script(cmd)
+    run_python_script(cmd, allow_warnings=True)
 
 
 @pytest.mark.parametrize(
@@ -262,7 +262,7 @@ def test_jobs_using_choice_between_lists(
         "hydra.run.dir=" + str(tmpdir),
         "hydra.sweeper.ax_config.max_trials=3",
     ] + [cmd_arg]
-    result, _ = run_python_script(cmd)
+    result, _ = run_python_script(cmd, allow_warnings=True)
     assert f"polynomial.coefficients: {serialized_encoding}" in result
     assert f"'polynomial.coefficients': {best_coefficients}" in result
     assert f"New best value: {best_value}" in result
@@ -298,7 +298,7 @@ def test_jobs_using_choice_between_dicts(
         "hydra.run.dir=" + str(tmpdir),
         "hydra.sweeper.ax_config.max_trials=3",
     ] + [cmd_arg]
-    result, _ = run_python_script(cmd)
+    result, _ = run_python_script(cmd, allow_warnings=True)
     assert f"polynomial.coefficients: {serialized_encoding}" in result
     assert f"'+polynomial.coefficients': {best_coefficients}" in result
     assert f"New best value: {best_value}" in result
@@ -313,6 +313,6 @@ def test_example_app(tmpdir: Path) -> None:
         "banana.y=interval(-5, 10.1)",
         "hydra.sweeper.ax_config.max_trials=2",
     ]
-    result, _ = run_python_script(cmd)
+    result, _ = run_python_script(cmd, allow_warnings=True)
     assert "banana.x: range=[-5, 5]" in result
     assert "banana.y: range=[-5.0, 10.1]" in result