From 4ca008f8c01738ec1d3c7a2f95e71f23868340b0 Mon Sep 17 00:00:00 2001 From: Sebastian Muszynski Date: Sat, 27 Jun 2026 17:21:09 +0200 Subject: [PATCH] Fix DeviceGroup compatibility with click >= 8.2.0 click 8.2.0 inserted a new 'commands' positional parameter into MultiCommand.__init__, shifting all subsequent positional args by one. This caused 'chain' (False) to land as 'subcommand_metavar', resulting in a TypeError when click tried to join format pieces. Fix by passing all arguments as keyword args, which is stable across click versions since the parameter names haven't changed. Fixes #2031 --- miio/click_common.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/miio/click_common.py b/miio/click_common.py index 8bafc5b66..a0d25b3ab 100644 --- a/miio/click_common.py +++ b/miio/click_common.py @@ -255,11 +255,11 @@ def __init__( super().__init__( name or device_class.__name__.lower(), - invoke_without_command, - no_args_is_help, - subcommand_metavar, - chain, - result_callback, + invoke_without_command=invoke_without_command, + no_args_is_help=no_args_is_help, + subcommand_metavar=subcommand_metavar, + chain=chain, + result_callback=result_callback, **attrs, )