potiuk opened a new issue, #75118:
URL: https://github.com/apache/airflow/issues/75118

   The Snowflake provider caps `sqlalchemy>=1.4.54,<2.1` (added in #73822, the 
CI environment upgrade).
   
   **Why:** `snowflake-sqlalchemy` up to 1.11.1, the latest stable release, 
subclasses `sqlalchemy.orm.context.ORMSelectCompileState`. SQLAlchemy 2.1 
renamed that class to the private `_ORMSelectCompileState`, so `import 
snowflake.sqlalchemy` fails, and with it `SnowflakeHook.get_uri()` and the 
OpenLineage URI extraction. The only newer release, the pre-release 2.0.0rc2, 
itself declares `sqlalchemy>=2.0.44,<2.1`. Because the uv workspace has a 
single resolution, the cap also keeps the whole CI environment and constraints 
on SQLAlchemy 2.0.x.
   
   **Follow-up:**
   - Once a `snowflake-sqlalchemy` release supports SQLAlchemy 2.1, raise the 
provider's `snowflake-sqlalchemy` floor to it and drop the `<2.1` cap in 
`providers/snowflake/pyproject.toml`.
   - Regenerate `uv.lock` and check that the Snowflake hook tests 
(`test_hook_should_support_prepare_basic_conn_params_and_uri`) and 
`operators/test_sql.py::test_execute_openlineage_events` pass on SQLAlchemy 2.1.
   
   **Done when:** the cap is removed and the Snowflake unit tests pass with 
SQLAlchemy 2.1 in the lock.
   
   ---
   Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting
   


-- 
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]

Reply via email to