On Wed, Feb 24, 2021 at 8:39 AM Paul Korir <polaris...@gmail.com> wrote:
> Hi All, > > I've been using the argparse library for a long time and one use case that > repeatedly shows us is the need to have two arguments appear together i.e > either both appear or none of them appear. I'll refer to these as *mutually > inclusive* in contrast to the existing *mutual exclusive* feature present. > I might be wrong but there seems to be no way to enforce this. Of course it > is possible to have two arguments that are *required* but it's not always > the case that they will be needed. > Shooting from the hip here, but this seems like exactly the kind of situation in which the new match-case syntax would be very useful. > > > A more relevant example would be a situation in which you have a set of > mutually exclusive arguments, one of which is a group of arguments. For > example, consider a scenario in which a user is required to enter multiple > related files that share the same file root (excluding the extension). The > program would then infer the various files (co-files) by searching for the > extensions. The first option would have the user only need to provide the > file name root. However, the user may also provide the paths to the various > co-files. In this case, the co-files must occur together but must occur > mutually-exclusively from the file root option. > Another example would be a case in which activating one set of options > implies the need for other options to be simultaneously activated and for > which defaults may not be easily discerned. Quite often the author has to > perform pythonic gymnastics to catch such invalid options, which might be > better handled by the argparse library. > > In evaluating the need for this I've come across the following responses: > > https://stackoverflow.com/questions/15935092/creating-mutually-inclusive-positional-arguments-with-argparse > https://bugs.python.org/issue11588 > https://bugs.python.org/issue23298 > > https://stackoverflow.com/questions/19414060/argparse-required-argument-y-if-x-is-present > https://www.debugcn.com/en/article/57242307.html > https://picocli.info/#_mutually_dependent_options > > I perceive there is a compelling use-case to be addressed here despite an > earlier request being turned down. > > With kind regards, > *Paul* > _______________________________________________ > Python-ideas mailing list -- python-ideas@python.org > To unsubscribe send an email to python-ideas-le...@python.org > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/python-ideas@python.org/message/C3AI2GNYXPTSGGCPTFFI77FQBLMH5GOB/ > Code of Conduct: http://python.org/psf/codeofconduct/ --- Ricky. "I've never met a Kentucky man who wasn't either thinking about going home or actually going home." - Happy Chandler
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/T6YVD4NJ44EM7XHTNCQTV2RJ2P4NVA3A/ Code of Conduct: http://python.org/psf/codeofconduct/