Error with verdi archive create --help

Hello.

I’m getting this error when doing “verdi archive create -h” (but all good if I do “verdi archive -h”). Do you know why? Maybe it is useful to report. I’m using AiiDA v2.6.3.

verdi archive create --help
Traceback (most recent call last):
File “/home/cignarella/.conda/envs/aiida2/bin/verdi”, line 8, in
sys.exit(verdi())
^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1442, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1363, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1830, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1828, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1186, in make_context
self.parse_args(ctx, args)
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/aiida/cmdline/groups/verdi.py”, line 113, in parse_args
return super().parse_args(ctx, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1197, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 2416, in handle_parse_result
value = self.process_value(ctx, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 2355, in process_value
value = self.callback(ctx, self, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/decorators.py”, line 539, in show_help
echo(ctx.get_help(), color=ctx.color)
^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 730, in get_help
return self.command.get_help(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1064, in get_help
self.format_help(ctx, formatter)
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1104, in format_help
self.format_options(ctx, formatter)
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 1135, in format_options
rv = param.get_help_record(ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 2795, in get_help_record
rv = [_write_opts(self.opts)]
^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 2791, in _write_opts
rv += f" {self.make_metavar(ctx=ctx)}"
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/cignarella/.conda/envs/aiida2/lib/python3.12/site-packages/click/core.py”, line 2212, in make_metavar
metavar = self.type.get_metavar(param=self, ctx=ctx)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: MultipleValueParamType.get_metavar() got an unexpected keyword argument ‘ctx’

Best,

Chiara

Hi @ccigna,

this looks like an issue with the new version of click package that is used in the verdi interface. You can confirm that by running pip show click. If you see version 8.2, that’s the version that does not currently work.

If you install aiida-core 2.6.4, it should automatically reinstall the clickpackage back to version 8.1. Or you can reinstall older version of click manually by running something like

pip install click~=8.1.0

For reference, this is the tracking issue:

1 Like

We should really pin click to a minor release. They intentionally break the API in minor releases as they don’t follow semver. So this is happening each time they release a new minor version

1 Like

Agreed, this is exactly what I am proposing in

(We’re already pinned on main and on 2.7 versions)

@ccigna have you been able to resolve your issue?

1 Like