Scan timing: clone 3.97s · analysis 20.79s · 20.6 MB · GitHub API rate-limit (preflight)
https://github.com/zzzeek/sqlalchemy
· scanned 2026-06-05 14:27 UTC (5 days, 4 hours ago)
· 10 languages
1276 raw signals (150 security + 1126 graph) 35th percentile · Python · huge (>500K LoC) System graph score 77 (lower by 3)
Last scanned 5 days, 4 hours ago · v2 · 586 actionable findings from 2 signal sources. 127 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 |
85.0 | 0.15 | 12.75 |
security_score |
60.9 | 0.25 | 15.22 |
testing_score |
97.0 | 0.20 | 19.40 |
documentation_score |
85.0 | 0.15 | 12.75 |
practices_score |
75.0 | 0.15 | 11.25 |
code_quality |
30.6 | 0.10 | 3.06 |
| Overall | 1.00 | 74.4 |
Showing 388 of 586 actionable findings. 713 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
examples/versioned_history/history_meta.py:322lib/sqlalchemy/orm/mapped_collection.py:321lib/sqlalchemy/orm/unitofwork.py:247test/sql/test_functions.py:1978lib/sqlalchemy/dialects/mssql/base.py:2118lib/sqlalchemy/dialects/mysql/base.py:1745lib/sqlalchemy/dialects/sqlite/base.py:1511lib/sqlalchemy/orm/evaluator.py:223lib/sqlalchemy/sql/compiler.py:5323lib/sqlalchemy/sql/selectable.py:4816lib/sqlalchemy/testing/exclusions.py:58test/dialect/oracle/_oracledb_mode.py:21lib/sqlalchemy/dialects/mysql/mysqldb.py:204
test/requirements.py:53, 54, 96, 97, 167, 179, 249, 303, +13 more (23 hits)tools/trace_orm_adapter.py:52, 56 (2 hits).github/workflows/run-on-pr.yaml:42, 45, 77, 80 (8 hits).github/workflows/run-test.yaml:104, 107, 142, 145 (8 hits).github/workflows/create-wheels.yaml:70, 103 (3 hits)noxfile.py:342
noxfile.py:327
noxfile.py:361
.pre-commit-config.yaml:6, 10, 15 (3 hits)lib/sqlalchemy/orm/clsregistry.py:592
Eval used
lib/sqlalchemy/util/typing.py:265
Eval used
lib/sqlalchemy/orm/instrumentation.py:735
Exec used
lib/sqlalchemy/sql/lambdas.py:1264
Exec used
lib/sqlalchemy/util/langhelpers.py:352
Exec used
lib/sqlalchemy/engine/base.py:647, 1121, 1164, 1199, 1211, 1234, 1506, 1796, +1 more (9 hits)test/perf/compiled_extensions/base.py:47, 106 (2 hits)lib/sqlalchemy/engine/util.py:135lib/sqlalchemy/exc.py:759test/perf/compiled_extensions/command.py:53test/perf/invalidate_stresstest.py:34test/perf/many_table_reflection.py:554test/requirements.py:1337lib/sqlalchemy/util/compat.py:187
.github/workflows/create-wheels.yaml:75, 93, 122 (5 hits)lib/sqlalchemy/dialects/mysql/asyncmy.py:82, 101 (2 hits)lib/sqlalchemy/dialects/mssql/mssqlpython.py:84lib/sqlalchemy/dialects/mysql/aiomysql.py:91lib/sqlalchemy/dialects/mysql/json.py:25lib/sqlalchemy/dialects/mysql/mysqlconnector.py:192lib/sqlalchemy/dialects/oracle/json.py:78lib/sqlalchemy/dialects/postgresql/pg8000.py:85lib/sqlalchemy/dialects/postgresql/psycopg2.py:365repo-level (15 hits)repo-level (3 hits)lib/sqlalchemy/util/langhelpers.py:1424
lib/sqlalchemy/log.py:71
lib/sqlalchemy/util/compat.py:166
lib/sqlalchemy/util/langhelpers.py:1467
lib/sqlalchemy/ext/orderinglist.py:206
lib/sqlalchemy/ext/orderinglist.py:212
lib/sqlalchemy/log.py:175
lib/sqlalchemy/ext/instrumentation.py:209
lib/sqlalchemy/ext/associationproxy.py:850
lib/sqlalchemy/log.py:169
lib/sqlalchemy/util/cython.py:58
lib/sqlalchemy/ext/horizontal_shard.py:426
lib/sqlalchemy/ext/hybrid.py:1746
lib/sqlalchemy/ext/instrumentation.py:69
lib/sqlalchemy/util/langhelpers.py:737
lib/sqlalchemy/ext/mutable.py:710
lib/sqlalchemy/ext/mutable.py:529
lib/sqlalchemy/util/langhelpers.py:1047
lib/sqlalchemy/util/langhelpers.py:1388
lib/sqlalchemy/ext/associationproxy.py:856
lib/sqlalchemy/ext/orderinglist.py:331
lib/sqlalchemy/util/deprecations.py:301
lib/sqlalchemy/util/cython.py:66
lib/sqlalchemy/ext/mutable.py:537
lib/sqlalchemy/ext/instrumentation.py:202
lib/sqlalchemy/util/langhelpers.py:1834
Showing first 300 of 388. Refine filters or use the findings page for deep search.
This page is publicly accessible at:
https://repobility.com/scan/9886b44b-ae02-4216-82f5-3fa2f88cece3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/9886b44b-ae02-4216-82f5-3fa2f88cece3/
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.