click icon indicating copy to clipboard operation
click copied to clipboard

Mark parameter as deprecated

Open stmlange opened this issue 2 years ago • 4 comments

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.

stmlange avatar Apr 28 '22 18:04 stmlange

I'll work on this

peacock0803sz avatar May 02 '22 18:05 peacock0803sz

@davidism I just implemented to show the message with --help. Is it better to show same message running without --help?

peacock0803sz avatar May 02 '22 20:05 peacock0803sz

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?

adam-tokarski avatar Sep 30 '22 13:09 adam-tokarski