Scan timing: clone 5.28s · analysis 22.31s · 20.6 MB · GitHub API rate-limit (preflight)
https://github.com/sqlalchemy/sqlalchemy
· scanned 2026-06-05 14:32 UTC (5 days, 5 hours ago)
· 10 languages
1278 raw signals (150 security + 1128 graph) 35th percentile · Python · huge (>500K LoC) System graph score 77 (lower by 3)
Last scanned 5 days, 5 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 |
All 31347 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 |
|---|---|---|---|
_setup_for_driver |
software | healthy | noxfile.py:63 |
tests |
software | healthy | noxfile.py:133 |
coverage |
software | healthy | noxfile.py:158 |
github_cext_greenlet |
software | healthy | noxfile.py:174 |
github_cext |
software | healthy | noxfile.py:181 |
github_nocext |
software | healthy | noxfile.py:188 |
_tests |
software | healthy | noxfile.py:194 |
test_pep484 |
software | healthy | noxfile.py:327 |
test_mypy |
software | healthy | noxfile.py:342 |
test_pep8 |
software | healthy | noxfile.py:361 |
no_support |
software | healthy | test/requirements.py:22 |
exclude |
software | healthy | test/requirements.py:26 |
deferrable_or_no_constraints |
software | healthy | test/requirements.py:32 |
check_constraints |
software | healthy | test/requirements.py:44 |
enforces_check_constraints |
software | healthy | test/requirements.py:50 |
named_constraints |
software | healthy | test/requirements.py:59 |
implicitly_named_constraints |
software | healthy | test/requirements.py:65 |
foreign_keys |
software | healthy | test/requirements.py:71 |
foreign_key_cycles_w_cascade |
software | healthy | test/requirements.py:77 |
foreign_keys_reflect_as_index |
software | healthy | test/requirements.py:81 |
unique_index_reflect_as_unique_constraints |
software | healthy | test/requirements.py:85 |
unique_constraints_reflect_as_index |
software | healthy | test/requirements.py:89 |
foreign_key_constraint_name_reflection |
software | healthy | test/requirements.py:93 |
table_ddl_if_exists |
software | healthy | test/requirements.py:101 |
create_table_as |
software | healthy | test/requirements.py:107 |
create_temp_table_as |
software | healthy | test/requirements.py:115 |
index_ddl_if_exists |
software | healthy | test/requirements.py:121 |
on_update_cascade |
software | healthy | test/requirements.py:128 |
non_updating_cascade |
software | healthy | test/requirements.py:138 |
recursive_fk_cascade |
software | healthy | test/requirements.py:147 |
deferrable_fks |
software | healthy | test/requirements.py:154 |
foreign_key_constraint_option_reflection_ondelete |
software | healthy | test/requirements.py:160 |
fk_constraint_option_reflection_ondelete_restrict |
software | healthy | test/requirements.py:166 |
fk_constraint_option_reflection_ondelete_noaction |
software | healthy | test/requirements.py:170 |
foreign_key_constraint_option_reflection_onupdate |
software | healthy | test/requirements.py:174 |
fk_constraint_option_reflection_onupdate_restrict |
software | healthy | test/requirements.py:178 |
temp_table_comment_reflection |
software | healthy | test/requirements.py:182 |
comment_reflection |
software | healthy | test/requirements.py:186 |
comment_reflection_full_unicode |
software | healthy | test/requirements.py:190 |
constraint_comment_reflection |
software | healthy | test/requirements.py:194 |
column_collation_reflection |
software | healthy | test/requirements.py:198 |
unbounded_varchar |
software | healthy | test/requirements.py:202 |
boolean_col_expressions |
software | healthy | test/requirements.py:211 |
non_native_boolean_unconstrained |
software | healthy | test/requirements.py:221 |
server_defaults |
software | healthy | test/requirements.py:240 |
expression_server_defaults |
software | healthy | test/requirements.py:246 |
qmark_paramstyle |
software | healthy | test/requirements.py:253 |
named_paramstyle |
software | healthy | test/requirements.py:257 |
format_paramstyle |
software | healthy | test/requirements.py:261 |
pyformat_paramstyle |
software | healthy | test/requirements.py:277 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
DefaultRequirements |
software | healthy | test/requirements.py:30 |
DocTest |
software | healthy | test/base/test_tutorials.py:16 |
MyStream |
software | healthy | test/base/test_tutorials.py:25 |
WarnDeprecatedLimitedTest |
software | healthy | test/base/test_warnings.py:11 |
ClsWarningTest |
software | healthy | test/base/test_warnings.py:42 |
Connectable |
software | healthy | test/base/test_warnings.py:45 |
PlainClass |
software | healthy | test/base/test_warnings.py:66 |
DependencySortTest |
software | healthy | test/base/test_dependency.py:9 |
TestAsyncioCompat |
software | healthy | test/base/test_concurrency.py:41 |
TestAsyncAdaptedQueue |
software | healthy | test/base/test_concurrency.py:194 |
GreenletImportTests |
software | healthy | test/base/test_concurrency.py:247 |
GracefulNoGreenletTest |
software | healthy | test/base/test_concurrency.py:267 |
WeakSequenceTest |
software | healthy | test/base/test_utils.py:45 |
Foo |
software | healthy | test/base/test_utils.py:3715 |
MergeListsWOrderingTest |
software | healthy | test/base/test_utils.py:91 |
OrderedDictTest |
software | healthy | test/base/test_utils.py:134 |
OrderedSetTest |
software | healthy | test/base/test_utils.py:223 |
ImmutableDictTest |
software | healthy | test/base/test_utils.py:377 |
ImmutableTest |
software | healthy | test/base/test_utils.py:601 |
MemoizedAttrTest |
software | healthy | test/base/test_utils.py:630 |
Foob |
software | healthy | test/base/test_utils.py:670 |
WrapCallableTest |
software | healthy | test/base/test_utils.py:695 |
MyFancyDefault |
software | healthy | test/base/test_utils.py:752 |
ToListTest |
software | healthy | test/base/test_utils.py:778 |
ColumnCollectionCommon |
software | healthy | test/base/test_utils.py:804 |
ColumnCollectionTest |
software | healthy | test/base/test_utils.py:977 |
DedupeColumnCollectionTest |
software | healthy | test/base/test_utils.py:1088 |
LRUTest |
software | healthy | test/base/test_utils.py:1535 |
item |
software | healthy | test/base/test_utils.py:1537 |
ImmutableSubclass |
software | healthy | test/base/test_utils.py:1578 |
FlattenIteratorTest |
software | healthy | test/base/test_utils.py:1582 |
IterString |
software | healthy | test/base/test_utils.py:1601 |
HashOverride |
software | healthy | test/base/test_utils.py:1610 |
NoHash |
software | healthy | test/base/test_utils.py:1618 |
EqOverride |
software | healthy | test/base/test_utils.py:1625 |
HashEqOverride |
software | healthy | test/base/test_utils.py:1644 |
MiscTest |
software | healthy | test/base/test_utils.py:1664 |
IdentitySetTest |
software | healthy | test/base/test_utils.py:1688 |
NoHashIdentitySetTest |
software | healthy | test/base/test_utils.py:2236 |
OrderedIdentitySetTest |
software | healthy | test/base/test_utils.py:2240 |
DictlikeIteritemsTest |
software | healthy | test/base/test_utils.py:2274 |
subdict |
software | healthy | test/base/test_utils.py:2289 |
duck2 |
software | healthy | test/base/test_utils.py:2299 |
duck4 |
software | healthy | test/base/test_utils.py:2306 |
duck5 |
software | healthy | test/base/test_utils.py:2313 |
duck6 |
software | healthy | test/base/test_utils.py:2323 |
DuckTypeCollectionTest |
software | healthy | test/base/test_utils.py:2330 |
SetLike |
software | healthy | test/base/test_utils.py:2332 |
ForcedSet |
software | healthy | test/base/test_utils.py:2336 |
ArgInspectionTest |
software | healthy | test/base/test_utils.py:2350 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
noxfile.py |
software | healthy | noxfile.py |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
setup.py |
software | warning | setup.py |
pyproject.toml |
software | healthy | pyproject.toml |
reap_dbs.py |
software | warning | reap_dbs.py |
__init__.py |
software | healthy | test/__init__.py |
conftest.py |
software | warning | test/conftest.py |
requirements.py |
software | healthy | test/requirements.py |
__init__.py |
software | healthy | test/base/__init__.py |
test_tutorials.py |
software | healthy | test/base/test_tutorials.py |
test_warnings.py |
software | healthy | test/base/test_warnings.py |
test_dependency.py |
software | healthy | test/base/test_dependency.py |
test_concurrency.py |
software | healthy | test/base/test_concurrency.py |
test_utils.py |
software | healthy | test/base/test_utils.py |
test_inspect.py |
software | healthy | test/base/test_inspect.py |
test_events.py |
software | healthy | test/base/test_events.py |
test_examples.py |
software | healthy | test/base/test_examples.py |
test_result.py |
software | healthy | test/base/test_result.py |
_concurrency_fixtures.py |
software | healthy | test/base/_concurrency_fixtures.py |
test_except.py |
software | healthy | test/base/test_except.py |
test_typing_utils.py |
software | healthy | test/base/test_typing_utils.py |
test_automap.py |
software | healthy | test/ext/test_automap.py |
__init__.py |
software | healthy | test/ext/__init__.py |
test_indexable.py |
software | healthy | test/ext/test_indexable.py |
test_compiler.py |
software | healthy | test/ext/test_compiler.py |
test_extendedattr.py |
software | healthy | test/ext/test_extendedattr.py |
test_horizontal_shard.py |
software | healthy | test/ext/test_horizontal_shard.py |
test_deprecations.py |
software | healthy | test/ext/test_deprecations.py |
test_serializer.py |
software | healthy | test/ext/test_serializer.py |
test_mutable.py |
software | healthy | test/ext/test_mutable.py |
test_orderinglist.py |
software | healthy | test/ext/test_orderinglist.py |
test_associationproxy.py |
software | healthy | test/ext/test_associationproxy.py |
test_baked.py |
software | healthy | test/ext/test_baked.py |
test_hybrid.py |
software | healthy | test/ext/test_hybrid.py |
__init__.py |
software | healthy | test/ext/asyncio/__init__.py |
test_scoping.py |
software | healthy | test/ext/asyncio/test_scoping.py |
test_session.py |
software | healthy | test/ext/asyncio/test_session.py |
test_engine.py |
software | healthy | test/ext/asyncio/test_engine.py |
__init__.py |
software | healthy | test/ext/declarative/__init__.py |
test_reflection.py |
software | healthy | test/ext/declarative/test_reflection.py |
test_deprecations.py |
software | healthy | test/ext/declarative/test_deprecations.py |
test_inheritance.py |
software | healthy | test/ext/declarative/test_inheritance.py |
test_sequences.py |
software | healthy | test/sql/test_sequences.py |
test_roles.py |
software | healthy | test/sql/test_roles.py |
test_type_expressions.py |
software | healthy | test/sql/test_type_expressions.py |
test_select.py |
software | healthy | test/sql/test_select.py |
test_tstrings_py314.py |
software | warning | test/sql/test_tstrings_py314.py |
test_text.py |
software | healthy | test/sql/test_text.py |
__init__.py |
software | healthy | test/sql/__init__.py |
test_types.py |
software | healthy | test/sql/test_types.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
to |
data | healthy | lib/sqlalchemy/dialects/oracle/provision.py |
not |
data | healthy | lib/sqlalchemy/dialects/sqlite/base.py |
AS |
data | healthy | lib/sqlalchemy/dialects/mssql/base.py |
statements |
data | healthy | lib/sqlalchemy/sql/crud.py |
Base |
data | healthy | lib/sqlalchemy/testing/fixtures/base.py |
Base |
data | healthy | lib/sqlalchemy/testing/fixtures/base.py |
_DeclBase |
data | healthy | lib/sqlalchemy/testing/fixtures/orm.py |
Employee |
data | healthy | examples/nested_sets/nested_sets.py |
personnel |
data | healthy | examples/nested_sets/nested_sets.py |
Country |
data | healthy | examples/dogpile_caching/model.py |
City |
data | healthy | examples/dogpile_caching/model.py |
PostalCode |
data | healthy | examples/dogpile_caching/model.py |
Address |
data | healthy | examples/dogpile_caching/model.py |
Person |
data | healthy | examples/dogpile_caching/model.py |
country |
data | healthy | examples/dogpile_caching/model.py |
city |
data | healthy | examples/dogpile_caching/model.py |
postal_code |
data | healthy | examples/dogpile_caching/model.py |
address |
data | healthy | examples/dogpile_caching/model.py |
person |
data | healthy | examples/dogpile_caching/model.py |
Base |
data | healthy | examples/generic_associations/table_per_association.py |
Address |
data | healthy | examples/generic_associations/table_per_association.py |
Customer |
data | healthy | examples/generic_associations/table_per_association.py |
Supplier |
data | healthy | examples/generic_associations/table_per_association.py |
Base |
data | healthy | examples/generic_associations/discriminator_on_association.… |
AddressAssociation |
data | healthy | examples/generic_associations/discriminator_on_association.… |
Address |
data | healthy | examples/generic_associations/discriminator_on_association.… |
Customer |
data | healthy | examples/generic_associations/discriminator_on_association.… |
Supplier |
data | healthy | examples/generic_associations/discriminator_on_association.… |
address_association |
data | healthy | examples/generic_associations/discriminator_on_association.… |
Base |
data | healthy | examples/generic_associations/generic_fk.py |
Address |
data | healthy | examples/generic_associations/generic_fk.py |
Customer |
data | healthy | examples/generic_associations/generic_fk.py |
Supplier |
data | healthy | examples/generic_associations/generic_fk.py |
Base |
data | healthy | examples/generic_associations/table_per_related.py |
Customer |
data | healthy | examples/generic_associations/table_per_related.py |
Supplier |
data | healthy | examples/generic_associations/table_per_related.py |
Parent |
data | healthy | examples/versioned_rows/versioned_update_old_row.py |
Child |
data | healthy | examples/versioned_rows/versioned_update_old_row.py |
parent |
data | healthy | examples/versioned_rows/versioned_update_old_row.py |
child |
data | healthy | examples/versioned_rows/versioned_update_old_row.py |
ConfigData |
data | healthy | examples/versioned_rows/versioned_map.py |
ConfigValueAssociation |
data | healthy | examples/versioned_rows/versioned_map.py |
ConfigValue |
data | healthy | examples/versioned_rows/versioned_map.py |
config |
data | healthy | examples/versioned_rows/versioned_map.py |
config_value_association |
data | healthy | examples/versioned_rows/versioned_map.py |
config_value |
data | healthy | examples/versioned_rows/versioned_map.py |
Example |
data | healthy | examples/versioned_rows/versioned_rows.py |
Parent |
data | healthy | examples/versioned_rows/versioned_rows.py |
Child |
data | healthy | examples/versioned_rows/versioned_rows.py |
example |
data | healthy | examples/versioned_rows/versioned_rows.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
test |
software | healthy | test |
base |
software | healthy | test/base |
ext |
software | healthy | test/ext |
asyncio |
software | healthy | test/ext/asyncio |
declarative |
software | healthy | test/ext/declarative |
sql |
software | healthy | test/sql |
orm |
software | healthy | test/orm |
inheritance |
software | healthy | test/orm/inheritance |
dml |
software | healthy | test/orm/dml |
declarative |
software | healthy | test/orm/declarative |
dialect |
software | healthy | test/dialect |
mysql |
software | healthy | test/dialect/mysql |
oracle |
software | healthy | test/dialect/oracle |
postgresql |
software | healthy | test/dialect/postgresql |
sqlite |
software | healthy | test/dialect/sqlite |
mssql |
software | healthy | test/dialect/mssql |
engine |
software | healthy | test/engine |
typing |
software | healthy | test/typing |
plain_files |
software | healthy | test/typing/plain_files |
ext |
software | healthy | test/typing/plain_files/ext |
orderinglist |
software | healthy | test/typing/plain_files/ext/orderinglist |
asyncio |
software | healthy | test/typing/plain_files/ext/asyncio |
hybrid |
software | healthy | test/typing/plain_files/ext/hybrid |
association_proxy |
software | healthy | test/typing/plain_files/ext/association_proxy |
dialects |
software | healthy | test/typing/plain_files/dialects |
mysql |
software | healthy | test/typing/plain_files/dialects/mysql |
postgresql |
software | healthy | test/typing/plain_files/dialects/postgresql |
sqlite |
software | healthy | test/typing/plain_files/dialects/sqlite |
sql |
software | healthy | test/typing/plain_files/sql |
orm |
software | healthy | test/typing/plain_files/orm |
engine |
software | healthy | test/typing/plain_files/engine |
aaa_profiling |
software | healthy | test/aaa_profiling |
perf |
software | healthy | test/perf |
compiled_extensions |
software | healthy | test/perf/compiled_extensions |
lib |
software | healthy | lib |
sqlalchemy |
software | healthy | lib/sqlalchemy |
ext |
software | healthy | lib/sqlalchemy/ext |
asyncio |
software | healthy | lib/sqlalchemy/ext/asyncio |
declarative |
software | healthy | lib/sqlalchemy/ext/declarative |
testing |
software | healthy | lib/sqlalchemy/testing |
plugin |
software | healthy | lib/sqlalchemy/testing/plugin |
fixtures |
software | healthy | lib/sqlalchemy/testing/fixtures |
suite |
software | healthy | lib/sqlalchemy/testing/suite |
util |
software | healthy | lib/sqlalchemy/util |
connectors |
software | healthy | lib/sqlalchemy/connectors |
future |
software | healthy | lib/sqlalchemy/future |
dialects |
software | healthy | lib/sqlalchemy/dialects |
mysql |
software | healthy | lib/sqlalchemy/dialects/mysql |
oracle |
software | healthy | lib/sqlalchemy/dialects/oracle |
postgresql |
software | healthy | lib/sqlalchemy/dialects/postgresql |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
192.168.1.1 |
network | healthy | test/dialect/mysql/test_types.py |
5.6.15.10 |
network | healthy | test/dialect/mysql/test_dialect.py |
1.1.1.1 |
network | healthy | test/dialect/postgresql/test_types.py |
10.1.2.25 |
network | healthy | test/dialect/postgresql/test_types.py |
192.168.22.5 |
network | healthy | test/dialect/postgresql/test_types.py |
10.0.0.0 |
network | healthy | test/dialect/postgresql/test_types.py |
192.168.1.0 |
network | healthy | test/dialect/postgresql/test_types.py |
192.168.0.0 |
network | healthy | test/dialect/postgresql/test_types.py |
192.168.1.25 |
network | healthy | test/dialect/postgresql/test_types.py |
127.0.0.1 |
network | healthy | test/dialect/postgresql/test_types.py |
192.168.100.128 |
network | healthy | test/dialect/postgresql/test_types.py |
1.2.3.0 |
network | healthy | test/dialect/postgresql/test_types.py |
9.1.2.2 |
network | healthy | test/dialect/postgresql/test_dialect.py |
9.2.4.0 |
network | healthy | test/dialect/postgresql/test_dialect.py |
192.168.1.50 |
network | healthy | test/dialect/postgresql/test_dialect.py |
10.20.30.40 |
network | healthy | test/engine/test_parseconnect.py |
192.168.0.134 |
network | healthy | lib/sqlalchemy/dialects/mysql/mysqldb.py |
192.168.0.199 |
network | healthy | lib/sqlalchemy/dialects/postgresql/psycopg2.py |
1.7.9.10 |
network | healthy | examples/materialized_paths/materialized_paths.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:111 |
network | healthy | test/dialect/postgresql/test_dialect.py |
port:5432 |
network | healthy | test/dialect/postgresql/test_dialect.py |
port:12345 |
network | healthy | test/dialect/mssql/test_engine.py |
port:50001 |
network | healthy | test/dialect/mssql/test_engine.py |
port:3307 |
network | healthy | lib/sqlalchemy/dialects/mysql/pyodbc.py |
port:1521 |
network | healthy | lib/sqlalchemy/dialects/oracle/oracledb.py |
port:1433 |
network | healthy | lib/sqlalchemy/dialects/mssql/pyodbc.py |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | noxfile.py |
postgresql |
data | healthy | noxfile.py |
mysql |
data | healthy | noxfile.py |
mariadb |
data | healthy | pyproject.toml |
postgres |
data | healthy | test/dialect/postgresql/test_query.py |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::test/orm/inheritance/test_basic.py |
security | healthy | test/orm/inheritance/test_basic.py |
password_literal::test/dialect/mysql/test_reflection.py |
security | healthy | test/dialect/mysql/test_reflection.py |
password_literal::test/dialect/mysql/test_reflection.py |
security | healthy | test/dialect/mysql/test_reflection.py |
password_literal::test/engine/test_parseconnect.py |
security | healthy | test/engine/test_parseconnect.py |
password_literal::lib/sqlalchemy/dialects/mysql/mysqldb.py |
security | healthy | lib/sqlalchemy/dialects/mysql/mysqldb.py |
| Label | Layer | Status | Path |
|---|---|---|---|
build_wheels |
cicd | healthy | .github/workflows/create-wheels.yaml |
run-test |
cicd | healthy | .github/workflows/run-test.yaml |
run-nox |
cicd | healthy | .github/workflows/run-test.yaml |
run-test-amd64 |
cicd | healthy | .github/workflows/run-on-pr.yaml |
run-nox |
cicd | healthy | .github/workflows/run-on-pr.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::create-wheels |
cicd | healthy | .github/workflows/create-wheels.yaml |
gha::run-test |
cicd | healthy | .github/workflows/run-test.yaml |
gha::run-on-pr |
cicd | healthy | .github/workflows/run-on-pr.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::gcp |
hardware | healthy | test/dialect/postgresql/test_dialect.py |
vps::azure |
hardware | healthy | test/dialect/mssql/test_engine.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-ujlg0404 |
software | healthy | /tmp/repobility-clone-ujlg0404 |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/32a48efe-ddc4-452c-a79e-2a21ab375140/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/32a48efe-ddc4-452c-a79e-2a21ab375140/
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.