Hello here,

*TL;DR; we are quite a bit closer to getting FAB 5 (alpha) support and we
have a kind request to those who know more about inner-workings of
SQLAlchemy to comment on our uncertainties and workarounds.*

PR is here https://github.com/apache/airflow/pull/50960 and I explained in
detail what we have done and why in the description, also pointed out some
uncertainties and added comments on where we are unsure if what we came up
with makes sense - and whether it can be improved or fixed better.

Why is it important and why did we spend the better part of our last week
on it?

Having FAB 5 would make us closer to getting rid of some of the old
dependency issues:

* frees us to migrate to sqlalchemy 2 (not yet there- this is still
sqlalchemy 1, but we can attempt sqlalchemy 2 migration as next step).
* frees us to have proper Python 3.13 support

We have a green PR now with all the issues solved or workarounds (we spend
with Vincent quite a few long days and nights working on finding out how
things work and fix things up - we've been depending on subtle internals of
FAB and flask-sqlalchemy that have changed.

It took a lot of guessing, debugging, experimenting and while it's fine for
me, I guess Vincent's hair might have thinned a bit after the experience
because we were literally pulling our hair out). But we are definitely past
that - we understand much more how things work,

But there are still some small workarounds that we would like to understand
better if they can be improved.

SQLAlchemists here - please take a look and help!

J.

Reply via email to