Migrate command line tool from commandline to Click
Migrating to https://github.com/pallets/click as Debian Buster does not include `python3-commandlines`. Choosed `python3-click` which is very popular and seems a good tool from my point of view. - [commandline](https://github.com/chrissimpkins/commandlines) is not very maintained - Migrate to [Click](https://click.palletsprojects.com/en/7.x/) - [Pipenv implementation](https://github.com/pypa/pipenv/tree/master/pipenv/cli) to get some inspiration ### Migration steps - [x] Dependencies updates: rm commandlines, add click: Update `README.md` links, `setup.py`, and `Pipfiles` - [x] Asyncio handling: [click issue asyncio](https://github.com/pallets/click/issues/85), [click PR asyncio handling](https://github.com/pallets/click/pull/938), [checks-buildkite-plugin](https://github.com/uw-ipd/github-checks-buildkite-plugin/blob/master/ghapp/ghapp/cli.py), [abot](https://github.com/txomon/abot/blob/master/abot/cli.py), [msbot](https://github.com/txomon/mosbot/blob/master/mosbot/command.py) - [x] blocks: - [x] [(default=0, show_default=True)](https://click.palletsprojects.com/en/7.x/options/#basic-value-options) `show_default` only available for the option. - [x] blocks: [`IntRange`](https://click.palletsprojects.com/en/7.x/options/#ranges) (min 0, max 5.000 BMA limit) - [x] tx: #131: [`FloatRange`](https://click.palletsprojects.com/en/7.x/parameters/#parameter-types) (min 0.01 for Ğ1, Ğ1-test?) - [x] [implement `-h` (only works on root, not for sub-cmd) and `-v`](https://click.palletsprojects.com/en/7.x/api/#click.version_option) ### Breaking changes - [x] two sub-commands not possible for the same no longer possible - Removal of long sub-commands `certification`, `transaction`, `network`, `identities` - [x] `-h` only works on the program name but no longer for sub-commands - [x] remove `usage` command which can now be found with `--help` - [x] Scrpyt parameters: `-n`, `-r`, `-p` to `--nrp 4096,16,1` - [x] `blocks`: - [x] `--nbr/-n` option Debian 0.6.5, as an argument in 0.7 (and 0 as default value) - [x] option name: `--last` —> `--detailed/-d` - [x] Position of global options before sub-cmd: `--gtest`, `--peer`, `--auth-*` - [x] #167: rename `amount` to `balance` - [x] `amount`/`balance`: pubkeys separation: `:` –> ` ` (space) - [x] Rename `generate_auth_file` to `authfile` - [x] Add smaller option for `--auth-*`: `--scrypt`, `-af`, `--seed`, `--wif` ### Fixes #123, #117, #76, #67 ### To be done for the announcement - [ ] Explain breaking changes in v0.7 announcement
issue