Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
69 of your 74 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 1.24s · analysis 3.28s · 0.3 MB · GitHub API rate-limit (preflight)

modern-python/modern-di

https://github.com/modern-python/modern-di · scanned 2026-06-05 12:52 UTC (5 days, 10 hours ago) · 10 languages

131 raw signals (73 security + 58 graph) 84th percentile · Python · small (2-20K LoC) System graph score 98 (lower by 16)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 5 days, 10 hours ago · v2 · 64 actionable findings from 2 signal sources. 38 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 75.0 0.15 11.25
security_score 100.0 0.25 25.00
testing_score 87.0 0.20 17.40
documentation_score 62.0 0.15 9.30
practices_score 72.0 0.15 10.80
code_quality 79.0 0.10 7.90
Overall 1.00 81.7
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 426 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.

LabelLayerStatusPath
test_group_cannot_be_instantiated software healthy tests/test_group.py:7
test_container_prevent_copy software healthy tests/test_container.py:18
test_container_scope_skipped software healthy tests/test_container.py:25
test_container_build_child software healthy tests/test_container.py:33
test_container_scope_limit_reached software healthy tests/test_container.py:40
test_container_build_child_wrong_scope software healthy tests/test_container.py:47
test_container_resolve_missing_provider software healthy tests/test_container.py:55
test_container_sync_context_manager software healthy tests/test_container.py:65
test_container_async_context_manager software healthy tests/test_container.py:73
test_container_repr software healthy tests/test_container.py:81
test_validate_on_creation software healthy tests/test_container.py:104
test_validate_detects_cycle software healthy tests/test_container.py:109
test_validate_passes_for_valid_graph software healthy tests/test_container.py:118
test_validate_memoizes_diamond software healthy tests/test_container.py:135
counting_get_dependencies software healthy tests/test_container.py:157
test_signature_item_parser software healthy tests/test_types_parser.py:33
simple_func software healthy tests/test_types_parser.py:37
none_func software healthy tests/test_types_parser.py:38
args_kwargs_func software healthy tests/test_types_parser.py:39
func_with_str_annotations software healthy tests/test_types_parser.py:40
async_func software healthy tests/test_types_parser.py:41
__init__ software healthy tests/test_types_parser.py:68
func_with_wrong_annotations software healthy tests/test_types_parser.py:64
test_parse_creator software healthy tests/test_types_parser.py:168
test_subclass_suggestion software healthy tests/test_suggestions.py:25
test_baseclass_suggestion software healthy tests/test_suggestions.py:40
test_typo_suggestion software healthy tests/test_suggestions.py:55
test_suggestion_includes_provider_scope software healthy tests/test_suggestions.py:76
test_no_suggestions_when_nothing_matches software healthy tests/test_suggestions.py:92
test_suggestions_capped_at_three software healthy tests/test_suggestions.py:100
test_hierarchy_hint_skips_non_class_bound_type software healthy tests/test_suggestions.py:141
test_hierarchy_hint_swallows_protocol_typeerror software healthy tests/test_suggestions.py:146
foo software healthy tests/test_suggestions.py:148
test_argument_resolution_subclass_suggestion software healthy tests/test_suggestions.py:154
test_argument_resolution_baseclass_suggestion software healthy tests/test_suggestions.py:173
test_argument_resolution_typo_suggestion software healthy tests/test_suggestions.py:191
test_argument_resolution_no_suggestions_when_nothing_matches software healthy tests/test_suggestions.py:213
test_hierarchy_hint_preferred_over_typo software healthy tests/test_suggestions.py:229
test_chain_appears_when_arg_unresolvable software healthy tests/test_dependency_path.py:29
test_no_chain_when_top_level_provider_missing software healthy tests/test_dependency_path.py:48
test_chain_includes_scope_name software healthy tests/test_dependency_path.py:56
test_build_child_at_custom_scope_from_step software healthy tests/test_custom_scope.py:29
test_build_child_at_custom_scope_from_app_skips_intermediate software healthy tests/test_custom_scope.py:36
test_factory_resolves_through_custom_scope_container software healthy tests/test_custom_scope.py:42
test_resolve_at_custom_scope_from_app_raises_scope_not_init… software healthy tests/test_custom_scope.py:53
test_resolve_app_provider_from_custom_scope_with_skipped_ch… software healthy tests/test_custom_scope.py:64
test_invalid_child_scope_uses_parent_enum_for_allowed_list software healthy tests/test_custom_scope.py:72
test_invalid_child_scope_with_conflicting_value software healthy tests/test_custom_scope.py:81
test_caching_isolated_across_tenant_containers software healthy tests/test_custom_scope.py:89
test_auto_derive_within_custom_enum software healthy tests/test_custom_scope.py:107

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
Dependencies software healthy tests/test_group.py:8
CycleA software healthy tests/test_container.py:90
CycleB software healthy tests/test_container.py:95
CycleGroup software healthy tests/test_container.py:99
Dep software healthy tests/test_container.py:120
Service software healthy tests/test_container.py:124
ValidGroup software healthy tests/test_container.py:127
Bottom software healthy tests/test_container.py:137
Left software healthy tests/test_container.py:141
Right software healthy tests/test_container.py:145
Top software healthy tests/test_container.py:149
DiamondGroup software healthy tests/test_container.py:164
GenericClass software healthy tests/test_types_parser.py:10
SomeDataClass software healthy tests/test_types_parser.py:45
DataClassInitFalse software healthy tests/test_types_parser.py:51
SomeRegularClass software healthy tests/test_types_parser.py:56
ClassWithStringAnnotations software healthy tests/test_types_parser.py:60
ClassWithWrongAnnotations software healthy tests/test_types_parser.py:67
Database software healthy tests/test_suggestions.py:11
PostgresDatabase software healthy tests/test_suggestions.py:16
Repository software healthy tests/test_suggestions.py:21
G software healthy tests/test_suggestions.py:234
Repostory software healthy tests/test_suggestions.py:193
A1 software healthy tests/test_suggestions.py:102
A2 software healthy tests/test_suggestions.py:106
A3 software healthy tests/test_suggestions.py:110
A4 software healthy tests/test_suggestions.py:114
A5 software healthy tests/test_suggestions.py:118
MyProto software healthy tests/test_suggestions.py:147
Service software healthy tests/test_suggestions.py:215
Databse software healthy tests/test_suggestions.py:231
Database software healthy tests/test_dependency_path.py:10
Repository software healthy tests/test_dependency_path.py:15
MyService software healthy tests/test_dependency_path.py:20
IncompleteGroup software healthy tests/test_dependency_path.py:24
Outer software healthy tests/test_dependency_path.py:58
CrossScope software healthy tests/test_dependency_path.py:61
MyScope software healthy tests/test_custom_scope.py:14
ConflictingScope software healthy tests/test_custom_scope.py:19
TenantService software healthy tests/test_custom_scope.py:25
TenantGroup software healthy tests/test_custom_scope.py:90
AbstractRepository software healthy tests/providers/test_alias.py:13
PostgresRepository software healthy tests/providers/test_alias.py:17
MyGroup software healthy tests/providers/test_alias.py:21
G software healthy tests/providers/test_alias.py:119
Iface software healthy tests/providers/test_alias.py:113
Concrete software healthy tests/providers/test_alias.py:116
SimpleCreator software healthy tests/providers/test_factory.py:12
DependentCreator software healthy tests/providers/test_factory.py:17
AnotherCreator software healthy tests/providers/test_factory.py:22

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
mkdocs.yml software healthy mkdocs.yml
README.md software healthy README.md
context7.json software healthy context7.json
CLAUDE.md software healthy CLAUDE.md
.readthedocs.yaml software healthy .readthedocs.yaml
pyproject.toml software healthy pyproject.toml
test_group.py software healthy tests/test_group.py
__init__.py software healthy tests/__init__.py
test_container.py software healthy tests/test_container.py
test_types_parser.py software healthy tests/test_types_parser.py
test_suggestions.py software healthy tests/test_suggestions.py
test_dependency_path.py software healthy tests/test_dependency_path.py
test_custom_scope.py software healthy tests/test_custom_scope.py
__init__.py software healthy tests/providers/__init__.py
test_alias.py software healthy tests/providers/test_alias.py
test_factory.py software healthy tests/providers/test_factory.py
test_singleton.py software healthy tests/providers/test_singleton.py
test_context_provider.py software healthy tests/providers/test_context_provider.py
test_container_provider.py software healthy tests/providers/test_container_provider.py
__init__.py software healthy tests/registries/__init__.py
test_providers_registry.py software healthy tests/registries/test_providers_registry.py
__init__.py software healthy benchmarks/__init__.py
bench_scope_map.py software healthy benchmarks/bench_scope_map.py
bench_kwargs_split.py software healthy benchmarks/bench_kwargs_split.py
RESULTS.md software healthy benchmarks/RESULTS.md
bench_override_fastpath.py software healthy benchmarks/bench_override_fastpath.py
context7.json software healthy docs/context7.json
index.md software healthy docs/index.md
requirements.txt software healthy docs/requirements.txt
pytest.md software healthy docs/integrations/pytest.md
typer.md software healthy docs/integrations/typer.md
fastapi.md software healthy docs/integrations/fastapi.md
faststream.md software healthy docs/integrations/faststream.md
litestar.md software healthy docs/integrations/litestar.md
fixtures.md software healthy docs/testing/fixtures.md
about-di.md software healthy docs/introduction/about-di.md
resolving.md software healthy docs/introduction/resolving.md
to-2.x.md software healthy docs/migration/to-2.x.md
from-that-depends.md software healthy docs/migration/from-that-depends.md
to-1.x.md software healthy docs/migration/to-1.x.md
factories.md software healthy docs/providers/factories.md
context.md software healthy docs/providers/context.md
container.md software healthy docs/providers/container.md
alias.md software healthy docs/providers/alias.md
code.css software healthy docs/css/code.css
key-concepts.md software healthy docs/dev/key-concepts.md
contributing.md software healthy docs/dev/contributing.md
decisions.md software healthy docs/dev/decisions.md
duplicate-type-error.md software healthy docs/troubleshooting/duplicate-type-error.md
circular-dependency.md software healthy docs/troubleshooting/circular-dependency.md

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
tests software healthy tests
providers software healthy tests/providers
registries software healthy tests/registries
benchmarks software healthy benchmarks
docs software healthy docs
integrations software healthy docs/integrations
testing software healthy docs/testing
introduction software healthy docs/introduction
migration software healthy docs/migration
providers software healthy docs/providers
css software healthy docs/css
dev software healthy docs/dev
troubleshooting software healthy docs/troubleshooting
modern_di software healthy modern_di
providers software healthy modern_di/providers
registries software healthy modern_di/registries
skills software healthy skills
modern-di software healthy skills/modern-di
.github software healthy .github
workflows software healthy .github/workflows
planning software healthy planning
audits software healthy planning/audits
plans software healthy planning/plans
specs software healthy planning/specs

LabelLayerStatusPath
lint cicd healthy .github/workflows/ci.yml
pytest cicd healthy .github/workflows/ci.yml
publish cicd healthy .github/workflows/publish.yml

LabelLayerStatusPath
gha::ci cicd healthy .github/workflows/ci.yml
gha::publish cicd healthy .github/workflows/publish.yml

LabelLayerStatusPath
repobility-clone-j29swvaf software healthy /tmp/repobility-clone-j29swvaf

LabelLayerStatusPath
postgres data healthy tests/providers/test_alias.py

LabelLayerStatusPath
PYPI_TOKEN cicd healthy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/00d6d4e8-765e-414b-b211-4a66299ebf76/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/00d6d4e8-765e-414b-b211-4a66299ebf76/

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.