From d25574252b8281ad2d3bb166c72fdf564e9caafe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 10 Mar 2020 18:37:36 +0100 Subject: [PATCH 1/5] :arrow_up: Upgrade required Click to 7.1.1 and pin it to patch versions as a MINOR version broke compatibility, so I'll have to upgrade manually every time --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ff60d8c76d..b28aeb2fc5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ "License :: OSI Approved :: MIT License" ] requires = [ - "click >= 7.0.0, <8.0.0" + "click == 7.1.1" ] description-file = "README.md" requires-python = ">=3.6" From e790ea483e65ca74fe221cce55cc88422304b2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 10 Mar 2020 18:40:32 +0100 Subject: [PATCH 2/5] :pushpin: Fix pinning Click to MINOR version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b28aeb2fc5..2d8520957b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ classifiers = [ "License :: OSI Approved :: MIT License" ] requires = [ - "click == 7.1.1" + "click >= 7.1.1, <7.2.0" ] description-file = "README.md" requires-python = ">=3.6" From 4b623a30e8bf1f34b9cd17940f72689f09a1715a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 10 Mar 2020 18:40:58 +0100 Subject: [PATCH 3/5] :sparkles: Upgrade code to be compatible with latest Click changes --- typer/main.py | 3 +++ typer/models.py | 2 ++ typer/testing.py | 2 -- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/typer/main.py b/typer/main.py index b90bbd4302..5217633107 100644 --- a/typer/main.py +++ b/typer/main.py @@ -141,6 +141,7 @@ def command( short_help: Optional[str] = None, options_metavar: str = "[OPTIONS]", add_help_option: bool = True, + no_args_is_help: bool = False, hidden: bool = False, deprecated: bool = False, ) -> Callable[[CommandFunctionType], CommandFunctionType]: @@ -159,6 +160,7 @@ def decorator(f: CommandFunctionType) -> CommandFunctionType: short_help=short_help, options_metavar=options_metavar, add_help_option=add_help_option, + no_args_is_help=no_args_is_help, hidden=hidden, deprecated=deprecated, ) @@ -437,6 +439,7 @@ def get_command_from_info(command_info: CommandInfo) -> click.Command: short_help=command_info.short_help, options_metavar=command_info.options_metavar, add_help_option=command_info.add_help_option, + no_args_is_help=command_info.no_args_is_help, hidden=command_info.hidden, deprecated=command_info.deprecated, ) diff --git a/typer/models.py b/typer/models.py index 9464afc53d..b0bf9d0dee 100644 --- a/typer/models.py +++ b/typer/models.py @@ -88,6 +88,7 @@ def __init__( short_help: Optional[str] = None, options_metavar: str = "[OPTIONS]", add_help_option: bool = True, + no_args_is_help: bool = False, hidden: bool = False, deprecated: bool = False, ): @@ -100,6 +101,7 @@ def __init__( self.short_help = short_help self.options_metavar = options_metavar self.add_help_option = add_help_option + self.no_args_is_help = no_args_is_help self.hidden = hidden self.deprecated = deprecated diff --git a/typer/testing.py b/typer/testing.py index 88cd83dc6b..504bfa3f80 100644 --- a/typer/testing.py +++ b/typer/testing.py @@ -13,7 +13,6 @@ def invoke( # type: ignore env: Optional[Mapping[str, str]] = None, catch_exceptions: bool = True, color: bool = False, - mix_stderr: bool = False, **extra: Any, ) -> Result: use_cli = _get_command(app) @@ -24,6 +23,5 @@ def invoke( # type: ignore env=env, catch_exceptions=catch_exceptions, color=color, - mix_stderr=mix_stderr, **extra, ) From 83e78e82dc3d44c37c64ae8de8e0e89219ac9fbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 10 Mar 2020 18:41:52 +0100 Subject: [PATCH 4/5] :white_check_mark: Update tests with new format for errors --- tests/test_tutorial/test_arguments/test_tutorial001.py | 2 +- .../test_commands/test_index/test_tutorial001.py | 2 +- tests/test_tutorial/test_first_steps/test_tutorial002.py | 2 +- tests/test_tutorial/test_first_steps/test_tutorial003.py | 2 +- .../test_options/test_required/test_tutorial002.py | 2 +- .../test_parameter_types/test_datetime/test_tutorial001.py | 2 +- .../test_parameter_types/test_enum/test_tutorial001.py | 2 +- .../test_parameter_types/test_index/test_tutorial001.py | 2 +- .../test_parameter_types/test_number/test_tutorial001.py | 6 +++--- .../test_parameter_types/test_number/test_tutorial002.py | 2 +- .../test_parameter_types/test_path/test_tutorial002.py | 4 ++-- .../test_parameter_types/test_uuid/test_tutorial001.py | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/test_tutorial/test_arguments/test_tutorial001.py b/tests/test_tutorial/test_arguments/test_tutorial001.py index 668e657f62..3a5eb76de0 100644 --- a/tests/test_tutorial/test_arguments/test_tutorial001.py +++ b/tests/test_tutorial/test_arguments/test_tutorial001.py @@ -14,7 +14,7 @@ def test_call_no_arg(): result = runner.invoke(app) assert result.exit_code != 0 - assert 'Error: Missing argument "NAME".' in result.output + assert "Error: Missing argument 'NAME'." in result.output def test_call_arg(): diff --git a/tests/test_tutorial/test_commands/test_index/test_tutorial001.py b/tests/test_tutorial/test_commands/test_index/test_tutorial001.py index 9bf27cedbf..cec15adc91 100644 --- a/tests/test_tutorial/test_commands/test_index/test_tutorial001.py +++ b/tests/test_tutorial/test_commands/test_index/test_tutorial001.py @@ -11,7 +11,7 @@ def test_no_arg(): result = runner.invoke(app) assert result.exit_code != 0 - assert 'Error: Missing argument "NAME".' in result.output + assert "Error: Missing argument 'NAME'." in result.output def test_arg(): diff --git a/tests/test_tutorial/test_first_steps/test_tutorial002.py b/tests/test_tutorial/test_first_steps/test_tutorial002.py index 080b4f01fd..3f6f5b747b 100644 --- a/tests/test_tutorial/test_first_steps/test_tutorial002.py +++ b/tests/test_tutorial/test_first_steps/test_tutorial002.py @@ -14,7 +14,7 @@ def test_1(): result = runner.invoke(app, []) assert result.exit_code != 0 - assert 'Error: Missing argument "NAME"' in result.output + assert "Error: Missing argument 'NAME'" in result.output def test_2(): diff --git a/tests/test_tutorial/test_first_steps/test_tutorial003.py b/tests/test_tutorial/test_first_steps/test_tutorial003.py index cccc5c2a78..bb49b67027 100644 --- a/tests/test_tutorial/test_first_steps/test_tutorial003.py +++ b/tests/test_tutorial/test_first_steps/test_tutorial003.py @@ -14,7 +14,7 @@ def test_1(): result = runner.invoke(app, ["Camila"]) assert result.exit_code != 0 - assert 'Error: Missing argument "LASTNAME"' in result.output + assert "Error: Missing argument 'LASTNAME'" in result.output def test_2(): diff --git a/tests/test_tutorial/test_options/test_required/test_tutorial002.py b/tests/test_tutorial/test_options/test_required/test_tutorial002.py index b9ed2e9307..5a55c12ed2 100644 --- a/tests/test_tutorial/test_options/test_required/test_tutorial002.py +++ b/tests/test_tutorial/test_options/test_required/test_tutorial002.py @@ -14,7 +14,7 @@ def test_1(): result = runner.invoke(app, ["Camila"]) assert result.exit_code != 0 - assert 'Error: Missing option "--lastname".' in result.output + assert "Error: Missing option '--lastname'." in result.output def test_option_lastname(): diff --git a/tests/test_tutorial/test_parameter_types/test_datetime/test_tutorial001.py b/tests/test_tutorial/test_parameter_types/test_datetime/test_tutorial001.py index 79cedf7ce3..050bc68679 100644 --- a/tests/test_tutorial/test_parameter_types/test_datetime/test_tutorial001.py +++ b/tests/test_tutorial/test_parameter_types/test_datetime/test_tutorial001.py @@ -28,7 +28,7 @@ def test_invalid(): result = runner.invoke(app, ["july-19-1989"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]": invalid datetime format: july-19-1989. (choose from %Y-%m-%d, %Y-%m-%dT%H:%M:%S, %Y-%m-%d %H:%M:%S)' + "Error: Invalid value for '[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]': invalid datetime format: july-19-1989. (choose from %Y-%m-%d, %Y-%m-%dT%H:%M:%S, %Y-%m-%d %H:%M:%S)" in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_enum/test_tutorial001.py b/tests/test_tutorial/test_parameter_types/test_enum/test_tutorial001.py index 64a0b99e61..c79193c458 100644 --- a/tests/test_tutorial/test_parameter_types/test_enum/test_tutorial001.py +++ b/tests/test_tutorial/test_parameter_types/test_enum/test_tutorial001.py @@ -27,7 +27,7 @@ def test_invalid(): result = runner.invoke(app, ["--network", "capsule"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "--network": invalid choice: capsule. (choose from simple, conv, lstm)' + "Error: Invalid value for '--network': invalid choice: capsule. (choose from simple, conv, lstm)" in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_index/test_tutorial001.py b/tests/test_tutorial/test_parameter_types/test_index/test_tutorial001.py index 98efe4bde5..d7059a13f3 100644 --- a/tests/test_tutorial/test_parameter_types/test_index/test_tutorial001.py +++ b/tests/test_tutorial/test_parameter_types/test_index/test_tutorial001.py @@ -33,7 +33,7 @@ def test_invalid(): result = runner.invoke(app, ["Camila", "--age", "15.3"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "--age": 15.3 is not a valid integer' in result.output + "Error: Invalid value for '--age': 15.3 is not a valid integer" in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_number/test_tutorial001.py b/tests/test_tutorial/test_parameter_types/test_number/test_tutorial001.py index cbf7e622d6..424d4df80d 100644 --- a/tests/test_tutorial/test_parameter_types/test_number/test_tutorial001.py +++ b/tests/test_tutorial/test_parameter_types/test_number/test_tutorial001.py @@ -30,7 +30,7 @@ def test_invalid_id(): result = runner.invoke(app, ["1002"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "ID": 1002 is not in the valid range of 0 to 1000.' + "Error: Invalid value for 'ID': 1002 is not in the valid range of 0 to 1000." in result.output ) @@ -39,7 +39,7 @@ def test_invalid_age(): result = runner.invoke(app, ["5", "--age", "15"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "--age": 15 is smaller than the minimum valid value 18.' + "Error: Invalid value for '--age': 15 is smaller than the minimum valid value 18." in result.output ) @@ -48,7 +48,7 @@ def test_invalid_score(): result = runner.invoke(app, ["5", "--age", "20", "--score", "100.5"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "--score": 100.5 is bigger than the maximum valid value 100.' + "Error: Invalid value for '--score': 100.5 is bigger than the maximum valid value 100." in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_number/test_tutorial002.py b/tests/test_tutorial/test_parameter_types/test_number/test_tutorial002.py index e8a9e4298a..7dbb322925 100644 --- a/tests/test_tutorial/test_parameter_types/test_number/test_tutorial002.py +++ b/tests/test_tutorial/test_parameter_types/test_number/test_tutorial002.py @@ -15,7 +15,7 @@ def test_invalid_id(): result = runner.invoke(app, ["1002"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "ID": 1002 is not in the valid range of 0 to 1000.' + "Error: Invalid value for 'ID': 1002 is not in the valid range of 0 to 1000." in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_path/test_tutorial002.py b/tests/test_tutorial/test_parameter_types/test_path/test_tutorial002.py index f524511e16..74cca588d4 100644 --- a/tests/test_tutorial/test_parameter_types/test_path/test_tutorial002.py +++ b/tests/test_tutorial/test_parameter_types/test_path/test_tutorial002.py @@ -18,7 +18,7 @@ def test_not_exists(tmpdir): config_file.unlink() result = runner.invoke(app, ["--config", f"{config_file}"]) assert result.exit_code != 0 - assert 'Error: Invalid value for "--config": File' in result.output + assert "Error: Invalid value for '--config': File" in result.output assert "does not exist" in result.output @@ -35,7 +35,7 @@ def test_dir(): result = runner.invoke(app, ["--config", "./"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "--config": File "./" is a directory.' + "Error: Invalid value for '--config': File './' is a directory." in result.output ) diff --git a/tests/test_tutorial/test_parameter_types/test_uuid/test_tutorial001.py b/tests/test_tutorial/test_parameter_types/test_uuid/test_tutorial001.py index 2c25963a88..982fcb4487 100644 --- a/tests/test_tutorial/test_parameter_types/test_uuid/test_tutorial001.py +++ b/tests/test_tutorial/test_parameter_types/test_uuid/test_tutorial001.py @@ -22,7 +22,7 @@ def test_invalid_uuid(): result = runner.invoke(app, ["7479706572-72756c6573"]) assert result.exit_code != 0 assert ( - 'Error: Invalid value for "USER_ID": 7479706572-72756c6573 is not a valid UUID value' + "Error: Invalid value for 'USER_ID': 7479706572-72756c6573 is not a valid UUID value" in result.output ) From 0f330350e8fc5ab15dc68af1d90d0ba60bc3440a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Tue, 10 Mar 2020 18:43:09 +0100 Subject: [PATCH 5/5] :memo: Update docs to keep them in sync with actual output --- README.md | 2 +- docs/index.md | 2 +- docs/tutorial/arguments.md | 2 +- docs/tutorial/commands/index.md | 2 +- docs/tutorial/commands/one-or-multiple.md | 2 +- docs/tutorial/first-steps.md | 4 ++-- docs/tutorial/options/required.md | 2 +- docs/tutorial/parameter-types/datetime.md | 2 +- docs/tutorial/parameter-types/enum.md | 2 +- docs/tutorial/parameter-types/index.md | 2 +- docs/tutorial/parameter-types/number.md | 8 ++++---- docs/tutorial/parameter-types/path.md | 4 ++-- docs/tutorial/parameter-types/uuid.md | 2 +- 13 files changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index ec348c8a42..1b9932deb8 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. // You get a --help for free $ python main.py --help diff --git a/docs/index.md b/docs/index.md index ec348c8a42..1b9932deb8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -86,7 +86,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. // You get a --help for free $ python main.py --help diff --git a/docs/tutorial/arguments.md b/docs/tutorial/arguments.md index 66c48867f8..92d03ab733 100644 --- a/docs/tutorial/arguments.md +++ b/docs/tutorial/arguments.md @@ -82,7 +82,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. ``` diff --git a/docs/tutorial/commands/index.md b/docs/tutorial/commands/index.md index f06a5d23a7..da290b9d59 100644 --- a/docs/tutorial/commands/index.md +++ b/docs/tutorial/commands/index.md @@ -94,7 +94,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. // With the NAME CLI argument $ python main.py Camila diff --git a/docs/tutorial/commands/one-or-multiple.md b/docs/tutorial/commands/one-or-multiple.md index bf80faa9bd..134c633427 100644 --- a/docs/tutorial/commands/one-or-multiple.md +++ b/docs/tutorial/commands/one-or-multiple.md @@ -15,7 +15,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. // With the NAME CLI argument $ python main.py Camila diff --git a/docs/tutorial/first-steps.md b/docs/tutorial/first-steps.md index 5ce8b52864..17e33c10bb 100644 --- a/docs/tutorial/first-steps.md +++ b/docs/tutorial/first-steps.md @@ -79,7 +79,7 @@ $ python main.py Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing argument "NAME". +Error: Missing argument 'NAME'. // Now pass that NAME CLI argument $ python main.py Camila @@ -128,7 +128,7 @@ $ python main.py Camila Usage: main.py [OPTIONS] NAME LASTNAME Try "main.py --help" for help. -Error: Missing argument "LASTNAME". +Error: Missing argument 'LASTNAME'. // These 2 arguments are required, so, pass both: $ python main.py Camila GutiƩrrez diff --git a/docs/tutorial/options/required.md b/docs/tutorial/options/required.md index 48e5f93ee0..45e8688967 100644 --- a/docs/tutorial/options/required.md +++ b/docs/tutorial/options/required.md @@ -32,7 +32,7 @@ $ python main.py Camila Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Missing option "--lastname". +Error: Missing option '--lastname'. // Now update it to pass the required --lastname CLI option $ python main.py Camila --lastname GutiƩrrez diff --git a/docs/tutorial/parameter-types/datetime.md b/docs/tutorial/parameter-types/datetime.md index 418ddef3c0..d3e4f5f76b 100644 --- a/docs/tutorial/parameter-types/datetime.md +++ b/docs/tutorial/parameter-types/datetime.md @@ -33,7 +33,7 @@ $ python main.py july-19-1989 Usage: main.py [OPTIONS] [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d%H:%M:%S] -Error: Invalid value for "[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]": invalid datetime format: july-19-1989. (choose from %Y-%m-%d, %Y-%m-%dT%H:%M:%S, %Y-%m-%d %H:%M:%S) +Error: Invalid value for '[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]': invalid datetime format: july-19-1989. (choose from %Y-%m-%d, %Y-%m-%dT%H:%M:%S, %Y-%m-%d %H:%M:%S) ``` diff --git a/docs/tutorial/parameter-types/enum.md b/docs/tutorial/parameter-types/enum.md index d2089a2af1..ce1df01f1d 100644 --- a/docs/tutorial/parameter-types/enum.md +++ b/docs/tutorial/parameter-types/enum.md @@ -36,7 +36,7 @@ $ python main.py --network capsule Usage: main.py [OPTIONS] Try "main.py --help" for help. -Error: Invalid value for "--network": invalid choice: capsule. (choose from simple, conv, lstm) +Error: Invalid value for '--network': invalid choice: capsule. (choose from simple, conv, lstm) ``` diff --git a/docs/tutorial/parameter-types/index.md b/docs/tutorial/parameter-types/index.md index bf1a661340..ebb93606f8 100644 --- a/docs/tutorial/parameter-types/index.md +++ b/docs/tutorial/parameter-types/index.md @@ -49,7 +49,7 @@ $ python main.py Camila --age 15.3 Usage: main.py [OPTIONS] NAME Try "main.py --help" for help. -Error: Invalid value for "--age": 15.3 is not a valid integer +Error: Invalid value for '--age': 15.3 is not a valid integer // Because 15.3 is not an INTEGER (it's a float) ``` diff --git a/docs/tutorial/parameter-types/number.md b/docs/tutorial/parameter-types/number.md index adaba25d41..6af3362acb 100644 --- a/docs/tutorial/parameter-types/number.md +++ b/docs/tutorial/parameter-types/number.md @@ -38,7 +38,7 @@ $ python main.py 1002 Usage: main.py [OPTIONS] ID Try "main.py --help" for help. -Error: Invalid value for "ID": 1002 is not in the valid range of 0 to 1000. +Error: Invalid value for 'ID': 1002 is not in the valid range of 0 to 1000. // Pass an invalid age $ python main.py 5 --age 15 @@ -46,7 +46,7 @@ $ python main.py 5 --age 15 Usage: main.py [OPTIONS] ID Try "main.py --help" for help. -Error: Invalid value for "--age": 15 is smaller than the minimum valid value 18. +Error: Invalid value for '--age': 15 is smaller than the minimum valid value 18. // Pass an invalid score $ python main.py 5 --age 20 --score 100.5 @@ -54,7 +54,7 @@ $ python main.py 5 --age 20 --score 100.5 Usage: main.py [OPTIONS] ID Try "main.py --help" for help. -Error: Invalid value for "--score": 100.5 is bigger than the maximum valid value 100. +Error: Invalid value for '--score': 100.5 is bigger than the maximum valid value 100. // But as we didn't specify a minimum score, this is accepted $ python main.py 5 --age 20 --score -5 @@ -87,7 +87,7 @@ $ python main.py 1002 Usage: main.py [OPTIONS] ID Try "main.py --help" for help. -Error: Invalid value for "ID": 1002 is not in the valid range of 0 to 1000. +Error: Invalid value for 'ID': 1002 is not in the valid range of 0 to 1000. // But --rank and --score use clamp $ python main.py 5 --rank 11 --score -5 diff --git a/docs/tutorial/parameter-types/path.md b/docs/tutorial/parameter-types/path.md index 799e6fd99f..d048c2709a 100644 --- a/docs/tutorial/parameter-types/path.md +++ b/docs/tutorial/parameter-types/path.md @@ -73,7 +73,7 @@ $ python main.py --config config.txt Usage: main.py [OPTIONS] Try "main.py --help" for help. -Error: Invalid value for "--config": File "config.txt" does not exist. +Error: Invalid value for '--config': File 'config.txt' does not exist. // Now create a quick config $ echo "some settings" > config.txt @@ -89,7 +89,7 @@ $ python main.py --config ./ Usage: main.py [OPTIONS] Try "main.py --help" for help. -Error: Invalid value for "--config": File "./" is a directory. +Error: Invalid value for '--config': File './' is a directory. ``` diff --git a/docs/tutorial/parameter-types/uuid.md b/docs/tutorial/parameter-types/uuid.md index dcb97f5a25..09c16bae0b 100644 --- a/docs/tutorial/parameter-types/uuid.md +++ b/docs/tutorial/parameter-types/uuid.md @@ -42,7 +42,7 @@ $ python main.py 7479706572-72756c6573 Usage: main.py [OPTIONS] USER_ID Try "main.py --help" for help. -Error: Invalid value for "USER_ID": 7479706572-72756c6573 is not a valid UUID value +Error: Invalid value for 'USER_ID': 7479706572-72756c6573 is not a valid UUID value ```