[airflow] Add unsafe fix module moved cases (AIR302)#18093
Merged
ntBre merged 6 commits intoastral-sh:mainfrom May 29, 2025
Merged
[airflow] Add unsafe fix module moved cases (AIR302)#18093ntBre merged 6 commits intoastral-sh:mainfrom
airflow] Add unsafe fix module moved cases (AIR302)#18093ntBre merged 6 commits intoastral-sh:mainfrom
Conversation
Lee-W
commented
May 14, 2025
crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs
Outdated
Show resolved
Hide resolved
fe83dee to
6938e72
Compare
Contributor
|
6938e72 to
1b900fe
Compare
airflow] Add unsafe fix module moved cases (AIR302)
1b900fe to
deb0476
Compare
cb45fa0 to
f6f7bd1
Compare
Contributor
Author
|
@ntBre Didn't notice another PR was merged 🤦♂️ Just rebased and fix this PR! If the idea looks good, I'm going to apply it to other rules. Thanks! |
Contributor
|
It looks like one of my PRs today caused another conflict. I was going to fix it and push here for you, but it looks like I can't edit the branch. I think you can see the diff here if it helps. I'll go ahead and take a look now anyway. |
ntBre
approved these changes
May 28, 2025
Contributor
ntBre
left a comment
There was a problem hiding this comment.
Thanks. I didn't review all of the snaps in depth, but this makes sense to me. Just a couple of suggestions and the merge conflicts and then this is good to go.
crates/ruff_linter/src/rules/airflow/rules/moved_to_provider_in_3.rs
Outdated
Show resolved
Hide resolved
…ove_and_runtime_import_edit
…nsor.ExternalTaskSensorLink
f6f7bd1 to
6afbe90
Compare
This was referenced May 29, 2025
ntBre
pushed a commit
that referenced
this pull request
May 30, 2025
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR301 ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
ntBre
pushed a commit
that referenced
this pull request
May 30, 2025
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR311 --- Rules fixed * `airflow.models.datasets.expand_alias_to_datasets` → `airflow.models.asset.expand_alias_to_assets` * `airflow.models.baseoperatorlink.BaseOperatorLink` → `airflow.sdk.BaseOperatorLink` ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
ntBre
pushed a commit
that referenced
this pull request
May 30, 2025
<!-- Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull requests.) - Does this pull request include references to any relevant issues? --> ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Follow up on #18093 and apply it to AIR312 ## Test Plan <!-- How was it tested? --> The existing test fixtures have been updated
dcreager
added a commit
that referenced
this pull request
May 30, 2025
* main: [ty] support callability of bound/constrained typevars (#18389) [ty] Minor tweaks to "list all members" docs and tests (#18388) [ty] Fix broken property tests for disjointness (#18384) [ty] List available members for a given type (#18251) [`airflow`] Add unsafe fix for module moved cases (`AIR312`) (#18363) Add a `SourceFile` to `OldDiagnostic` (#18356) Update salsa past generational id change (#18362) [`airflow`] Add unsafe fix for module moved cases (`AIR311`) (#18366) [`airflow`] Add unsafe fix for module moved cases (`AIR301`) (#18367) [ty] Improve tests for `site-packages` discovery (#18374) [ty] _typeshed.Self is not a special form (#18377) [ty] Callable types are disjoint from non-callable `@final` nominal instance types (#18368) [ty] Add diagnosis for function with no return statement but with return type annotation (#18359) [`airflow`] Add unsafe fix module moved cases (`AIR302`) (#18093) Rename `ruff_linter::Diagnostic` to `OldDiagnostic` (#18355) [`refurb`] Add coverage of `set` and `frozenset` calls (`FURB171`) (#18035)
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.
Summary
Add utility functions
generate_import_editandgenerate_remove_and_runtime_import_editto generate the fix needed for the airflow rules.generate_import_editis for the cases where the member name has changed. (e.g.,airflow.datasts.Datasettoairflow.sdk.Asset) It's just extracted from the original logicgenerate_remove_and_runtime_import_editis for cases where the member name has not changed. (e.g.,airflow.operators.pig_operator.PigOperatortoairflow.providers.apache.pig.hooks.pig.PigCliHook) This is newly introduced. As it introduced runtime import, I mark it as an unsafe fix. Under the hook, it tried to find the original import statement, remove it, and add a new import fixairflow.sensors.external_task_sensor.ExternalTaskSensorLink→airflow.providers.standard.sensors.external_task.ExternalDagLinkTest Plan
The existing test fixtures have been updated