From ff57c738fb8ede88f0b0702c60e6dcc78e10ddf3 Mon Sep 17 00:00:00 2001 From: Kunal Bhalla Date: Fri, 20 Jun 2025 16:48:13 -0400 Subject: [PATCH 1/2] Remove keyword argument to getattr getattr doesn't support keyword arguments for recent python versions at least. ``` for p in 3.10 3.11 3.12 3.13 3.14; do echo "Python $p"; uv run --python $p test.py; echo; done Python 3.10 Traceback (most recent call last): File "/home/kunalb/rough/2025/06/20/test.py", line 1, in getattr(1, 'a', default=None) TypeError: getattr() takes no keyword arguments Python 3.11 Traceback (most recent call last): File "/home/kunalb/rough/2025/06/20/test.py", line 1, in getattr(1, 'a', default=None) TypeError: getattr() takes no keyword arguments Python 3.12 Traceback (most recent call last): File "/home/kunalb/rough/2025/06/20/test.py", line 1, in getattr(1, 'a', default=None) TypeError: getattr() takes no keyword arguments Python 3.13 Traceback (most recent call last): File "/home/kunalb/rough/2025/06/20/test.py", line 1, in getattr(1, 'a', default=None) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: getattr() takes no keyword arguments Python 3.14 Traceback (most recent call last): File "/home/kunalb/rough/2025/06/20/test.py", line 1, in getattr(1, 'a', default=None) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: getattr() takes no keyword arguments ``` --- varlink/server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/varlink/server.py b/varlink/server.py index c0fd176..bab3a42 100644 --- a/varlink/server.py +++ b/varlink/server.py @@ -182,7 +182,7 @@ def _handle(self, message, raw_message, _server=None, _request=None): if self._namespaced: # FIXME: check for Maybe before taking None as default value out = func( - *(getattr(parameters, k, default=None) for k in method.in_type.fields.keys()), **kwargs + *(getattr(parameters, k, None) for k in method.in_type.fields.keys()), **kwargs ) else: # FIXME: check for Maybe before taking None as default value From b158adfac27b430e91f49dd64a9029b232ee151c Mon Sep 17 00:00:00 2001 From: kunalb Date: Mon, 23 Jun 2025 19:24:03 -0400 Subject: [PATCH 2/2] Ruff --- varlink/server.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/varlink/server.py b/varlink/server.py index bab3a42..03e7259 100644 --- a/varlink/server.py +++ b/varlink/server.py @@ -181,9 +181,7 @@ def _handle(self, message, raw_message, _server=None, _request=None): if self._namespaced: # FIXME: check for Maybe before taking None as default value - out = func( - *(getattr(parameters, k, None) for k in method.in_type.fields.keys()), **kwargs - ) + out = func(*(getattr(parameters, k, None) for k in method.in_type.fields.keys()), **kwargs) else: # FIXME: check for Maybe before taking None as default value out = func(*(parameters.get(k) for k in method.in_type.fields.keys()), **kwargs)