nfdi4cat / voc4cat-tool

A tool for creating and maintaining SKOS-vocabularies with Excel and GitHub.
BSD 3-Clause "New" or "Revised" License
7 stars 1 forks source link

Actions fail with Python 3.12.7 but passed with 3.12.6 #231

Closed dalito closed 1 month ago

dalito commented 1 month ago

The error is raised during argument parsing:

----------------------------- Captured stderr call -----------------------------
usage: voc4cat docs [-h] [-v | -q] [--config CONFIG] [-O DIRECTORY]
                    [-l LOGFILE] [--style {p,y,l,o,d,e}] [--force]
                    VOCAB
voc4cat docs: error: argument --style: invalid choice: 'pylode' (choose from 'p', 'y', 'l', 'o', 'd', 'e')
_______________________________ test_build_docs ________________________________
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:1931: in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:2168: in _parse_known_args
    start_index = consume_optional(start_index)
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:2099: in consume_optional
    take_action(action, args, option_string)
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:1991: in take_action
    argument_values = self._get_values(action, argument_strings)
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:2536: in _get_values
    self._check_value(action, value)
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/argparse.py:2595: in _check_value
    raise ArgumentError(action, msg % args)
E   argparse.ArgumentError: argument --style: invalid choice: 'pylode' (choose from 'p', 'y', 'l', 'o', 'd', 'e')

Did argparse change? Yes, there were several changes: https://docs.python.org/release/3.12.7/whatsnew/changelog.html#python-3-12-7 Most likely, the error is due to stricter handling of choices: https://github.com/python/cpython/pull/124578/