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]
