# System map — sqlalchemy/sqlalchemy

> Canonical page: https://codevetter.com/unpack/sqlalchemy/system-map

# System map — sqlalchemy/sqlalchemy

Scanned commit 890d62f4337fe4af1afc36358fb536cf754fc231 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The primary entrypoints are imported Python APIs rather than an application startup command. Core separates SQL construction and compilation from connection ownership and driver execution; the ORM adds mapping and session state above that boundary. Database drivers own external persistence, while SQLAlchemy owns pools, compiled statements, and mapped-object state in process. Packaging supports Python and optional Cython implementations, with Nox and GitHub Actions coordinating verification and wheel production.
- lib/sqlalchemy/__init__.py exposes create_engine, Engine, Connection, Result, URL, pools, schema objects, and SQL expression constructors as the public package facade. — [lib/sqlalchemy/__init__.py#L13-L56](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/__init__.py#L13-L56) [lib/sqlalchemy/__init__.py#L57-L105](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/__init__.py#L57-L105)
- An Engine references a Dialect and Pool; ordinary construction defers the first DBAPI connection until connect(), begin(), or dependent Session work requires it. — [doc/build/core/engines.rst#L7-L38](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/doc/build/core/engines.rst#L7-L38) [lib/sqlalchemy/engine/create.py#L617-L645](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/engine/create.py#L617-L645)
- SQLCompiler, DDLCompiler, and GenericTypeCompiler render SQL, schema statements, and type specifications; executable expression objects enter the connection layer through _execute_on_connection. — [lib/sqlalchemy/sql/compiler.py#L9-L23](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/sql/compiler.py#L9-L23) [lib/sqlalchemy/sql/elements.py#L524-L537](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/sql/elements.py#L524-L537)
- Mapper associates Python classes with relational structures, Session orchestrates flushes, and UOWTransaction owns dependency-ordered flush actions. — [lib/sqlalchemy/orm/mapper.py#L168-L185](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/orm/mapper.py#L168-L185) [lib/sqlalchemy/orm/session.py#L4504-L4516](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/orm/session.py#L4504-L4516) [lib/sqlalchemy/orm/unitofwork.py#L156-L202](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/orm/unitofwork.py#L156-L202)
- Built-in dialect loading covers MSSQL, MySQL, Oracle, PostgreSQL, and SQLite, with a MariaDB loader branch; optional dependency groups select concrete synchronous and async drivers. — [lib/sqlalchemy/dialects/__init__.py#L21-L55](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/dialects/__init__.py#L21-L55) [pyproject.toml#L45-L89](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/pyproject.toml#L45-L89)
- The external storage boundary is the DBAPI: DefaultDialect.connect calls loaded_dbapi.connect, execution calls cursor methods, and commit calls the driver's connection.commit. — [lib/sqlalchemy/engine/default.py#L867-L875](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/engine/default.py#L867-L875) [lib/sqlalchemy/engine/default.py#L1188-L1195](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/engine/default.py#L1188-L1195) [lib/sqlalchemy/engine/default.py#L946-L954](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/lib/sqlalchemy/engine/default.py#L946-L954)
- The setuptools package requires Python >=3.11 and typing-extensions; CPython builds can compile eight Cython modules, controlled by DISABLE_SQLALCHEMY_CEXT and REQUIRE_SQLALCHEMY_CEXT. — [pyproject.toml#L1-L6](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/pyproject.toml#L1-L6) [pyproject.toml#L31-L35](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/pyproject.toml#L31-L35) [setup.py#L25-L46](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/setup.py#L25-L46) [setup.py#L48-L91](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/setup.py#L48-L91)
- Verification uses pytest through Nox, while release-created GitHub workflows build compiled and pure-Python wheels with cibuildwheel or python -m build. — [README.unittests.rst#L8-L17](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/README.unittests.rst#L8-L17) [README.unittests.rst#L58-L77](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/README.unittests.rst#L58-L77) [.github/workflows/create-wheels.yaml#L3-L6](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/.github/workflows/create-wheels.yaml#L3-L6) [.github/workflows/create-wheels.yaml#L86-L108](https://github.com/sqlalchemy/sqlalchemy/blob/890d62f4337fe4af1afc36358fb536cf754fc231/.github/workflows/create-wheels.yaml#L86-L108)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
