Chore!: Deprecate Airflow integration#4180
Merged
izeigerman merged 1 commit intomainfrom Apr 18, 2025
Merged
Conversation
tobymao
approved these changes
Apr 18, 2025
7f51d94 to
b820c39
Compare
rohit-wealthy
added a commit
to rohit-wealthy/sqlmesh
that referenced
this pull request
Apr 22, 2025
This reverts commit cf3b0fa.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deprecating the Airflow integration for the following reasons:
The current implementation is quite hacky and relies heavily on undocumented features of Airflow. Maintaining it has become increasingly difficult and diverts valuable resources from the core product.
Airflow is a complex system, and running it reliably comes with its own set of challenges. This complexity adds another layer on top of what SQLMesh introduces, making it hard to determine whether issues are caused by Airflow or SQLMesh. As a result, the core team often ends up debugging Airflow problems instead of focusing on SQLMesh.
SQLMesh integrates with Airflow in a very specific and opinionated way (e.g., one Airflow DAG per model). However, experienced Airflow users typically have established patterns and workflows. These users often find it frustrating that SQLMesh doesn't fit neatly into their existing setups.
The integration is difficult to set up. SQLMesh already introduces several new concepts that users need to understand. Adding the complexity of setting up Airflow on top of that doesn't make onboarding any easier.
In short, the current Airflow integration has become a significant maintenance burden for the core team and doesn't deliver a consistently reliable experience for users. That's why we've made the decision to deprecate it. We're sorry for any inconvenience this deprecation may cause.
Users can still use the SQLMesh Python API and the Airflow PythonOperator to integrate SQLMesh with Airflow in whatever way best suits your needs.