From 385b7d925bf22938ffdf13bc428933f165d508c4 Mon Sep 17 00:00:00 2001 From: Nguyen Huy Hoang <24520554@gm.uit.edu.vn> Date: Thu, 26 Mar 2026 21:58:08 +0700 Subject: [PATCH 1/2] refactor: accept dotted (module-qualified) type names in parameter annotations Signed-off-by: Nguyen Huy Hoang <181364121+huyhoang171106@users.noreply.github.com> --- papermill/translators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papermill/translators.py b/papermill/translators.py index 1cb43d89..ee0877f6 100644 --- a/papermill/translators.py +++ b/papermill/translators.py @@ -143,7 +143,7 @@ def inspect(cls, parameters_cell): class PythonTranslator(Translator): # Pattern to capture parameters within cell input PARAMETER_PATTERN = re.compile( - r"^(?P\w[\w_]*)\s*(:\s*[\"']?(?P\w[\w_\[\],\s]*)[\"']?\s*)?=\s*(?P.*?)(\s*#\s*(type:\s*(?P[^\s]*)\s*)?(?P.*))?$" + r"^(?P\w[\w_]*)\s*(:\s*[\"']?(?P\w[\w_\[\],\s\.]*)[\"']?\s*)?=\s*(?P.*?)(\s*#\s*(type:\s*(?P[^\s]*)\s*)?(?P.*))?$" ) @classmethod From d8d06b01aa7c617b550e49afb68900011099c0c9 Mon Sep 17 00:00:00 2001 From: Nguyen Huy Hoang <24520554@gm.uit.edu.vn> Date: Thu, 26 Mar 2026 21:58:10 +0700 Subject: [PATCH 2/2] refactor: accept dotted (module-qualified) type names in parameter annotations Signed-off-by: Nguyen Huy Hoang <181364121+huyhoang171106@users.noreply.github.com> --- papermill/tests/test_translators.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/papermill/tests/test_translators.py b/papermill/tests/test_translators.py index 0edc1f07..8ab4b560 100644 --- a/papermill/tests/test_translators.py +++ b/papermill/tests/test_translators.py @@ -82,6 +82,10 @@ def test_translate_comment_python(test_input, expected): "a: List[str] = ['this', 'is', 'a', 'string', 'list'] # Nice variable a", [Parameter("a", "List[str]", "['this', 'is', 'a', 'string', 'list']", "Nice variable a")], ), + ( + "a: datetime.date = '2024-01-01' # Nice variable a", + [Parameter("a", "datetime.date", "'2024-01-01'", "Nice variable a")], + ), ( "a: List[str] = [\n 'this', # First\n 'is',\n 'a',\n 'string',\n 'list' # Last\n] # Nice variable a", # noqa [Parameter("a", "List[str]", "['this','is','a','string','list']", "Nice variable a")],