Scan timing: clone 1.38s · analysis 1.51s · 1.5 MB · GitHub preflight 177ms
https://github.com/pallets/click
· scanned 2026-05-19 23:33 UTC (3 weeks, 3 days ago)
· 10 languages
236 raw signals (77 security + 159 graph) 97th percentile · Python · medium (20-100K LoC)
Last scanned 3 weeks, 3 days ago · v3 · 77 actionable findings from 2 signal sources. 41 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
100.0 | 0.25 | 25.00 |
testing_score |
100.0 | 0.20 | 20.00 |
documentation_score |
79.0 | 0.15 | 11.85 |
practices_score |
82.0 | 0.15 | 12.30 |
code_quality |
49.0 | 0.10 | 4.90 |
| Overall | 1.00 | 89.1 |
All 1456 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_basic_functionality |
software | healthy | tests/test_basic.py:13 |
cli |
software | healthy | tests/test_basic.py:710 |
test_repr |
software | healthy | tests/test_basic.py:32 |
command |
software | healthy | tests/test_basic.py:34 |
group |
software | healthy | tests/test_basic.py:38 |
subcommand |
software | healthy | tests/test_basic.py:67 |
test_return_values |
software | healthy | tests/test_basic.py:50 |
test_basic_group |
software | healthy | tests/test_basic.py:60 |
test_group_commands_dict |
software | healthy | tests/test_basic.py:86 |
sub |
software | healthy | tests/test_basic.py:102 |
test_group_from_list |
software | healthy | tests/test_basic.py:98 |
test_string_option |
software | healthy | tests/test_basic.py:120 |
test_int_option |
software | healthy | tests/test_basic.py:143 |
test_uuid_option |
software | healthy | tests/test_basic.py:169 |
test_float_option |
software | healthy | tests/test_basic.py:194 |
test_boolean_switch |
software | healthy | tests/test_basic.py:226 |
test_boolean_flag |
software | healthy | tests/test_basic.py:249 |
test_boolean_conversion |
software | healthy | tests/test_basic.py:266 |
test_flag_value_dual_options |
software | healthy | tests/test_basic.py:314 |
test_file_option |
software | healthy | tests/test_basic.py:337 |
input |
software | healthy | tests/test_basic.py:363 |
output |
software | healthy | tests/test_basic.py:369 |
test_file_lazy_mode |
software | healthy | tests/test_basic.py:358 |
input_non_lazy |
software | healthy | tests/test_basic.py:388 |
test_path_option |
software | healthy | tests/test_basic.py:398 |
write_to_dir |
software | healthy | tests/test_basic.py:401 |
showtype |
software | healthy | tests/test_basic.py:419 |
exists |
software | healthy | tests/test_basic.py:433 |
test_choice_option |
software | healthy | tests/test_basic.py:444 |
test_choice_argument |
software | healthy | tests/test_basic.py:465 |
test_choice_argument_enum |
software | healthy | tests/test_basic.py:486 |
test_choice_argument_custom_type |
software | healthy | tests/test_basic.py:513 |
__init__ |
software | healthy | tests/test_basic.py:515 |
__str__ |
software | healthy | tests/test_basic.py:518 |
test_choice_argument_none |
software | healthy | tests/test_basic.py:544 |
test_datetime_option_default |
software | healthy | tests/test_basic.py:572 |
test_datetime_option_custom |
software | healthy | tests/test_basic.py:599 |
test_required_option |
software | healthy | tests/test_basic.py:610 |
test_evaluation_order |
software | healthy | tests/test_basic.py:621 |
memo |
software | healthy | tests/test_basic.py:624 |
test_hidden_option |
software | healthy | tests/test_basic.py:664 |
test_hidden_command |
software | healthy | tests/test_basic.py:675 |
nope |
software | healthy | tests/test_basic.py:699 |
test_hidden_group |
software | healthy | tests/test_basic.py:689 |
subgroup |
software | healthy | tests/test_basic.py:695 |
test_summary_line |
software | healthy | tests/test_basic.py:708 |
cmd |
software | healthy | tests/test_basic.py:714 |
test_help_invalid_default |
software | healthy | tests/test_basic.py:727 |
runner |
software | healthy | tests/conftest.py:7 |
test_range |
software | healthy | tests/test_types.py:31 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
MyEnum |
software | healthy | tests/test_basic.py:487 |
MyClass |
software | healthy | tests/test_basic.py:514 |
CustomContext |
software | healthy | tests/test_custom_classes.py:57 |
CustomCommand |
software | healthy | tests/test_custom_classes.py:71 |
CustomFormatter |
software | healthy | tests/test_custom_classes.py:52 |
CustomGroup |
software | healthy | tests/test_custom_classes.py:107 |
CustomSubGroup |
software | healthy | tests/test_custom_classes.py:89 |
CustomError |
software | healthy | tests/test_testing.py:194 |
CLIError |
software | healthy | tests/test_testing.py:229 |
OptParseCommand |
software | healthy | tests/test_commands.py:151 |
AliasedGroup |
software | healthy | tests/test_commands.py:303 |
MyType |
software | healthy | tests/test_formatting.py:318 |
Value |
software | healthy | tests/test_options.py:653 |
CustomArgument |
software | healthy | tests/test_options.py:996 |
CustomOption |
software | healthy | tests/test_options.py:1066 |
CustomHelpOption |
software | healthy | tests/test_options.py:1111 |
_StrictEq |
software | healthy | tests/test_options.py:1275 |
NonNegatable |
software | healthy | tests/test_options.py:1755 |
HashType |
software | healthy | tests/test_options.py:1768 |
Number |
software | healthy | tests/test_options.py:1774 |
Letter |
software | healthy | tests/test_options.py:1779 |
Color |
software | healthy | tests/test_options.py:1785 |
ColorInt |
software | healthy | tests/test_options.py:1791 |
EnumSentinel |
software | healthy | tests/test_options.py:1943 |
ConfigParamType |
software | healthy | tests/test_options.py:2032 |
EngineType |
software | healthy | tests/test_options.py:2065 |
Class1 |
software | healthy | tests/test_options.py:2071 |
Class2 |
software | healthy | tests/test_options.py:2075 |
JupyterKernelFakeStream |
software | healthy | tests/test_compat.py:11 |
MockMain |
software | healthy | tests/test_utils.py:718 |
Foo |
software | healthy | tests/test_context.py:669 |
ParameterInternalCheck |
software | healthy | tests/test_context.py:199 |
NonExitingOption |
software | healthy | tests/test_context.py:404 |
ExitingOption |
software | healthy | tests/test_context.py:417 |
DebugLoggerOption |
software | healthy | tests/test_context.py:445 |
TestContext |
software | healthy | tests/test_context.py:593 |
TestException |
software | healthy | tests/test_context.py:619 |
MyshComplete |
software | healthy | tests/test_shell_completion.py:548 |
TestType |
software | healthy | tests/test_info_dict.py:272 |
CustomArgument |
software | healthy | tests/test_arguments.py:617 |
CustomContext |
software | healthy | tests/test_defaults.py:280 |
_Marker |
software | healthy | tests/test_defaults.py:316 |
CustomCommand |
software | healthy | tests/test_command_decorators.py:17 |
CustomGroup |
software | healthy | tests/test_command_decorators.py:20 |
FakeClock |
software | healthy | tests/test_termui.py:22 |
Hinted |
software | healthy | tests/test_termui.py:57 |
FlushableTextStream |
software | healthy | tests/test_termui.py:824 |
_CustomTypeNoValue |
software | healthy | tests/test_termui.py:1221 |
_CustomTypeWithRawValue |
software | healthy | tests/test_termui.py:1230 |
_PasswordLengthType |
software | healthy | tests/test_termui.py:1239 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
.readthedocs.yaml |
software | healthy | .readthedocs.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
on-create-command.sh |
software | healthy | .devcontainer/on-create-command.sh |
devcontainer.json |
software | healthy | .devcontainer/devcontainer.json |
test_basic.py |
software | healthy | tests/test_basic.py |
conftest.py |
software | healthy | tests/conftest.py |
test_types.py |
software | healthy | tests/test_types.py |
test_stream_lifecycle.py |
software | healthy | tests/test_stream_lifecycle.py |
test_parser.py |
software | healthy | tests/test_parser.py |
test_custom_classes.py |
software | healthy | tests/test_custom_classes.py |
test_normalization.py |
software | healthy | tests/test_normalization.py |
test_testing.py |
software | healthy | tests/test_testing.py |
test_commands.py |
software | healthy | tests/test_commands.py |
test_formatting.py |
software | healthy | tests/test_formatting.py |
test_options.py |
software | healthy | tests/test_options.py |
test_compat.py |
software | healthy | tests/test_compat.py |
test_utils.py |
software | healthy | tests/test_utils.py |
test_context.py |
software | healthy | tests/test_context.py |
test_shell_completion.py |
software | healthy | tests/test_shell_completion.py |
test_info_dict.py |
software | healthy | tests/test_info_dict.py |
test_chain.py |
software | healthy | tests/test_chain.py |
test_arguments.py |
software | healthy | tests/test_arguments.py |
test_defaults.py |
software | healthy | tests/test_defaults.py |
test_command_decorators.py |
software | healthy | tests/test_command_decorators.py |
test_imports.py |
software | healthy | tests/test_imports.py |
test_termui.py |
software | healthy | tests/test_termui.py |
typing_help_option.py |
software | healthy | tests/typing/typing_help_option.py |
typing_confirmation_option.py |
software | healthy | tests/typing/typing_confirmation_option.py |
typing_version_option.py |
software | healthy | tests/typing/typing_version_option.py |
typing_group_kw_options.py |
software | healthy | tests/typing/typing_group_kw_options.py |
typing_password_option.py |
software | healthy | tests/typing/typing_password_option.py |
typing_simple_example.py |
software | healthy | tests/typing/typing_simple_example.py |
typing_options.py |
software | healthy | tests/typing/typing_options.py |
typing_progressbar.py |
software | healthy | tests/typing/typing_progressbar.py |
typing_aliased_group.py |
software | healthy | tests/typing/typing_aliased_group.py |
wincmd.md |
software | healthy | docs/wincmd.md |
documentation.md |
software | healthy | docs/documentation.md |
extending-click.md |
software | healthy | docs/extending-click.md |
handling-files.md |
software | healthy | docs/handling-files.md |
shell-completion.md |
software | healthy | docs/shell-completion.md |
advanced.md |
software | healthy | docs/advanced.md |
api.md |
software | healthy | docs/api.md |
contrib.md |
software | healthy | docs/contrib.md |
commands.md |
software | healthy | docs/commands.md |
license.md |
software | healthy | docs/license.md |
command-line-reference.md |
software | healthy | docs/command-line-reference.md |
parameters.md |
software | healthy | docs/parameters.md |
entry-points.md |
software | healthy | docs/entry-points.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.devcontainer |
software | healthy | .devcontainer |
tests |
software | healthy | tests |
typing |
software | healthy | tests/typing |
docs |
software | healthy | docs |
examples |
software | healthy | examples |
naval |
software | healthy | examples/naval |
termui |
software | healthy | examples/termui |
imagepipe |
software | healthy | examples/imagepipe |
complex |
software | healthy | examples/complex |
complex |
software | healthy | examples/complex/complex |
commands |
software | healthy | examples/complex/complex/commands |
colors |
software | healthy | examples/colors |
validation |
software | healthy | examples/validation |
aliases |
software | healthy | examples/aliases |
completion |
software | healthy | examples/completion |
repo |
software | healthy | examples/repo |
inout |
software | healthy | examples/inout |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
click |
software | healthy | src/click |
| Label | Layer | Status | Path |
|---|---|---|---|
lock |
cicd | healthy | .github/workflows/lock.yaml |
build |
cicd | healthy | .github/workflows/publish.yaml |
create-release |
cicd | healthy | .github/workflows/publish.yaml |
publish-pypi |
cicd | healthy | .github/workflows/publish.yaml |
tests |
cicd | healthy | .github/workflows/tests.yaml |
typing |
cicd | healthy | .github/workflows/tests.yaml |
zizmor |
cicd | healthy | .github/workflows/zizmor.yaml |
main |
cicd | healthy | .github/workflows/pre-commit.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::lock |
cicd | healthy | .github/workflows/lock.yaml |
gha::publish |
cicd | healthy | .github/workflows/publish.yaml |
gha::tests |
cicd | healthy | .github/workflows/tests.yaml |
gha::zizmor |
cicd | healthy | .github/workflows/zizmor.yaml |
gha::pre-commit |
cicd | healthy | .github/workflows/pre-commit.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-sbdzo990 |
software | healthy | /tmp/repobility-clone-sbdzo990 |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | tests/test_defaults.py |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::tests/test_termui.py |
security | healthy | tests/test_termui.py |
This page is publicly accessible at:
https://repobility.com/scan/06b7bfba-0fb7-413a-8216-cd07ee9c4a7f/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/06b7bfba-0fb7-413a-8216-cd07ee9c4a7f/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.