You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "rusackas (via GitHub)" <gi...@apache.org> on 2026/07/28 17:13:08 UTC
[PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
rusackas opened a new pull request, #42542:
URL: https://github.com/apache/superset/pull/42542
### SUMMARY
See #40273 (SQLAlchemy 2.0 migration battleplan). Steps 1-5 of the battleplan are done as of this week (#42277, #42365 merged, `__allow_unmapped__` landed in #41179). This PR is prep for step 6, the actual core `sqlalchemy` bump: it bumps every SQLAlchemy-dependent driver/framework package Superset ships (default install + every optional dialect extra) to the newest version that supports **both** SQLAlchemy 1.4 and 2.0, so the driver work can be merged and tested independently under today's SQLAlchemy 1.4 pin, before the core bump happens as its own small, final PR.
**The one bump that actually matters:** `flask-sqlalchemy` was purely transitive (via `flask-appbuilder`, resolving to `2.5.1`, 1.4-only) — now pinned explicitly at `>=3.0.5,<3.1`, the last release before 3.1.0 drops SQLAlchemy 1.4 support. `flask-appbuilder` (5.2.2) and `marshmallow-sqlalchemy` (1.5.0) are already dual-compatible as currently pinned, `alembic` and `flask-migrate` are both unbounded on SQLAlchemy — no changes needed there. Superset's own code already has forward-compat shims in place for this bump (`superset/queries/filters.py`, `superset/extensions/__init__.py`), which is presumably why it went this smoothly.
**Small, safe bumps:**
- `sqlalchemy-bigquery` 1.17.0 → 1.17.1 (patch; `googleapis/python-bigquery-sqlalchemy` was archived 2026-05-16, likely its final release)
- `sqlalchemy-cratedb` 0.41.0 → 0.43.1
- `sqlalchemy-drill`: dropped an artificial `<2` SQLAlchemy-version ceiling upstream never had (1.1.10 already ships `import_dbapi`)
- `firebolt-sqlalchemy` 1.0.0 → 1.1.2
- `sqlalchemy-ocient` 1.0.0 → 3.0.0 (lower confidence — closed-source vendor package, no public changelog to verify against)
- `snowflake-sqlalchemy`'s floor was already independently bumped by dependabot (#42418) to the same target this research landed on — nothing to do there.
**Five extras skipped for now — no dual-compat version exists:** `sqlalchemy-risingwave`, `sqlalchemy-exasol`, `sqlalchemy-firebird`, `sqlalchemy-redshift`, and `sqlalchemy-dremio`'s newest release all cut hard from SQLAlchemy-1.4-only straight to 2.0-only with zero overlapping version. Each is pinned to its last 1.4-only release with a comment explaining why, and the SQLAlchemy-2.0 target version to bump to **once the core sqlalchemy bump lands, not before**.
**Four extras flagged as currently unsupported under SQLAlchemy 2.0:** `sqlalchemy-kusto`, `sqlalchemy-aurora-data-api` (including our own dormant `preset-io` fork), `sqlalchemy-solr`, and `sqlalchemy-d1` have no SQLAlchemy 2.0 support anywhere in their ecosystem today. Rather than just noting this in the PR description, added a new `known_incompatibilities` field to `DBEngineSpecMetadata` (`superset/db_engine_specs/base.py`) that flows through to the auto-generated database docs, so this is visible to anyone looking at those DBs' docs pages, not just buried in a merged PR. Checked each project's repo (not just PyPI metadata) for a path forward:
- **kusto**: actively maintained upstream (commits within the last week), but `setup.py` on `main` hard-pins `sqlalchemy==1.4.*` — worth filing an issue asking their plans.
- **aurora-data-api**: our own fork (`preset-io/sqlalchemy-aurora-data-api`) is dead since 2021. The more active community fork (`cloud-utils/sqlalchemy-aurora-data-api`) has an open, unresolved SQLAlchemy 2.0 issue ([#43](https://github.com/cloud-utils/sqlalchemy-aurora-data-api/issues/43)) — since we already own a fork here, this is the one case where contributing a patch is realistically in our own hands rather than waiting on a stranger.
- **solr**: effectively dormant (only dependabot bumps since 2024), no engagement to build on.
- **d1**: very young (first real commits Nov 2025), no signal either way yet — probably just needs watching.
**One correction worth flagging:** `sqlalchemy-vertica-python` was initially flagged as a fifth unsupported case based on PyPI metadata alone, but turned out to already be dual-compatible — the actual merged upstream PR ([bluelabsio/sqlalchemy-vertica-python#18](https://github.com/bluelabsio/sqlalchemy-vertica-python/pull/18)) landed in the current pin (0.6.3) and adds `import_dbapi` while keeping the 1.4-style `dbapi` alias. No change needed there; removed from the flagged list once verified against the actual source.
### TESTING INSTRUCTIONS
- `requirements/base.txt` and `requirements/development.txt` regenerated via `./scripts/uv-pip-compile.sh` (the official Docker-based compile process) — full dependency resolution succeeds with no conflicts.
- Locally verified in a clean venv: app boots and `db.create_all()` succeeds cleanly under SQLAlchemy 1.4.54 + Flask-SQLAlchemy 3.0.5.
- Ran `tests/unit_tests/models/`, `tests/unit_tests/db_engine_specs/test_postgres.py`, `test_mysql.py`, `test_aurora.py`, `test_kusto.py`: 483/487 passed. The 4 `test_mysql.py` failures are a pre-existing local `mysqlclient` linkage issue on this machine (unrelated `dlopen` symbol error), not a regression from this change.
- Verified the new `known_incompatibilities` metadata flows through `generate_yaml_docs()` end-to-end for all four flagged engines (Solr, D1, Kusto, and the Aurora entries nested under MySQL/Postgres `compatible_databases`).
- Local `pre-commit` (mypy, ruff, pylint, the `db-engine-spec-metadata` validator) all pass.
### FOLLOW-UP (not in this PR)
- File an issue with `dodopizza/sqlalchemy-kusto` asking about SQLAlchemy 2.0 plans.
- Decide whether to patch our own `preset-io/sqlalchemy-aurora-data-api` fork directly, or contribute to `cloud-utils/sqlalchemy-aurora-data-api` issue #43 instead.
- `sqlalchemy-solr` and `sqlalchemy-d1` are lower priority — watch for upstream activity.
- Once this lands, consider adding an allow-to-fail CI matrix leg that installs SQLAlchemy 2.0 and runs the suite (same pattern as the existing Python `next`-version leg), so step 6 gets continuous signal before anyone commits to the actual core bump.
- The `risingwave`/`exasol`/`firebird`/`redshift`/`dremio` ceilings documented here need to flip to their 2.0-only versions in lockstep with the core `sqlalchemy` bump itself (step 6), not before.
### ADDITIONAL INFORMATION
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351))
- [ ] Migration is atomic, supports rollback & is backwards-compatible
- [ ] Confirm DB migration upgrade and downgrade tested
- [ ] Runtime estimates and downtime expectations provided
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5149057006
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3669634732
##########
superset/db_engine_specs/base.py:
##########
@@ -275,6 +275,16 @@ class CompatibleDatabase(TypedDict, total=False):
notes: str
docs_url: str
categories: list[str] # Override parent categories (e.g., for HOSTED_OPEN_SOURCE)
+ known_incompatibilities: list[KnownIncompatibility]
+
+
+class KnownIncompatibility(TypedDict, total=False):
Review Comment:
base.py has `from __future__ import annotations` at the top, so annotations are lazy strings and never get evaluated at class-body time. No NameError, ordering does not matter here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas merged PR #42542:
URL: https://github.com/apache/superset/pull/42542
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5173535358
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5122898475
@hy144328 @villebro would you be willing to review this? I _think_ the next step is to ACTUALLY bump SQLA to 2.0, bump more drivers on the same PR, and start filing issues/fixes upstream for any DBs that earn their entries in the "broken" list in UPDATING.md.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "sadpandajoe (via GitHub)" <gi...@apache.org>.
sadpandajoe commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3687074021
##########
superset/db_engine_specs/mysql.py:
##########
@@ -183,6 +184,7 @@ class MySQLEngineSpec(BasicParametersMixin, BaseEngineSpec):
DatabaseCategory.CLOUD_AWS,
DatabaseCategory.HOSTED_OPEN_SOURCE,
],
+ "known_incompatibilities": AURORA_DATA_API_KNOWN_INCOMPATIBILITIES,
Review Comment:
When docs generation falls back to AST extraction, this name is serialized as the literal string `AURORA_DATA_API_KNOWN_INCOMPATIBILITIES` rather than the list; the inline D1/Kusto/Solr values work. Could we either inline this value or teach the extractor to resolve module-level literal constants?
##########
superset/db_engine_specs/d1.py:
##########
@@ -48,4 +48,15 @@ class CloudflareD1EngineSpec(SqliteEngineSpec):
"cloudflare_d1_database_id": "D1 database ID",
},
"install_instructions": "pip install superset-engine-d1",
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "sqlalchemy-d1 is very young (single release, Nov 2025); "
+ "no confirmed SQLAlchemy 2.0 support either way yet."
+ ),
+ "tracking_url": ("https://github.com/sqlalchemy-cf-d1/sqlalchemy-d1"),
Review Comment:
The only `sqlalchemy-d1` release declares `sqlalchemy<2,>=1.4`, so “no confirmed SQLAlchemy 2.0 support either way” understates an explicit resolver incompatibility. Could we say that it excludes SQLAlchemy 2.0 so operators know this extra will block the core bump?
##########
superset/db_engine_specs/base.py:
##########
@@ -317,6 +347,11 @@ class DBEngineSpecMetadata(TypedDict, total=False):
install_instructions: str
version_requirements: str
+ # Known, currently-unresolved incompatibilities with a Superset
+ # dependency (e.g. a driver that doesn't yet support SQLAlchemy 2.0).
+ # Hopefully temporary; remove the entry once resolved upstream.
+ known_incompatibilities: list[KnownIncompatibility]
Review Comment:
This field reaches generated JSON, but the docs types and `DatabasePage` have no consumer for it, so these warnings remain invisible on the published database pages. Could we add the TypeScript contract and render these incompatibilities, including compatible-database entries?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5109651900
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "netlify[bot] (via GitHub)" <gi...@apache.org>.
netlify[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5148221240
### <span aria-hidden="true">✅</span> Deploy Preview for *superset-docs-preview* ready!
| Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | c9b1c94917bd16fff77d7b6456f068af1415ab5b |
|<span aria-hidden="true">🔍</span> Latest deploy log | https://app.netlify.com/projects/superset-docs-preview/deploys/6a6d2ad167a4ef000864f83d |
|<span aria-hidden="true">😎</span> Deploy Preview | [https://deploy-preview-42542--superset-docs-preview.netlify.app](https://deploy-preview-42542--superset-docs-preview.netlify.app) |
|<span aria-hidden="true">📱</span> Preview on mobile | <details><summary> Toggle QR Code... </summary><br /><br /><br /><br />_Use your smartphone camera to open QR code link._</details> |
|<span aria-hidden="true">🤖</span> Make changes | [Run an agent on this branch](https://app.netlify.com/projects/superset-docs-preview/agent-runs#DcpRDkAwDADQu_TbYlhG3MAxau0yCVYlEhF3t7_38V4QzZtcMAJUMCvuIRWHlJXr81ixNaTLzWpCaXgZUZYyiWXNz0TlevTUIjW-R8fRWjt4F4eO4PsB) |
---
<!-- [superset-docs-preview Preview](https://deploy-preview-42542--superset-docs-preview.netlify.app) -->
_To edit notification comments on pull requests, go to your [Netlify project configuration](https://app.netlify.com/projects/superset-docs-preview/configuration/notifications#deploy-notifications)._
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5107570689
Another incremental step, @hy144328 :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "hy144328 (via GitHub)" <gi...@apache.org>.
hy144328 commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5133204365
> @hy144328 @villebro would you be willing to review this? I _think_ the next step is to ACTUALLY bump SQLA to 2.0, bump more drivers on the same PR, and start filing issues/fixes upstream for any DBs that earn their entries in the "broken" list in UPDATING.md.
Will take a look tonight!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5107810487
## [Codecov](https://app.codecov.io/gh/apache/superset/pull/42542?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 56.54%. Comparing base ([`5aaf9d3`](https://app.codecov.io/gh/apache/superset/commit/5aaf9d337b549c2d7e7dbde174d7f32a7d474566?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`72a7e06`](https://app.codecov.io/gh/apache/superset/commit/72a7e06dd84a02f04e9f1cb683dc7e92f3ccc0a8?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 1 commits behind head on master.
> :exclamation: There is a different number of reports uploaded between BASE (5aaf9d3) and HEAD (72a7e06). Click for more details.
>
> <details><summary>HEAD has 13 uploads less than BASE</summary>
>
>| Flag | BASE (5aaf9d3) | HEAD (72a7e06) |
>|------|------|------|
>|python|13|3|
>|presto|2|1|
>|unit|3|1|
></details>
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #42542 +/- ##
==========================================
- Coverage 65.25% 56.54% -8.72%
==========================================
Files 2795 2795
Lines 157971 157966 -5
Branches 36109 36099 -10
==========================================
- Hits 103085 89315 -13770
- Misses 52892 67818 +14926
+ Partials 1994 833 -1161
```
| [Flag](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [hive](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `38.27% <100.00%> (-0.01%)` | :arrow_down: |
| [mysql](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [postgres](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [presto](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `40.18% <100.00%> (-0.01%)` | :arrow_down: |
| [python](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `41.41% <100.00%> (-17.59%)` | :arrow_down: |
| [sqlite](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [unit](https://app.codecov.io/gh/apache/superset/pull/42542/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `100.00% <ø> (ø)` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>
[:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/superset/pull/42542?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "codeant-ai-for-open-source[bot] (via GitHub)" <gi...@apache.org>.
codeant-ai-for-open-source[bot] commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3708107936
##########
superset/db_engine_specs/d1.py:
##########
@@ -48,4 +48,16 @@ class CloudflareD1EngineSpec(SqliteEngineSpec):
"cloudflare_d1_database_id": "D1 database ID",
},
"install_instructions": "pip install superset-engine-d1",
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "sqlalchemy-d1 is very young (single release, Nov 2025) "
+ "and its only release pins sqlalchemy<2,>=1.4, "
+ "explicitly excluding SQLAlchemy 2.0."
+ ),
+ "tracking_url": ("https://github.com/sqlalchemy-cf-d1/sqlalchemy-d1"),
+ "since": "2026-07-28",
+ }
Review Comment:
**Suggestion:** The UI renders this value verbatim as `Last confirmed: 2026-07-28`. Until that date, the documentation will claim that the incompatibility was confirmed in the future, which is misleading and undermines the reliability of the compatibility warning. Use the actual confirmation date or omit the field until the check has occurred. [logic error]
<details>
<summary><b>Severity Level:</b> Minor 🧹</summary>
```mdx
- ⚠️ D1 compatibility documentation reports an unperformed confirmation.
- ⚠️ Users may misjudge the warning's verification freshness.
```
</details>
[](https://app.codeant.ai/fix-in-ide?tool=cursor&prompt_id=af0e9572d4eb4ec0b95f091751133a3b&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset) [](https://app.codeant.ai/fix-in-ide?tool=vscode-claude&prompt_id=af0e9572d4eb4ec0b95f091751133a3b&service=github&base_url=https%3A%2F%2Fgithub.com&org=apache&repo=apache%2Fsuperset)
*(Use Cmd/Ctrl + Click for best experience)*
<details>
<summary><b>Prompt for AI Agent 🤖 </b></summary>
```mdx
This is a comment left during a code review.
**Path:** superset/db_engine_specs/d1.py
**Line:** 61:61
**Comment:**
*Logic Error: The UI renders this value verbatim as `Last confirmed: 2026-07-28`. Until that date, the documentation will claim that the incompatibility was confirmed in the future, which is misleading and undermines the reliability of the compatibility warning. Use the actual confirmation date or omit the field until the check has occurred.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
```
</details>
<a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F42542&comment_hash=846fef7c2a18575d42ee429e399f5ebe8697d652a6424f2893dfe83a19a8f940&reaction=like'>👍</a> | <a href='https://app.codeant.ai/feedback?pr_url=https%3A%2F%2Fgithub.com%2Fapache%2Fsuperset%2Fpull%2F42542&comment_hash=846fef7c2a18575d42ee429e399f5ebe8697d652a6424f2893dfe83a19a8f940&reaction=dislike'>👎</a>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3709792866
##########
superset/db_engine_specs/d1.py:
##########
@@ -48,4 +48,16 @@ class CloudflareD1EngineSpec(SqliteEngineSpec):
"cloudflare_d1_database_id": "D1 database ID",
},
"install_instructions": "pip install superset-engine-d1",
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "sqlalchemy-d1 is very young (single release, Nov 2025) "
+ "and its only release pins sqlalchemy<2,>=1.4, "
+ "explicitly excluding SQLAlchemy 2.0."
+ ),
+ "tracking_url": ("https://github.com/sqlalchemy-cf-d1/sqlalchemy-d1"),
+ "since": "2026-07-28",
+ }
Review Comment:
That date's already passed, not in the future. Not an issue.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5111729010
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
<details>
<summary>
Bito Usage Guide
</summary>
**Commands**
Type the following command in the pull request comment and save the comment.
- `/review` - Manually triggers a full AI review.
- `/pause` - Pauses automatic reviews on this pull request.
- `/resume` - Resumes automatic reviews.
- `/resolve` - Marks all Bito-posted review comments as resolved.
- `/abort` - Cancels all in-progress reviews.
Refer to the <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/available-commands" target="_blank" rel="noopener noreferrer">documentation</a> for additional commands.
**Configuration**
This repository uses `Superset` You can customize the agent settings <a href="https://alpha.bito.ai/home/ai-agents/code-review-agent" target="_blank" rel="noopener noreferrer">here</a> or contact your Bito workspace admin at evan@preset.io.
**Documentation & Help**
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-using-bito-cloud/create-or-customize-an-agent-instance" target="_blank" rel="noopener noreferrer">Customize agent settings</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/implementing-custom-code-review-rules" target="_blank" rel="noopener noreferrer">Review rules</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent" target="_blank" rel="noopener noreferrer">General documentation</a>
- <a href="https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/faqs" target="_blank" rel="noopener noreferrer">FAQ</a>
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3693857526
##########
superset/db_engine_specs/base.py:
##########
@@ -317,6 +347,11 @@ class DBEngineSpecMetadata(TypedDict, total=False):
install_instructions: str
version_requirements: str
+ # Known, currently-unresolved incompatibilities with a Superset
+ # dependency (e.g. a driver that doesn't yet support SQLAlchemy 2.0).
+ # Hopefully temporary; remove the entry once resolved upstream.
+ known_incompatibilities: list[KnownIncompatibility]
Review Comment:
Good catch, added the `KnownIncompatibility` TS type and rendered it in `DatabasePage.tsx`, both at the top level and inside each compatible-database entry, so this doesn't just sit unused in the JSON anymore.
##########
superset/db_engine_specs/mysql.py:
##########
@@ -183,6 +184,7 @@ class MySQLEngineSpec(BasicParametersMixin, BaseEngineSpec):
DatabaseCategory.CLOUD_AWS,
DatabaseCategory.HOSTED_OPEN_SOURCE,
],
+ "known_incompatibilities": AURORA_DATA_API_KNOWN_INCOMPATIBILITIES,
Review Comment:
Good catch, taught the AST fallback extractor to resolve module-level constants so `AURORA_DATA_API_KNOWN_INCOMPATIBILITIES` serializes to the actual list instead of the bare name. Went with resolving it over inlining, keeps the DRY reasoning behind that shared entry.
##########
superset/db_engine_specs/d1.py:
##########
@@ -48,4 +48,15 @@ class CloudflareD1EngineSpec(SqliteEngineSpec):
"cloudflare_d1_database_id": "D1 database ID",
},
"install_instructions": "pip install superset-engine-d1",
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "sqlalchemy-d1 is very young (single release, Nov 2025); "
+ "no confirmed SQLAlchemy 2.0 support either way yet."
+ ),
+ "tracking_url": ("https://github.com/sqlalchemy-cf-d1/sqlalchemy-d1"),
Review Comment:
Good catch, checked PyPI and sqlalchemy-d1's only release does pin `sqlalchemy<2,>=1.4`. Updated the reason text to say it explicitly excludes SQLAlchemy 2.0 rather than just lacking confirmation either way.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3667951079
##########
superset/db_engine_specs/mysql.py:
##########
@@ -183,6 +183,22 @@ class MySQLEngineSpec(BasicParametersMixin, BaseEngineSpec):
DatabaseCategory.CLOUD_AWS,
DatabaseCategory.HOSTED_OPEN_SOURCE,
],
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "Neither our fork (preset-io/sqlalchemy-aurora-data-api, "
+ "dormant since 2021) nor the more active community fork "
+ "(cloud-utils/sqlalchemy-aurora-data-api) has resolved "
+ "SQLAlchemy 2.0 compatibility."
+ ),
+ "tracking_url": (
+ "https://github.com/cloud-utils/"
+ "sqlalchemy-aurora-data-api/issues/43"
+ ),
+ "since": "2026-07-28",
+ }
+ ],
Review Comment:
This Aurora Data API `known_incompatibilities` block is duplicated in both `mysql.py` and `postgres.py`. To reduce divergence risk when updating the text/URL/date, consider extracting a shared constant (e.g., in a common module or in `base.py`) and referencing it from both locations.
##########
superset/db_engine_specs/base.py:
##########
@@ -275,6 +275,16 @@ class CompatibleDatabase(TypedDict, total=False):
notes: str
docs_url: str
categories: list[str] # Override parent categories (e.g., for HOSTED_OPEN_SOURCE)
+ known_incompatibilities: list[KnownIncompatibility]
+
+
+class KnownIncompatibility(TypedDict, total=False):
Review Comment:
`KnownIncompatibility` is referenced before it is defined. Without `from __future__ import annotations`, this will raise at import time when evaluating the annotation in `CompatibleDatabase`. Fix by moving `KnownIncompatibility` above `CompatibleDatabase`, or by using a forward reference (e.g., quoting `"KnownIncompatibility"`) / enabling postponed evaluation of annotations in this module.
##########
pyproject.toml:
##########
@@ -145,14 +160,27 @@ databricks = [
datafusion = ["flightsql-dbapi>=0.2.2, <0.3"]
db2 = ["ibm-db-sa<=0.4.4, >=0.4.4"]
denodo = ["denodo-sqlalchemy>=2.0.5,<2.1.0"]
-dremio = ["sqlalchemy-dremio>=1.2.1, <4"]
-drill = ["sqlalchemy-drill>=1.1.10, <2"]
+# sqlalchemy-dremio 3.0.5+ hard-pins sqlalchemy~=2.0.41, dropping 1.4; 3.0.4
+# is the last dual-compat release. Capped below 3.0.5 for now; widen back to
+# <4 in lockstep with Superset's own SQLAlchemy 2.0 core bump (discussion
+# #40273), not before.
+dremio = ["sqlalchemy-dremio>=1.2.1, <3.0.5"]
+# <2 was an artificial ceiling; upstream has no SQLAlchemy version cap and
+# 1.1.10 already supports SQLAlchemy 2.0 (added `import_dbapi` in 1.1.7).
+drill = ["sqlalchemy-drill>=1.1.10, <3"]
druid = ["pydruid>=0.6.5,<0.7"]
duckdb = ["duckdb>=1.5.4,<2", "duckdb-engine>=0.17.0"]
dynamodb = ["pydynamodb>=0.8.2"]
+# Effectively unmaintained (only dependabot bumps since 2024); hard-pinned to
+# SQLAlchemy ~1.4.7 upstream, no SQLAlchemy 2.0 work. See
+# superset/db_engine_specs/solr.py's known_incompatibilities metadata.
solr = ["sqlalchemy-solr >= 0.2.4.3"]
Review Comment:
The requirement string `"sqlalchemy-solr >= 0.2.4.3"` is likely not PEP 508–compliant due to the spaces around the version specifier, and can cause `packaging.requirements.Requirement` parsing failures depending on the installer/tooling. Remove the spaces (e.g., `"sqlalchemy-solr>=0.2.4.3"`).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "bito-code-review[bot] (via GitHub)" <gi...@apache.org>.
bito-code-review[bot] commented on PR #42542:
URL: https://github.com/apache/superset/pull/42542#issuecomment-5107356993
AI Code Review is in progress (usually takes 3 to 15 minutes unless it's a very large PR).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
Re: [PR] chore(sqla2): bump SQLAlchemy-dependent drivers to dual-compat versions [superset]
Posted by "rusackas (via GitHub)" <gi...@apache.org>.
rusackas commented on code in PR #42542:
URL: https://github.com/apache/superset/pull/42542#discussion_r3669634039
##########
pyproject.toml:
##########
@@ -145,14 +160,27 @@ databricks = [
datafusion = ["flightsql-dbapi>=0.2.2, <0.3"]
db2 = ["ibm-db-sa<=0.4.4, >=0.4.4"]
denodo = ["denodo-sqlalchemy>=2.0.5,<2.1.0"]
-dremio = ["sqlalchemy-dremio>=1.2.1, <4"]
-drill = ["sqlalchemy-drill>=1.1.10, <2"]
+# sqlalchemy-dremio 3.0.5+ hard-pins sqlalchemy~=2.0.41, dropping 1.4; 3.0.4
+# is the last dual-compat release. Capped below 3.0.5 for now; widen back to
+# <4 in lockstep with Superset's own SQLAlchemy 2.0 core bump (discussion
+# #40273), not before.
+dremio = ["sqlalchemy-dremio>=1.2.1, <3.0.5"]
+# <2 was an artificial ceiling; upstream has no SQLAlchemy version cap and
+# 1.1.10 already supports SQLAlchemy 2.0 (added `import_dbapi` in 1.1.7).
+drill = ["sqlalchemy-drill>=1.1.10, <3"]
druid = ["pydruid>=0.6.5,<0.7"]
duckdb = ["duckdb>=1.5.4,<2", "duckdb-engine>=0.17.0"]
dynamodb = ["pydynamodb>=0.8.2"]
+# Effectively unmaintained (only dependabot bumps since 2024); hard-pinned to
+# SQLAlchemy ~1.4.7 upstream, no SQLAlchemy 2.0 work. See
+# superset/db_engine_specs/solr.py's known_incompatibilities metadata.
solr = ["sqlalchemy-solr >= 0.2.4.3"]
Review Comment:
Fixed, dropped the space before `>=` in the solr extra for consistency with the rest of `pyproject.toml`.
##########
superset/db_engine_specs/mysql.py:
##########
@@ -183,6 +183,22 @@ class MySQLEngineSpec(BasicParametersMixin, BaseEngineSpec):
DatabaseCategory.CLOUD_AWS,
DatabaseCategory.HOSTED_OPEN_SOURCE,
],
+ "known_incompatibilities": [
+ {
+ "dependency": "SQLAlchemy 2.0",
+ "reason": (
+ "Neither our fork (preset-io/sqlalchemy-aurora-data-api, "
+ "dormant since 2021) nor the more active community fork "
+ "(cloud-utils/sqlalchemy-aurora-data-api) has resolved "
+ "SQLAlchemy 2.0 compatibility."
+ ),
+ "tracking_url": (
+ "https://github.com/cloud-utils/"
+ "sqlalchemy-aurora-data-api/issues/43"
+ ),
+ "since": "2026-07-28",
+ }
+ ],
Review Comment:
Pulled it into a shared `AURORA_DATA_API_KNOWN_INCOMPATIBILITIES` constant in base.py, mysql.py and postgres.py both reference it now.
##########
superset/db_engine_specs/base.py:
##########
@@ -275,6 +275,16 @@ class CompatibleDatabase(TypedDict, total=False):
notes: str
docs_url: str
categories: list[str] # Override parent categories (e.g., for HOSTED_OPEN_SOURCE)
+ known_incompatibilities: list[KnownIncompatibility]
+
+
+class KnownIncompatibility(TypedDict, total=False):
Review Comment:
Base.py has at the top, so annotations are lazy strings and never get evaluated at class-body time. No NameError, ordering doesn't matter here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org