From 5f88ec5d015e79cd0cdf54f47c390efba851a7b7 Mon Sep 17 00:00:00 2001 From: Agnia Sergeyuk Date: Tue, 26 May 2026 12:05:37 +0200 Subject: [PATCH] AI-generated possible solution for #634 --- fire/core.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fire/core.py b/fire/core.py index 8e23e76b..100b1f27 100644 --- a/fire/core.py +++ b/fire/core.py @@ -725,6 +725,15 @@ def _ParseFn(args): """Parses the list of `args` into (varargs, kwargs), remaining_args.""" kwargs, remaining_kwargs, remaining_args = _ParseKeywordArgs(args, fn_spec) + # Add environment variable values for args not provided on command line. + all_arg_names = set(fn_spec.args + fn_spec.kwonlyargs) + for arg_name in all_arg_names: + if arg_name not in kwargs: + env_var_name = f"FIRE_{arg_name.upper()}" + env_value = os.environ.get(env_var_name) + if env_value is not None: + kwargs[arg_name] = env_value + # Note: _ParseArgs modifies kwargs. parsed_args, kwargs, remaining_args, capacity = _ParseArgs( fn_spec.args, fn_spec.defaults, num_required_args, kwargs,