This is the time of the year when we attempt to see how far we are from supporting minor python version released in October (i.e. Python 3.13 now). Usually it takes a couple of months before we can even try - because of the number of dependencies - and it was no different this time around.
For now (it took me a better part of the day today) I managed to build the CI image with all dependencies and run `uv sync --all-extras --python 3.13 --reinstall` successfully (but with some cheating, so don't hold your breath yet). Also I bet there will be a number of test errors to fix, but for me the goal for now is to see how we stand with dependencies. For those who would like to see the changes - the PR is here https://github.com/apache/airflow/pull/46891 And let me summarize the errors/issues/inconveniences I had to workaround: *The big one:* 1) Combination of Pandas, FAB and Sqlalchemy is such that we cannot have all of them installed in Python 3.12. We can have either Pandas + Sqlalchemy 2 (no Fab) or Fab and sqlalchemy 1 (no pandas). We know we need to upgrade to sqlalchemy 2 anyway - whatever the road we choose with Fab - either vendoring in and bumping Sqlalchemy 2 or hoping for Fab 5 release. For now - I simply removed Fab provider while the PR is in draft, to see if there are no more problems, and we will have to fix it before beta I am afraid anyway. 2) as explained in [1] I had to remove google-re and I used this opportunity to make an inventory of needed changes - I will summarize them in the google-re2 thread 3) Apache Beam is as usual a problem - this time there are two incompatibilities - pyarrow and pandas - but we can simply exclude beam from 3.13 (as usual) - usually they catch-up with the new version of python when the next is released (around october). They also have a lot of deps and more "holding" than ours. 4) databricks requires bumping of databricks-connector to 4.0.0 - we might need to hold on with that one depending on resulting of tests (this is also possible with bumping pandas + sqlalchemy and was not possible before, I do not expect major problems here) 5) Bumped grpcio-tools - they were held back previously - but removal of beam, upgrade of pandas allows it to be bumped to a newer version that supports 3.13 - that is helpful for a number of providers (waeviate, qdrant) to be 3.13 compatible.. 6) Few small things removed: plyvel, ydb, possibly also yandex - depends on test results Currently there is a `uv` workspace bug that requires us to comment out rather than exclude python versions for dependencies, but I hope that - as usual - they will fix it in days rather than weeks. The issue in uv repo https://github.com/astral-sh/uv/issues/11629 Those are all (non-trivial) issues so far, I think we are getting really, really close to having to decide on what to do with FAB and how to unleash sqlalchemy 2. I will talk to Daniel to get more informed about his 5.0.0 plans (he merged my security fix today in FAB and gearing for a new release apparently, but I bet it's going to be 4.5.4). Any comments? [1] https://lists.apache.org/thread/xtzdp4dx8s6dds4xdp9kdpohns9lvpst