Я решил использовать флаги кликов для решения этой проблемы.
Если присутствовал флаг для устаревшего кода, он выполнялся бы так, как если бы он был устаревшим.Если бы флаг присутствовал для модернизированного кода, он запустил бы код из последней версии.
Редактировать: еще лучше вы можете разбить его на подкоманды:
@click.group(invoke_without_command=False)
@click.pass_context
def cli(ctx):
pass
@cli.command('subcommand_1', short_help='Function does x thing.')
#Arguments/Paramaters
.............
............
............
def subcommand_1:
#Code
#End of funcction
# write another subcommand
# write arguments/options
# define sub command
При вызове команды вы должны сделать:
имя_средства имя_команды имя_команды аргументы /варианты