Typer, build great CLIs. Easy to code. Based on Python type hints.
488 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/_types.py | 99 | def get_invalid_choice_message(self, value: Any, ctx: _click.Context | None) -> str: |
| LOW | typer/completion.py | 17 | def get_completion_inspect_parameters() -> tuple[ParamMeta, ParamMeta]: |
| LOW | typer/completion.py | 64 | def _install_completion_placeholder_function( |
| LOW | typer/completion.py | 83 | def _install_completion_no_auto_placeholder_function( |
| LOW | typer/core.py | 44 | def _typer_param_setup_autocompletion_compat( |
| LOW | typer/core.py | 133 | def _extract_default_help_str( |
| LOW | typer/core.py | 322 | def _extract_default_help_str( |
| LOW | typer/core.py | 740 | def _extract_default_help_str( |
| LOW | typer/core.py | 878 | def _typer_main_shell_completion( |
| LOW | typer/rich_utils.py | 719 | def escape_before_html_export(input_text: str) -> str: |
| LOW | typer/utils.py | 10 | def _param_type_to_user_string(param_type: type[ParameterInfo]) -> str: |
| LOW | typer/utils.py | 94 | def _split_annotation_from_typer_annotations( |
| LOW | typer/main.py | 112 | def get_install_completion_arguments() -> tuple[_click.Parameter, _click.Parameter]: |
| LOW | typer/main.py | 1248 | def solve_typer_info_defaults(typer_info: TyperInfo) -> TyperInfo: |
| LOW | typer/main.py | 1364 | def get_params_convertors_ctx_param_name_from_function( |
| LOW | typer/_click/_winconsole.py | 280 | def _get_windows_console_stream( |
| LOW | typer/_click/core.py | 42 | def _complete_visible_commands( |
| LOW | typer/_click/core.py | 80 | def iter_params_for_processing( |
| LOW | typer/_click/core.py | 364 | def _close_with_exception_info( |
| LOW | typer/_click/parser.py | 304 | def _process_args_for_options(self, state: _ParsingState) -> None: |
| LOW | typer/_click/_compat.py | 188 | def _is_compatible_text_stream( |
| LOW | typer/_click/_compat.py | 199 | def _force_correct_text_stream( |
| LOW | typer/_click/_compat.py | 241 | def _force_correct_text_reader( |
| LOW | typer/_click/_compat.py | 255 | def _force_correct_text_writer( |
| LOW | typer/_click/_compat.py | 444 | def _is_jupyter_kernel_output(stream: IO[Any]) -> bool: |
| LOW | typer/_click/_compat.py | 512 | def _get_windows_console_stream( |
| LOW | tests/test_termui.py | 113 | def test_clirunner_invoke_system_exit_branches( |
| LOW | tests/test_termui.py | 135 | def test_termui_impl_windows_raw_terminal(): |
| LOW | tests/test_termui.py | 143 | def test_termui_impl_windows_getchar(monkeypatch): |
| LOW | tests/test_termui.py | 176 | def test_termui_impl_posix_raw_terminal(monkeypatch, use_stdin_tty: bool): |
| LOW | tests/test_termui.py | 250 | def test_termui_impl_posix_getchar(monkeypatch): |
| LOW | tests/test_termui.py | 267 | def test_termui_impl_posix_getchar_eof(monkeypatch): |
| LOW | tests/test_termui.py | 357 | def test_echo_windows_color_none( |
| LOW | tests/test_progress_bar.py | 115 | def test_progressbar_tty_show_eta(monkeypatch): |
| LOW | tests/test_progress_bar.py | 146 | def test_progressbar_autowidth(monkeypatch): |
| LOW | tests/test_progress_bar.py | 236 | def test_progress_bar_time_zero_steps(monkeypatch): |
| LOW | tests/test_progress_bar.py | 340 | def test_progress_bar_unknown_length( |
| LOW | tests/test_launch.py | 44 | def test_launch_url_no_xdg_open(): |
| LOW | tests/test_launch.py | 87 | def test_launch_files_windows(monkeypatch): |
| LOW | tests/test_launch.py | 120 | def test_open_url_linux_locate(monkeypatch): |
| LOW | tests/test_prepare_release.py | 38 | def test_update_version_file_requires_newer_version() -> None: |
| LOW | tests/test_prepare_release.py | 45 | def test_update_release_notes() -> None: |
| LOW | tests/test_prepare_release.py | 86 | def test_update_release_notes_rejects_existing_version() -> None: |
| LOW | tests/test_prepare_release.py | 100 | def test_cli_updates_configured_files(tmp_path: Path) -> None: |
| LOW | tests/test_prepare_release.py | 136 | def test_cli_accepts_env_vars(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_prepare_release.py | 156 | def test_cli_prints_current_version(tmp_path: Path) -> None: |
| LOW | tests/test_type_conversion.py | 95 | def test_list_parameters_convert_to_lists(type_annotation): |
| LOW | tests/test_type_conversion.py | 121 | def test_tuple_parameter_elements_are_converted_recursively(type_annotation): |
| LOW | tests/test_type_conversion.py | 128 | def tuple_recursive_conversion(container: type_annotation): |
| LOW | tests/test_type_conversion.py | 164 | def test_custom_parse_value_error(): |
| LOW | tests/test_type_conversion.py | 202 | def test_int_range_open_bound_clamp(): |
| LOW | tests/test_type_conversion.py | 219 | def test_bool_convert_invalid(): |
| LOW | tests/test_type_conversion.py | 242 | def test_string_param_type_converts_bytes( |
| LOW | tests/test_type_conversion.py | 290 | def test_path_convert_failures( |
| LOW | tests/test_param_meta_empty.py | 7 | def test_default_with_class_with_custom_eq(): |
| LOW | tests/test_types_file.py | 36 | def probe_lazy_file_behaviors( |
| LOW | tests/test_types_file.py | 159 | def test_get_text_stream_errors( |
| LOW | tests/test_types_file.py | 196 | def test_pacify_flush_wrapper() -> None: |
| LOW | tests/test_types_file.py | 248 | def test_binary_stream_raises(monkeypatch) -> None: |
| LOW | tests/test_types_file.py | 287 | def test_app_dir_windows_fallback( |
| 178 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | typer/params.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. it is h |
| HIGH | typer/params.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. it is h |
| HIGH | typer/params.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. it is h |
| HIGH | typer/params.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. it is h |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- how |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- how |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- how |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- all |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- all |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- all |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- a f |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- a f |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- a f |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- by |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- by |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- by |
| HIGH | typer/main.py | 0 | **note**: you probably shouldn't use this parameter, it is inherited from click and supported for compatibility. --- by |
| HIGH | typer/main.py | 0 | if this is set to `true`, running a command without any arguments will automatically show the help page. |
| HIGH | typer/main.py | 0 | if this is set to `true`, running a command without any arguments will automatically show the help page. |
| HIGH | typer/main.py | 0 | if this is set to `true`, running a command without any arguments will automatically show the help page. |
| HIGH | typer/main.py | 0 | pass configurations for the [context](https://typer.tiangolo.com/tutorial/commands/context/). available configurations c |
| HIGH | typer/main.py | 0 | pass configurations for the [context](https://typer.tiangolo.com/tutorial/commands/context/). available configurations c |
| HIGH | typer/main.py | 0 | pass configurations for the [context](https://typer.tiangolo.com/tutorial/commands/context/). available configurations c |
| HIGH | typer/main.py | 0 | text that will be printed right after the help text. |
| HIGH | typer/main.py | 0 | text that will be printed right after the help text. |
| HIGH | typer/main.py | 0 | text that will be printed right after the help text. |
| HIGH | typer/main.py | 0 | a shortened version of the help text that can be used e.g. in the help table listing subcommands. when not defined, the |
| HIGH | typer/main.py | 0 | a shortened version of the help text that can be used e.g. in the help table listing subcommands. when not defined, the |
| HIGH | typer/main.py | 0 | a shortened version of the help text that can be used e.g. in the help table listing subcommands. when not defined, the |
| HIGH | typer/main.py | 0 | in the example usage string of the help text for a command, the default placeholder for various arguments is `[options]` |
| HIGH | typer/main.py | 0 | in the example usage string of the help text for a command, the default placeholder for various arguments is `[options]` |
| HIGH | typer/main.py | 0 | in the example usage string of the help text for a command, the default placeholder for various arguments is `[options]` |
| HIGH | typer/main.py | 0 | hide this command from help outputs. `false` by default. |
| HIGH | typer/main.py | 0 | hide this command from help outputs. `false` by default. |
| HIGH | typer/main.py | 0 | hide this command from help outputs. `false` by default. |
| HIGH | typer/main.py | 0 | set the panel name of the command when the help is printed with rich. |
| HIGH | typer/main.py | 0 | set the panel name of the command when the help is printed with rich. |
| HIGH | typer/main.py | 0 | set the panel name of the command when the help is printed with rich. |
| HIGH | typer/.agents/skills/typer/SKILL.md | 0 | [bold green]create[/bold green] a new [italic]shiny[/italic] user. :sparkles: this requires a [underline]username[/under |
| HIGH | docs_src/commands/help/tutorial004_an_py310.py | 0 | [bold green]create[/bold green] a new [italic]shiny[/italic] user. :sparkles: this requires a [underline]username[/under |
| HIGH | docs_src/commands/help/tutorial004_py310.py | 0 | [bold green]create[/bold green] a new [italic]shiny[/italic] user. :sparkles: this requires a [underline]username[/under |
| HIGH | docs_src/options/help/tutorial002_an_py310.py | 0 | say hi to name, optionally with a --lastname. if --formal is used, say hi very formally. |
| HIGH | docs_src/options/help/tutorial001_py310.py | 0 | say hi to name, optionally with a --lastname. if --formal is used, say hi very formally. |
| HIGH | docs_src/options/help/tutorial001_an_py310.py | 0 | say hi to name, optionally with a --lastname. if --formal is used, say hi very formally. |
| HIGH | docs_src/options/help/tutorial002_py310.py | 0 | say hi to name, optionally with a --lastname. if --formal is used, say hi very formally. |
| HIGH | docs_src/first_steps/tutorial006_py310.py | 0 | say hi to name, optionally with a --lastname. if --formal is used, say hi very formally. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | docs/tutorial/first-steps.md | 116 | <font color="#F92672">╭─ Error ───────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 118 | <font color="#F92672">╰───────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 124 | <font color="#F92672">╭─ Error ───────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 126 | <font color="#F92672">╰───────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 135 | <font color="#F92672">╭─ Error ───────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 137 | <font color="#F92672">╰───────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 243 | <font color="#A5A5A1">╭─ Arguments ─────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 246 | <font color="#A5A5A1">╰─────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 247 | <font color="#A5A5A1">╭─ Options ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 251 | <font color="#A5A5A1">╰─────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 303 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 305 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 306 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 311 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 377 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 379 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 380 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 385 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 27 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 30 | <font color="#A5A5A1">╰───────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/first-steps.md | 75 | <font color="#F92672">╭─ Error ───────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/first-steps.md | 77 | <font color="#F92672">╰───────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/exceptions.md | 28 | <font color="#F92672">╭──────────────── </font><font color="#F92672"><b>Traceback (most recent call last)</b></font><fon |
| MEDIUM | docs/tutorial/exceptions.md | 38 | <font color="#F92672">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/exceptions.md | 89 | <font color="#F92672">╭──────────────── </font><font color="#F92672"><b>Traceback (most recent call last)</b></font><fon |
| MEDIUM | docs/tutorial/exceptions.md | 102 | <font color="#F92672">│</font> <font color="#F4BF75">╰────────────────╯</font> |
| MEDIUM | docs/tutorial/exceptions.md | 103 | <font color="#F92672">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/exceptions.md | 126 | <font color="#F92672">╭──────────────── </font><font color="#F92672"><b>Traceback (most recent call last)</b></font><fon |
| MEDIUM | docs/tutorial/exceptions.md | 135 | <font color="#F92672">│</font> <font color="#F4BF75">╭─────────────────────────── locals ────────────────────────────╮</ |
| MEDIUM | docs/tutorial/exceptions.md | 150 | <font color="#F92672">│</font> <font color="#F4BF75">╰───────────────────────────────────────────────────────────────╯</ |
| MEDIUM | docs/tutorial/exceptions.md | 188 | <font color="#F92672">│</font> <font color="#F4BF75">╰────────────────╯</font> |
| MEDIUM | docs/tutorial/exceptions.md | 189 | <font color="#F92672">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/progressbar.md | 36 | Processing... <font color="#F92672">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸</font><font color="#3A3A3A">━━━━━━━━━━</font> <font c |
| MEDIUM | docs/tutorial/options/help.md | 75 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/options/help.md | 77 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/options/help.md | 78 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/options/help.md | 81 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/options/help.md | 82 | <font color="#A5A5A1">╭─ Customization and Utils ─────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/options/help.md | 87 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 140 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 147 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 148 | <font color="#A5A5A1">╭─ Commands ────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 151 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 169 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 171 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 172 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 174 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 240 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 244 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 245 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 247 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 263 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 267 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 268 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 272 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 301 | <font color="#F4BF75">───────────────────────────────────────────────────────────────────</font> |
| MEDIUM | docs/tutorial/commands/help.md | 304 | <font color="#A5A5A1">╭─ Arguments ───────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 308 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| MEDIUM | docs/tutorial/commands/help.md | 309 | <font color="#A5A5A1">╭─ Options ─────────────────────────────────────────────────────────╮</font> |
| MEDIUM | docs/tutorial/commands/help.md | 311 | <font color="#A5A5A1">╰───────────────────────────────────────────────────────────────────╯</font> |
| 38 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/params.py | 8 | |
| LOW | typer/_typing.py | 8 | |
| LOW | typer/_typing.py | 8 | |
| LOW | typer/models.py | 20 | |
| LOW | typer/models.py | 20 | |
| LOW | typer/models.py | 21 | |
| LOW | typer/__init__.py | 5 | |
| LOW | typer/__init__.py | 7 | |
| LOW | typer/__init__.py | 8 | |
| LOW | typer/__init__.py | 9 | |
| LOW | typer/__init__.py | 10 | |
| LOW | typer/__init__.py | 11 | |
| LOW | typer/__init__.py | 12 | |
| LOW | typer/__init__.py | 13 | |
| LOW | typer/__init__.py | 14 | |
| LOW | typer/__init__.py | 15 | |
| LOW | typer/__init__.py | 16 | |
| LOW | typer/__init__.py | 17 | |
| LOW | typer/__init__.py | 18 | |
| LOW | typer/__init__.py | 19 | |
| LOW | typer/__init__.py | 20 | |
| LOW | typer/__init__.py | 21 | |
| LOW | typer/__init__.py | 22 | |
| LOW | typer/__init__.py | 23 | |
| LOW | typer/__init__.py | 24 | |
| LOW | typer/__init__.py | 25 | |
| LOW | typer/__init__.py | 26 | |
| LOW | typer/__init__.py | 27 | |
| LOW | typer/__init__.py | 28 | |
| LOW | typer/__init__.py | 29 | |
| LOW | typer/__init__.py | 30 | |
| LOW | typer/__init__.py | 31 | |
| LOW | typer/__init__.py | 32 | |
| LOW | typer/testing.py | 17 | |
| LOW | typer/_click/_winconsole.py | 79 | |
| LOW | typer/_click/_winconsole.py | 81 | |
| LOW | typer/_click/globals.py | 5 | |
| LOW | typer/_click/__init__.py | 5 | |
| LOW | typer/_click/__init__.py | 6 | |
| LOW | typer/_click/__init__.py | 7 | |
| LOW | typer/_click/__init__.py | 8 | |
| LOW | typer/_click/__init__.py | 9 | |
| LOW | typer/_click/__init__.py | 10 | |
| LOW | typer/_click/__init__.py | 11 | |
| LOW | typer/_click/types.py | 24 | |
| LOW | typer/_click/types.py | 24 | |
| LOW | typer/_click/parser.py | 37 | |
| LOW | typer/_click/parser.py | 38 | |
| LOW | typer/_click/parser.py | 40 | |
| LOW | typer/_click/exceptions.py | 9 | |
| LOW | tests/test_future_annotations.py | 1 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/core.py | 84 | |
| LOW | typer/core.py | 151 | |
| LOW | typer/core.py | 857 | |
| LOW | typer/core.py | 543 | |
| LOW | typer/core.py | 1165 | |
| LOW | typer/_completion_shared.py | 203 | |
| LOW | typer/cli.py | 140 | |
| LOW | typer/cli.py | 186 | |
| LOW | typer/utils.py | 107 | |
| LOW | typer/main.py | 1521 | |
| LOW | typer/main.py | 1623 | |
| LOW | typer/main.py | 1838 | |
| LOW | typer/testing.py | 159 | |
| LOW | typer/_click/types.py | 621 | |
| LOW | typer/_click/types.py | 147 | |
| LOW | typer/_click/parser.py | 46 | |
| LOW | typer/_click/parser.py | 153 | |
| LOW | typer/_click/parser.py | 304 | |
| LOW | typer/_click/termui.py | 74 | |
| LOW | typer/_click/termui.py | 151 | |
| LOW | typer/_click/utils.py | 192 | |
| LOW | typer/_click/shell_completion.py | 229 | |
| LOW | typer/_click/_termui_impl.py | 345 | |
| LOW | tests/test_rich_utils.py | 181 | |
| LOW | scripts/docs.py | 124 | |
| LOW | scripts/docs.py | 251 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/main.py | 1138 | except Exception as e: |
| LOW | typer/testing.py | 251 | except Exception: # pragma: no cover |
| LOW | typer/testing.py | 261 | except Exception: # pragma: no cover |
| LOW | typer/testing.py | 320 | except Exception as e: |
| LOW | typer/_click/_winconsole.py | 212 | except Exception: # pragma: no cover |
| LOW | typer/_click/core.py | 1072 | except Exception: |
| LOW | typer/_click/utils.py | 47 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 68 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 115 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 124 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 128 | except Exception: |
| LOW | typer/_click/_compat.py | 478 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 502 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 525 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 540 | except Exception: # pragma: no cover |
| LOW | typer/_click/_compat.py | 547 | except Exception: # pragma: no cover |
| MEDIUM | typer/_click/_compat.py | 65 | def __del__(self) -> None: |
| LOW | tests/test_param_meta_empty.py | 21 | except Exception: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | pyproject.toml | 172 | # This file is more readable without yield from |
| MEDIUM | typer/completion.py | 63 | # Create a fake command function to extract the completion parameters |
| MEDIUM | typer/main.py | 1182 | # Create a Group |
| MEDIUM | typer/main.py | 1189 | # Create a single Command |
| MEDIUM | typer/_click/_winconsole.py | 1 | # This module is based on the excellent work by Adam Bartoš who |
| MEDIUM | typer/_click/core.py | 954 | # Define the conversion function based on nargs and type. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | typer/_click/_termui_impl.py | 365 | return subprocess.Popen(args, stderr=null).wait() |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/models.py | 335 | # Check if user has provided multiple custom parsers |
| LOW | scripts/docs.py | 292 | # Check if the _an counterpart (or non-_an counterpart) is referenced. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | typer/_click/parser.py | 321 | # [arg0, arg1, ..., arg(i-1), arg(i), arg(i+1), ..., arg(N-1)] |
| LOW | typer/_click/_termui_impl.py | 441 | # |