From ad21da8740ddb02e7492bee366a938f5d58a5fa7 Mon Sep 17 00:00:00 2001 From: Fiddle-Config Team Date: Tue, 21 Jul 2026 14:12:43 -0700 Subject: [PATCH] Allow empty string keys in daglish path parsing PiperOrigin-RevId: 951692329 --- fiddle/_src/daglish_extensions.py | 2 +- fiddle/_src/daglish_extensions_test.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fiddle/_src/daglish_extensions.py b/fiddle/_src/daglish_extensions.py index 4f37ab4e..b0362de1 100644 --- a/fiddle/_src/daglish_extensions.py +++ b/fiddle/_src/daglish_extensions.py @@ -122,7 +122,7 @@ def is_unshareable(value: Any) -> bool: "|".join([ r"\.(?P[\w_]+)", # future improvement: support escape sequences. - r"\[(?P-?\d+|'[^']+'|\"[^\"]+\")\]", + r"\[(?P-?\d+|'[^']*'|\"[^\"]*\")\]", ]) ) ) diff --git a/fiddle/_src/daglish_extensions_test.py b/fiddle/_src/daglish_extensions_test.py index 8ac5a1c1..32509f16 100644 --- a/fiddle/_src/daglish_extensions_test.py +++ b/fiddle/_src/daglish_extensions_test.py @@ -102,6 +102,14 @@ def fn(x: int) -> int: daglish.Attr("foo"), ), }, + { + "path": "['']", + "expected": (daglish.Key(""),), + }, + { + "path": '[""]', + "expected": (daglish.Key(""),), + }, ) def test_parse_path(self, path, expected): actual = daglish_extensions.parse_path(path)