click
click copied to clipboard
Mark parameter as deprecated
Thanks for this great project! Perhaps it's just me who feels that it is rather cumbersome mark a single parameter as deprecated (the closet I found was https://stackoverflow.com/a/50402799). Is there perhaps a more official method to mark a single parameter as deprecated? That would somewhat be similar to https://github.com/pallets/click/issues/1507.
Possible scenarios:
- the parameter was renamed (e.g. a previous version was using
--name
as option, but now a dev want's to make sure it's the--sur-name
. - the parameter is not needed anymore
Perhaps as an example consider:
import click
@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
help='The person to greet.')
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo(f"Hello {name}!")
if __name__ == '__main__':
hello()
and I want to rename --count
to --greetings-count
.
However I don't want to remove --count
instantly, instead when users use --count
prompt a message that they should use the new --greetings-count
. The usage of --count
and --greetings-count
should be forbidden.
Thanks.
I'll work on this
@davidism I just implemented to show the message with --help
.
Is it better to show same message running without --help
?
Hi, @peacock0803sz, what's the status of this issue?
You've linked that PR which has to fix the issue, but it's not clear how exactly - I mean the PR is rather about printing the thing out in help
, right?
Is the more appropriate PR maybe already merged? Or it's not created yet?
edited:
Or rather that PR is only for covering deprecated
attrs when used in custom Option
classes like it is in linked example from SO?