Skip to content

Commit aa1c9cc

Browse files
Cap SQLAlchemy dependency at <3.0
sqlalchemy-dqlite subclasses the SQLite dialect and pins several SQLAlchemy-internal class attributes that the framework reads via explicit __dict__ lookups (engine/default.py's _supports_statement_cache — see aio.py note). A future SQLAlchemy 3.x may reshape those internals and silently break the dialect at runtime. Cap the dependency at <3.0 to force a deliberate audit when SQLAlchemy 3 ships. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 05f520b commit aa1c9cc

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ classifiers = [
2323
"Topic :: Database :: Front-Ends",
2424
"Typing :: Typed",
2525
]
26-
dependencies = ["dqlite-dbapi>=0.1.0", "sqlalchemy>=2.0"]
26+
dependencies = ["dqlite-dbapi>=0.1.0", "sqlalchemy>=2.0,<3.0"]
2727

2828
[tool.uv.sources]
2929
dqlite-dbapi = { path = "../python-dqlite-dbapi", editable = true }

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)