DHARPA-Project / kiara

Data orchestration and management.
Mozilla Public License 2.0
11 stars 2 forks source link

`--help` doesn't work consistently for `kiara run` #72

Open makkus opened 6 months ago

makkus commented 6 months ago

If there are insufficient inputs for a run command, the help doesn't display all the other cli args that are allowed:

❯ kiara run logic.xor --help

╭─ Run info: logic.xor ────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                          │
│ Can't run operation: invalid or insufficient input(s)                                                    │
│                                                                                                          │
│ ──────────────────────────────────────────────────────────────────────────────────────────────────────── │
│                                                                                                          │
│ Operation: logic.xor                                                                                     │
│                                                                                                          │
│ Returns 'True' if exactly one of it's two inputs is 'True'.                                              │
│                                                                                                          │
│ Inputs:                                                                                                  │
│                                                                                                          │
│   field name   status    type      description                              required   default           │
│  ──────────────────────────────────────────────────────────────────────────────────────────────          │
│   a            not set   boolean   A boolean describing this input state.   yes                          │
│   b            not set   boolean   A boolean describing this input state.   yes                          │
│                                                                                                          │
│                                                                                                          │
│ Outputs:                                                                                                 │
│                                                                                                          │
│   field name   type      description                                                                     │
│  ──────────────────────────────────────────────────────────────────────────────────────────────────────  │
│   y            boolean   A boolean describing the module output state.                                   │
│                                                                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Should be:

❯ kiara run logic.xor a=true b=true --help

 Usage: kiara run [OPTIONS] logic.xor [INPUTS]                                                              

 Returns 'True' if exactly one of it's two inputs is 'True'.                                                

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --module-config     -c  TEXT  (Optional) module configuration, only valid when run target is a module    │
│                               name.                                                                      │
│ --explain           -e        Display information about the selected operation and exit.                 │
│ --output            -o  TEXT  The output format and configuration.                                       │
│ --comment           -c  TEXT  Add comment metadata to the job you run.                                   │
│ --save              -s  TEXT  Save one or several of the outputs of this run. If the argument contains a │
│                               '=', the format is =, if not, the values will be saved as '-'.             │
│ --print-properties  -p        Also display the properties of the result values.                          │
│ --help              -h        Show this message and exit.                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Inputs ─────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                          │
│   field name   status   type      description                              required   default            │
│  ─────────────────────────────────────────────────────────────────────────────────────────────           │
│   a            valid    boolean   A boolean describing this input state.   yes                           │
│   b            valid    boolean   A boolean describing this input state.   yes                           │
│                                                                                                          │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯