From 657c526945174174898e588428170017339ca715 Mon Sep 17 00:00:00 2001 From: Edward G Date: Tue, 26 Aug 2025 23:40:50 -0700 Subject: [PATCH 1/8] Rough out the idea of reference tables. --- docs/index.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index a6bcd84166..1d1cbeca0f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -118,11 +118,17 @@ General Reference API Reference ------------------- + +* TODO = Link KWARGS here + + .. toctree:: :maxdepth: 2 + kwarg-reference api + About Project =============== From 957447db5bcbab8ba1ee5567e6b883aff5c53ef0 Mon Sep 17 00:00:00 2001 From: Edward G Date: Tue, 26 Aug 2025 23:46:26 -0700 Subject: [PATCH 2/8] Actually add the idea. --- docs/kwarg-reference.md | 51 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/kwarg-reference.md diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md new file mode 100644 index 0000000000..3c2f2284bf --- /dev/null +++ b/docs/kwarg-reference.md @@ -0,0 +1,51 @@ +(kwarg-refence)= + +# Options and Arguments KeyWord Reference + +```{contents} +:depth: 2 +:local: true +``` + +## Options inherited from Parameter + +```{table} +:align: center + +| Kwarg | basic | multi value | multiple | counting | +| ----- | ----- | ----------- |----------|----------| +| default | Yes | Note 1 | ? | | +| type | ? | | | | +``` +Note 1: + +## Options from class + +```{table} +:align: center + +| Kwarg | basic | multi value | multiple | counting | +| ----- | ----- | ----------- |----------|----------| +| default | Yes | Note | ? | | +``` + +## Arguments inherited from Parameter + +```{table} +:align: center + +| Kwarg | basic | multi value | multiple | counting | +| ----- | ----- | ----------- |----------|----------| +| default | Yes | Note | ? | | +| type | ? | | | | +``` + +## Arguments from class + +```{table} +:align: center + +| Kwarg | basic | multi value | multiple | counting | +| ----- | ----- | ----------- |----------|----------| +| default | Yes | Note | ? | | +``` From 0d25257d70bbc8a8de68aba51463d53bac07d03d Mon Sep 17 00:00:00 2001 From: Edward G Date: Thu, 28 Aug 2025 22:27:10 -0700 Subject: [PATCH 3/8] type row up to counting. --- docs/kwarg-reference.md | 60 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index 3c2f2284bf..3f2235f0b8 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -7,17 +7,69 @@ :local: true ``` +Answers the question, is the keyword argument (kwarg) applicable +N + ## Options inherited from Parameter ```{table} :align: center -| Kwarg | basic | multi value | multiple | counting | -| ----- | ----- | ----------- |----------|----------| -| default | Yes | Note 1 | ? | | -| type | ? | | | | +| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | flag| +| ---------| ----- | ----------- |----------|----------|---------|------------|-----| +| type | Yes | Note 1 | Note 1 |No, NW | | | | +| type | ? | | | | | | | +| default | Yes | Note 1 | ? | | | | | + ``` +NW: No warn. Click does not stop you. +Note 1: Specify the type of arg not them as group +Note + Note 1: +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', nargs=2, type=str) + def echo(echos): + click.echo(echos) + + +.. click:run:: + + invoke(echo, args=['--echos', '2', '2']) +``` + +type x multiple +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', multiple=True, type=str) + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=['--echos', '2', '--echos', '2']) +``` + +type x counting +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', count=True,) + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=['--echos', '--echos', ]) +``` + + ## Options from class From 91b0192f09a75bab8e8032e03033d291a0c20554 Mon Sep 17 00:00:00 2001 From: Edward G Date: Tue, 2 Sep 2025 00:24:21 -0700 Subject: [PATCH 4/8] Almost finish default row. --- docs/kwarg-reference.md | 73 +++++++++++++++++++++++++++++++++++------ 1 file changed, 63 insertions(+), 10 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index 3f2235f0b8..0094fdd1b5 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -7,7 +7,7 @@ :local: true ``` -Answers the question, is the keyword argument (kwarg) applicable +Answers the question, is the keyword argument (kwarg) expressive N ## Options inherited from Parameter @@ -15,16 +15,27 @@ N ```{table} :align: center -| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | flag| -| ---------| ----- | ----------- |----------|----------|---------|------------|-----| -| type | Yes | Note 1 | Note 1 |No, NW | | | | -| type | ? | | | | | | | -| default | Yes | Note 1 | ? | | | | | +| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | +| ---------| ----- | ----------- |-------------|------------|------------|--------------|-----| +| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | +| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5? | | +| default | Yes | Note 1 | ? | | | | | ``` -NW: No warn. Click does not stop you. -Note 1: Specify the type of arg not them as group -Note + + +Notes: +1. Specify the type of arg not them as group +1. The type is set implicitly, and there is only 1 right value, int. NW. +1. The type is set implicitly, and there is only 1 right value, bool. NW. +4. The value must have arity equal to args value. + +Abbreviations: +* NW: No warn. Click does not stop you. + +Terms: +* [arity](https://en.wikipedia.org/wiki/Arity) + Note 1: ```{eval-rst} @@ -36,6 +47,21 @@ Note 1: click.echo(echos) +.. click:run:: + + invoke(echo, args=['--echos', '2', '2']) +``` + +Note 4: +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', nargs=2, default=('p', 'y')) + def echo(echos): + click.echo(echos) + + .. click:run:: invoke(echo, args=['--echos', '2', '2']) @@ -46,7 +72,7 @@ type x multiple .. click:example:: @click.command() - @click.option('--echos', multiple=True, type=str) + @click.option('--echos', multiple=True) def echo(echos): click.echo(echos) @@ -69,6 +95,33 @@ type x counting invoke(echo, args=['--echos', '--echos', ]) ``` +type x boolean +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', is_flag=True, type=int) + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=['--echos']) +``` + +default x counting +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos', count=True, default=2) + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=[ ]) +``` ## Options from class From 41a9346815c7f9b40efcd1bb03065aa74121ab9b Mon Sep 17 00:00:00 2001 From: Edward G Date: Tue, 2 Sep 2025 23:15:04 -0700 Subject: [PATCH 5/8] Finish required kwarg. --- docs/kwarg-reference.md | 47 +++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index 0094fdd1b5..55c1b9137b 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -15,11 +15,13 @@ N ```{table} :align: center -| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | -| ---------| ----- | ----------- |-------------|------------|------------|--------------|-----| -| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | -| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5? | | -| default | Yes | Note 1 | ? | | | | | +| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | +| ---------| ----- | ----------- |-------------|------------|-------------------|--------------|-----| +| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | +| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | +| required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | +| callback | Yes | Yes | Yes | Yes | | | | + ``` @@ -27,11 +29,14 @@ N Notes: 1. Specify the type of arg not them as group 1. The type is set implicitly, and there is only 1 right value, int. NW. -1. The type is set implicitly, and there is only 1 right value, bool. NW. -4. The value must have arity equal to args value. +3. The type is set implicitly, and there is only 1 right value, bool. NW. +1. The value must have arity equal to args value. +1. In addition to normal usage, default may be used to indicate which of the flag values is default, by `default = True`. +6. In the simple `is_flag=True`, no. In the `--flag/--no-flag`, yes indicating you must select one. Abbreviations: * NW: No warn. Click does not stop you. +* Boolean 1. Simple is_flag=True Terms: * [arity](https://en.wikipedia.org/wiki/Arity) @@ -123,6 +128,34 @@ default x counting invoke(echo, args=[ ]) ``` +required x boolean +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echos/--no-echos', is_flag=True, required=True, ) + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=['--no-echos']) +``` + +required x flag value +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--present', 'echos', is_flag=True, flag_value='present', required=True) + @click.option('--past', 'echos', is_flag=True, flag_value='past') + def echo(echos): + click.echo(echos) + +.. click:run:: + + invoke(echo, args=[]) +``` ## Options from class From a668d4063bba0534d701e6610173f42115553882 Mon Sep 17 00:00:00 2001 From: Edward G Date: Wed, 3 Sep 2025 22:59:36 -0700 Subject: [PATCH 6/8] Add callback, nargs, metavar --- docs/kwarg-reference.md | 120 ++++++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 35 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index 55c1b9137b..d611351ef1 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -7,8 +7,9 @@ :local: true ``` -Answers the question, is the keyword argument (kwarg) expressive -N +The table answers the question, is the keyword argument (kwarg) expressive. +Along the top is situations. Right now some are just kwargs hopefully they all +get proper names. ## Options inherited from Parameter @@ -20,7 +21,11 @@ N | type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | | default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | | required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | -| callback | Yes | Yes | Yes | Yes | | | | +| callback | Yes | Yes | Yes | Yes, Note 7| Yes, Note 7 | Yes, Note 7 | | +| nargs | - | - | - | - | - | - | | +| metavar | Yes | Yes | Yes | Yes | Yes | Yes | | +| expose_value | - | - | - | - | - | - | | +| nargs | - | - | - | - | - | - | | ``` @@ -33,10 +38,11 @@ Notes: 1. The value must have arity equal to args value. 1. In addition to normal usage, default may be used to indicate which of the flag values is default, by `default = True`. 6. In the simple `is_flag=True`, no. In the `--flag/--no-flag`, yes indicating you must select one. +1. Only use case (that I can think of) is multiple parameter dependent validation Abbreviations: * NW: No warn. Click does not stop you. -* Boolean 1. Simple is_flag=True + Terms: * [arity](https://en.wikipedia.org/wiki/Arity) @@ -47,14 +53,14 @@ Note 1: .. click:example:: @click.command() - @click.option('--echos', nargs=2, type=str) - def echo(echos): - click.echo(echos) + @click.option('--echoes', nargs=2, type=str) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--echos', '2', '2']) + invoke(echo, args=['--echoes', '2', '2']) ``` Note 4: @@ -62,14 +68,14 @@ Note 4: .. click:example:: @click.command() - @click.option('--echos', nargs=2, default=('p', 'y')) - def echo(echos): - click.echo(echos) + @click.option('--echoes', nargs=2, default=('p', 'y')) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--echos', '2', '2']) + invoke(echo, args=['--echoes', '2', '2']) ``` type x multiple @@ -77,13 +83,13 @@ type x multiple .. click:example:: @click.command() - @click.option('--echos', multiple=True) - def echo(echos): - click.echo(echos) + @click.option('--echoes', multiple=True) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--echos', '2', '--echos', '2']) + invoke(echo, args=['--echoes', '2', '--echoes', '2']) ``` type x counting @@ -91,13 +97,13 @@ type x counting .. click:example:: @click.command() - @click.option('--echos', count=True,) - def echo(echos): - click.echo(echos) + @click.option('--echoes', count=True,) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--echos', '--echos', ]) + invoke(echo, args=['--echoes', '--echoes', ]) ``` type x boolean @@ -105,13 +111,13 @@ type x boolean .. click:example:: @click.command() - @click.option('--echos', is_flag=True, type=int) - def echo(echos): - click.echo(echos) + @click.option('--echoes', is_flag=True, type=int) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--echos']) + invoke(echo, args=['--echoes']) ``` default x counting @@ -119,9 +125,9 @@ default x counting .. click:example:: @click.command() - @click.option('--echos', count=True, default=2) - def echo(echos): - click.echo(echos) + @click.option('--echoes', count=True, default=2) + def echo(echoes): + click.echo(echoes) .. click:run:: @@ -133,13 +139,13 @@ required x boolean .. click:example:: @click.command() - @click.option('--echos/--no-echos', is_flag=True, required=True, ) - def echo(echos): - click.echo(echos) + @click.option('--echoes/--no-echoes', is_flag=True, required=True, ) + def echo(echoes): + click.echo(echoes) .. click:run:: - invoke(echo, args=['--no-echos']) + invoke(echo, args=['--no-echoes']) ``` required x flag value @@ -147,16 +153,60 @@ required x flag value .. click:example:: @click.command() - @click.option('--present', 'echos', is_flag=True, flag_value='present', required=True) - @click.option('--past', 'echos', is_flag=True, flag_value='past') - def echo(echos): - click.echo(echos) + @click.option('--present', 'echoes', is_flag=True, flag_value='present', required=True) + @click.option('--past', 'echoes', is_flag=True, flag_value='past') + def echo(echoes): + click.echo(echoes) .. click:run:: invoke(echo, args=[]) ``` +callback x counting +```{eval-rst} +.. click:example:: + + def validate_count(ctx, param, value): + print(f"validation: {value}" ) + return value + + @click.command() + @click.option('--echoes', count=True, callback=validate_count) + def echo(echoes): + click.echo(echoes) + +.. click:run:: + + invoke(echo, args=[ '--echoes']) +``` + +metavar x nargs >= 2 +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echoes', nargs=2,) + def echo(echoes): + click.echo(echoes) + +.. click:run:: + invoke(echo, args=['--help', ]) +``` + +metavar x multiple +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echoes', multiple=True, metavar='meta') + def echo(echoes): + click.echo(echoes) + +.. click:run:: + invoke(echo, args=['--help', ]) + invoke(echo, args=['--echoes', '2', '--echoes', '2']) +``` ## Options from class ```{table} From fab8a19d9b8098fa93beae5f9aef730804d66188 Mon Sep 17 00:00:00 2001 From: Edward G Date: Wed, 1 Oct 2025 23:33:38 -0700 Subject: [PATCH 7/8] Add more rows to options inherited from parameters --- docs/kwarg-reference.md | 70 ++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 11 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index d611351ef1..352c49f0c5 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -16,17 +16,18 @@ get proper names. ```{table} :align: center -| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | -| ---------| ----- | ----------- |-------------|------------|-------------------|--------------|-----| -| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | -| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | -| required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | -| callback | Yes | Yes | Yes | Yes, Note 7| Yes, Note 7 | Yes, Note 7 | | -| nargs | - | - | - | - | - | - | | -| metavar | Yes | Yes | Yes | Yes | Yes | Yes | | -| expose_value | - | - | - | - | - | - | | -| nargs | - | - | - | - | - | - | | - +| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | +| -------------| ---------- | ----------- |-------------|------------|-------------------|--------------|-----| +| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | +| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | +| required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | +| callback | Yes | Yes | Yes | Yes, Note 7| Yes, Note 7 | Yes, Note 7 | | +| nargs | - | - | - | - | - | - | | +| metavar | Yes | Yes | Yes | Yes | Yes | Yes | | +| expose_value | Yes | Yes | Yes | Yes | Yes | Yes | | +| nargs | No, Note 8 | Yes | Yes | No, Note 9 | No, Note 10 | Yes, Note 11 | | +| is_eager | Yes | Yes | Yes | Yes | Yes | Yes | | +| envvar | Yes | Yes | Yes | Yes | No | Yes | | ``` @@ -39,6 +40,10 @@ Notes: 1. In addition to normal usage, default may be used to indicate which of the flag values is default, by `default = True`. 6. In the simple `is_flag=True`, no. In the `--flag/--no-flag`, yes indicating you must select one. 1. Only use case (that I can think of) is multiple parameter dependent validation +1. The type is set implicitly, and there is only 1 right value, 1 +9. Breaks but produces a weird error. +1. Breaks but produces a weird error. +1. Works, but I think not in the expected way Abbreviations: * NW: No warn. Click does not stop you. @@ -78,6 +83,48 @@ Note 4: invoke(echo, args=['--echoes', '2', '2']) ``` +Note 9 +nargs x counting +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echoes', nargs=2, count=True) + def echo(echoes): + click.echo(echoes) + +.. click:run:: + invoke(echo, args=['--echoes', '1', '2']) +``` + +Note 10 +nargs x boolean +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echoes', nargs=2, is_flag=True) + def echo(echoes): + click.echo(echoes) + +.. click:run:: + invoke(echo, args=['--echoes', '1', '2']) +``` + +Note 11 +nargs x boolean +```{eval-rst} +.. click:example:: + + @click.command() + @click.option('--echoes', nargs=2, flag_value=(True, True)) + def echo(echoes): + click.echo(echoes) + +.. click:run:: + invoke(echo, args=['--echoes', ]) +``` + type x multiple ```{eval-rst} .. click:example:: @@ -207,6 +254,7 @@ metavar x multiple invoke(echo, args=['--help', ]) invoke(echo, args=['--echoes', '2', '--echoes', '2']) ``` + ## Options from class ```{table} From 2beb77cd0da6e875353d593ee6d45b6504a67417 Mon Sep 17 00:00:00 2001 From: Edward G Date: Thu, 2 Oct 2025 23:03:50 -0700 Subject: [PATCH 8/8] Finish arguments. --- docs/kwarg-reference.md | 56 +++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/docs/kwarg-reference.md b/docs/kwarg-reference.md index 352c49f0c5..fa12fe084d 100644 --- a/docs/kwarg-reference.md +++ b/docs/kwarg-reference.md @@ -16,19 +16,20 @@ get proper names. ```{table} :align: center -| Kwarg | basic | nargs >= 2 | multiple | counting | boolean | flag value | ? | -| -------------| ---------- | ----------- |-------------|------------|-------------------|--------------|-----| -| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | -| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | -| required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | -| callback | Yes | Yes | Yes | Yes, Note 7| Yes, Note 7 | Yes, Note 7 | | -| nargs | - | - | - | - | - | - | | -| metavar | Yes | Yes | Yes | Yes | Yes | Yes | | -| expose_value | Yes | Yes | Yes | Yes | Yes | Yes | | -| nargs | No, Note 8 | Yes | Yes | No, Note 9 | No, Note 10 | Yes, Note 11 | | -| is_eager | Yes | Yes | Yes | Yes | Yes | Yes | | -| envvar | Yes | Yes | Yes | Yes | No | Yes | | - +| Kwarg | single arg | nargs >= 2 | multiple | counting | boolean | flag value | ? | +| ---------------| ---------- | ----------- |-------------|------------|-------------------|--------------|-----| +| type | Yes | Yes, Note 1 | Yes, Note 1 | No, Note 2 | No, Note 3 | Yes | | +| required | Yes | Yes | Yes | Yes | Sometimes, Note 6 | No | | +| default | Yes | Yes, Note 4 | Yes, Note 4 | Yes | Yes | Yes, Note 5 | | +| callback | Yes | Yes | Yes | Yes, Note 7| Yes, Note 7 | Yes, Note 7 | | +| nargs | Defines | Defines | Yes | No, Note 9 | No, Note 10 | Yes, Note 11 | | +| metavar | Yes | Yes | Yes | Yes | Yes | Yes | | +| expose_value | Yes | Yes | Yes | Yes | Yes | Yes | | +| is_eager | Yes | Yes | Yes | Yes | Yes | Yes | | +| envvar | Yes | Yes | Yes | Yes | Yes | Yes | | +| shell complete | Yes | Yes | Yes | Yes | Yes | Yes | | +| deprecated | Yes | Yes | Yes | Yes | No | Yes | | +| multiple | Yes | Yes | Defines | No | No | No | | ``` @@ -47,6 +48,7 @@ Notes: Abbreviations: * NW: No warn. Click does not stop you. +* Defines: Sets situation Terms: @@ -270,18 +272,18 @@ metavar x multiple ```{table} :align: center -| Kwarg | basic | multi value | multiple | counting | -| ----- | ----- | ----------- |----------|----------| -| default | Yes | Note | ? | | -| type | ? | | | | -``` - -## Arguments from class - -```{table} -:align: center - -| Kwarg | basic | multi value | multiple | counting | -| ----- | ----- | ----------- |----------|----------| -| default | Yes | Note | ? | | +| Kwarg | single arg | nargs >= 2 | nargs == -1 | Placeholder| Placeholder | +| ---------------| ---------- | ----------- |-------------|------------|-------------------| +| type | Yes | Yes, | Yes | - | - | +| required | Yes | Yes | Yes | - | - | +| default | Yes | Yes | Yes | - | - | +| callback | Yes | Yes | Yes | - | - | +| nargs | Defines | Defines | Defines | - | - | +| metavar | Yes | Yes | Yes | - | - | +| expose_value | Yes | Yes | Yes | - | - | +| is_eager | No | No | No | - | - | +| envvar | Yes | Yes | Yes | - | - | +| shell complete | Yes | Yes | Yes | - | - | +| deprecated | Yes | Yes | Yes | - | - | +| multiple | No | No | No | - | - | ```