rusackas commented on PR #40548:
URL: https://github.com/apache/superset/pull/40548#issuecomment-4582173947

   **Automated dependency review - needs manual attention**
   
   This PR bumps `syntaqlite` from 0.1.0 to 0.5.9. CI is failing on the Python 
3.10 matrix jobs (`unit-tests (previous)` and `test-postgres (previous)`) with:
   
   ```
   ImportError: cannot import name 'StrEnum' from 'enum' 
(/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/enum.py)
   ```
   
   **Root cause**: `syntaqlite` 0.5.x uses `enum.StrEnum` which was added in 
Python 3.11. However, the package declares `requires_python = ">=3.10"` in its 
metadata, so pip happily installs it on Python 3.10 — and then it crashes at 
import time.
   
   Superset's `pyproject.toml` declares `requires-python = ">=3.10"` and the CI 
matrix tests against Python 3.10 ("previous"), 3.11 ("current"), and 3.12 
("next").
   
   **Options for resolution**:
   1. Wait for the upstream package to fix its metadata to declare 
`requires_python = ">=3.11"` — then this PR would simply not be installable on 
Python 3.10, which is a clear and correct signal
   2. Pin `syntaqlite` to `<0.5.0` in `pyproject.toml` to hold at a version 
that actually works on Python 3.10
   3. Drop Python 3.10 support in Superset (a broader decision)
   4. Add a try/except compatibility shim in 
`superset/sql_validators/sqlite.py` for the `syntaqlite` import on Python 3.10
   
   This cannot be fixed automatically and requires a human decision.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to