CLI Analyser

Overview

Tracks argparse or click command-line interfaces through static analysis.

Dependencies

None

Statically analyses code; click needed only for click-based projects

Enable/Disable

bumpwright --enable-analyser cli
bumpwright --disable-analyser cli
[analysers]
cli = true  # set to false to disable

See also

For configuration options, see concepts/configuration#analysers.

Severity Rules

Change

Bump

Added command

minor

Removed command

major

Added optional option

minor

Added required option

major

Removed optional option

minor

Removed required option

major

Option became optional

minor

Option became required

major

Example

@@
@click.command()
  • def greet(name):

  • @click.option(”–force”, required=True)

  • def greet(name, force):

Output

- [MAJOR] greet: Added required option '--force'