From 93f18f2c14208bbd8ece246c9a5fe93707c3cacd Mon Sep 17 00:00:00 2001 From: Jasha Sommer-Simpson <8935917+Jasha10@users.noreply.github.com> Date: Fri, 3 Jan 2025 22:13:29 -0500 Subject: [PATCH 1/3] Enable python 3.12, 3.13 --- .circleci/config.yml | 2 +- noxfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1957d339f..12bbf54d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -39,4 +39,4 @@ workflows: - test_linux: matrix: parameters: - py_version: ["3.8", "3.9", "3.10", "3.11"] + py_version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] diff --git a/noxfile.py b/noxfile.py index 9b4d4bfdf..8cbfc1a51 100644 --- a/noxfile.py +++ b/noxfile.py @@ -4,7 +4,7 @@ import nox from nox import Session -DEFAULT_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11"] +DEFAULT_PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] PYTHON_VERSIONS = os.environ.get( "NOX_PYTHON_VERSIONS", ",".join(DEFAULT_PYTHON_VERSIONS) From 3a8fd6c19dd3a03a69e22eb79b488e7e1c56e2b9 Mon Sep 17 00:00:00 2001 From: Jasha Sommer-Simpson <8935917+Jasha10@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:38:12 -0500 Subject: [PATCH 2/3] try to fix flake8 errors --- omegaconf/_utils.py | 4 ++-- omegaconf/basecontainer.py | 4 ++-- omegaconf/grammar_parser.py | 4 ++-- omegaconf/grammar_visitor.py | 2 +- omegaconf/omegaconf.py | 2 +- tests/interpolation/built_in_resolvers/test_oc_decode.py | 4 ++-- tests/test_grammar.py | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/omegaconf/_utils.py b/omegaconf/_utils.py index c630d10ba..57d0ef4c2 100644 --- a/omegaconf/_utils.py +++ b/omegaconf/_utils.py @@ -350,7 +350,7 @@ def get_attr_data(obj: Any, allow_objects: Optional[bool] = None) -> Dict[str, A value = MISSING if is_union_annotation(type_) and not is_supported_union_annotation(type_): e = ConfigValueError( - f"Unions of containers are not supported:\n{name}: {type_str(type_)}" + f"Unions of containers are not supported:\n{name}: {type_str(type_)}" # noqa: E231 ) format_and_raise(node=None, key=None, value=value, cause=e, msg=str(e)) @@ -409,7 +409,7 @@ def get_dataclass_data( if is_union_annotation(type_) and not is_supported_union_annotation(type_): e = ConfigValueError( - f"Unions of containers are not supported:\n{name}: {type_str(type_)}" + f"Unions of containers are not supported:\n{name}: {type_str(type_)}" # noqa: E231 ) format_and_raise(node=None, key=None, value=value, cause=e, msg=str(e)) try: diff --git a/omegaconf/basecontainer.py b/omegaconf/basecontainer.py index 684a6e429..14e86677d 100644 --- a/omegaconf/basecontainer.py +++ b/omegaconf/basecontainer.py @@ -738,9 +738,9 @@ def _get_full_key(self, key: Union[DictKeyType, int, slice, None]) -> str: def _slice_to_str(x: slice) -> str: if x.step is not None: - return f"{x.start}:{x.stop}:{x.step}" + return f"{x.start}:{x.stop}:{x.step}" # noqa: E231 else: - return f"{x.start}:{x.stop}" + return f"{x.start}:{x.stop}" # noqa: E231 def prepand( full_key: str, diff --git a/omegaconf/grammar_parser.py b/omegaconf/grammar_parser.py index 6fe59c45d..4f0a3fc4d 100644 --- a/omegaconf/grammar_parser.py +++ b/omegaconf/grammar_parser.py @@ -28,8 +28,8 @@ _id = "[a-zA-Z_][\\w\\-]*" # foo, foo_bar, foo-bar, abc123 _resolver_name = f"({_id}(\\.{_id})*)?" # foo, ns.bar3, ns_1.ns_2.b0z _arg = r"[a-zA-Z_0-9/\-\+.$%*@?|]+" # string representing a resolver argument -_args = f"{_arg}(\\s*,\\s*{_arg})*" # list of resolver arguments -_resolver_inter = f"\\${{\\s*{_resolver_name}\\s*:\\s*{_args}?\\s*}}" # ${foo:bar} +_args = f"{_arg}(\\s*,\\s*{_arg})*" # list of resolver arguments # noqa: E231 +_resolver_inter = f"\\${{\\s*{_resolver_name}\\s*:\\s*{_args}?\\s*}}" # ${foo:bar} # noqa: E231 _inter = f"({_node_inter}|{_resolver_inter})" # any kind of interpolation _outer = "([^$]|\\$(?!{))+" # any character except $ (unless not followed by {) SIMPLE_INTERPOLATION_PATTERN = re.compile( diff --git a/omegaconf/grammar_visitor.py b/omegaconf/grammar_visitor.py index 198bd6b8c..e8679fb63 100644 --- a/omegaconf/grammar_visitor.py +++ b/omegaconf/grammar_visitor.py @@ -251,7 +251,7 @@ def empty_str_warning() -> None: warnings.warn( f"In the sequence `{txt}` some elements are missing: please replace " f"them with empty quoted strings. " - f"See https://github.com/omry/omegaconf/issues/572 for details.", + f"See https://github.com/omry/omegaconf/issues/572 for details.", # noqa: E231 category=UserWarning, ) diff --git a/omegaconf/omegaconf.py b/omegaconf/omegaconf.py index 6dbf2e7b8..db65eca21 100644 --- a/omegaconf/omegaconf.py +++ b/omegaconf/omegaconf.py @@ -372,7 +372,7 @@ def resolver_wrapper( f"to be an interpolation. Nested interpolations are not supported for " f"resolvers registered with `[legacy_]register_resolver()`, please use " f"`register_new_resolver()` instead (see " - f"https://github.com/omry/omegaconf/issues/426 for migration instructions)." + f"https://github.com/omry/omegaconf/issues/426 for migration instructions)." # noqa: E231 ) key = args_str val = cache[key] if key in cache else resolver(*args_unesc) diff --git a/tests/interpolation/built_in_resolvers/test_oc_decode.py b/tests/interpolation/built_in_resolvers/test_oc_decode.py index 65fd93ebf..2cac145b2 100644 --- a/tests/interpolation/built_in_resolvers/test_oc_decode.py +++ b/tests/interpolation/built_in_resolvers/test_oc_decode.py @@ -49,7 +49,7 @@ def test_decode(monkeypatch: Any, value: Optional[str], expected: Any) -> None: { # The node of interest is "node" (others are used to test interpolations). "parent": { - "node": f"${{oc.decode:'{value}'}}", + "node": f"${{oc.decode:'{value}'}}", # noqa: E231 "sibling": 1, }, "uncle": 2, @@ -100,6 +100,6 @@ def test_decode_none() -> None: ], ) def test_decode_error(monkeypatch: Any, value: Any, exc: Any) -> None: - c = OmegaConf.create({"x": f"${{oc.decode:{value}}}"}) + c = OmegaConf.create({"x": f"${{oc.decode:{value}}}"}) # noqa: E231 with exc: c.x diff --git a/tests/test_grammar.py b/tests/test_grammar.py index f4ec78989..3553d0c8a 100644 --- a/tests/test_grammar.py +++ b/tests/test_grammar.py @@ -191,9 +191,9 @@ ), ( "dict_unquoted_key", - rf"{{a0-null-1-3.14-NaN- {TAB}-true-False-{UNQUOTED_SPECIAL}\(\)\[\]\{{\}}\:\=\ \{TAB}\,:0}}", + rf"{{a0-null-1-3.14-NaN- {TAB}-true-False-{UNQUOTED_SPECIAL}\(\)\[\]\{{\}}\:\=\ \{TAB}\,:0}}", # noqa: E231 { - rf"a0-null-1-3.14-NaN- {TAB}-true-False-{UNQUOTED_SPECIAL}()[]{{}}:= {TAB},": 0 + rf"a0-null-1-3.14-NaN- {TAB}-true-False-{UNQUOTED_SPECIAL}()[]{{}}:= {TAB},": 0 # noqa: E231 }, ), ( From 7c281939e82977e57e82de4971023104e169db2b Mon Sep 17 00:00:00 2001 From: Jasha Sommer-Simpson <8935917+Jasha10@users.noreply.github.com> Date: Sun, 19 Jan 2025 21:02:57 +0000 Subject: [PATCH 3/3] blacken grammer_parser.py --- omegaconf/grammar_parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/omegaconf/grammar_parser.py b/omegaconf/grammar_parser.py index 4f0a3fc4d..423a1aeab 100644 --- a/omegaconf/grammar_parser.py +++ b/omegaconf/grammar_parser.py @@ -29,7 +29,9 @@ _resolver_name = f"({_id}(\\.{_id})*)?" # foo, ns.bar3, ns_1.ns_2.b0z _arg = r"[a-zA-Z_0-9/\-\+.$%*@?|]+" # string representing a resolver argument _args = f"{_arg}(\\s*,\\s*{_arg})*" # list of resolver arguments # noqa: E231 -_resolver_inter = f"\\${{\\s*{_resolver_name}\\s*:\\s*{_args}?\\s*}}" # ${foo:bar} # noqa: E231 +_resolver_inter = ( + f"\\${{\\s*{_resolver_name}\\s*:\\s*{_args}?\\s*}}" # ${foo:bar} # noqa: E231 +) _inter = f"({_node_inter}|{_resolver_inter})" # any kind of interpolation _outer = "([^$]|\\$(?!{))+" # any character except $ (unless not followed by {) SIMPLE_INTERPOLATION_PATTERN = re.compile(