Skip to content

Commit 1a83790

Browse files
committed
Update replacement paths for AIR302
I am one of the core developers of Airflow and working on the "airflow.sdk" package, and this updates the recommended replacments to the correct user-faceing imports. [^1]: https://github.com/apache/airflow/blob/33f0f1d639b53d4221757c8493b819684bd26d21/task-sdk/src/airflow/sdk/__init__.py#L68-L93
1 parent c1971fd commit 1a83790

File tree

3 files changed

+17
-28
lines changed

3 files changed

+17
-28
lines changed

crates/ruff_linter/src/rules/airflow/rules/removal_in_3.rs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -613,25 +613,16 @@ fn check_name(checker: &Checker, expr: &Expr, range: TextRange) {
613613
}
614614

615615
// airflow.datasets
616-
["airflow", "Dataset"] => Replacement::Name("airflow.sdk.definitions.asset.Asset"),
616+
["airflow", "Dataset"] | ["airflow", "datasets", "Dataset"] => Replacement::Name("airflow.sdk.Asset"),
617617
["airflow", "datasets", "DatasetAliasEvent"] => Replacement::None,
618-
["airflow", "datasets", "Dataset"] => {
619-
Replacement::Name("airflow.sdk.definitions.asset.Asset")
620-
}
621-
["airflow", "datasets", "DatasetAlias"] => {
622-
Replacement::Name("airflow.sdk.definitions.asset.AssetAlias")
623-
}
624-
["airflow", "datasets", "DatasetAll"] => {
625-
Replacement::Name("airflow.sdk.definitions.asset.AssetAll")
626-
}
627-
["airflow", "datasets", "DatasetAny"] => {
628-
Replacement::Name("airflow.sdk.definitions.asset.AssetAny")
629-
}
618+
["airflow", "datasets", "DatasetAlias"] => Replacement::Name("airflow.sdk.AssetAlias"),
619+
["airflow", "datasets", "DatasetAll"] => Replacement::Name("airflow.sdk.AssetAll"),
620+
["airflow", "datasets", "DatasetAny"] => Replacement::Name("airflow.sdk.AssetAny"),
630621
["airflow", "datasets", "expand_alias_to_datasets"] => {
631-
Replacement::Name("airflow.sdk.definitions.asset.expand_alias_to_assets")
622+
Replacement::Name("airflow.sdk.expand_alias_to_assets")
632623
}
633624
["airflow", "datasets", "metadata", "Metadata"] => {
634-
Replacement::Name("airflow.sdk.definitions.asset.metadata.Metadata")
625+
Replacement::Name("airflow.sdk.Metadata")
635626
}
636627

637628
// airflow.datasets.manager

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR302_AIR302_class_attribute.py.snap

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
22
source: crates/ruff_linter/src/rules/airflow/mod.rs
3-
snapshot_kind: text
43
---
54
AIR302_class_attribute.py:24:21: AIR302 `airflow.Dataset` is removed in Airflow 3.0
65
|
@@ -10,7 +9,7 @@ AIR302_class_attribute.py:24:21: AIR302 `airflow.Dataset` is removed in Airflow
109
25 | dataset_from_root.iter_datasets()
1110
26 | dataset_from_root.iter_dataset_aliases()
1211
|
13-
= help: Use `airflow.sdk.definitions.asset.Asset` instead
12+
= help: Use `airflow.sdk.Asset` instead
1413

1514
AIR302_class_attribute.py:25:19: AIR302 `iter_datasets` is removed in Airflow 3.0
1615
|
@@ -41,7 +40,7 @@ AIR302_class_attribute.py:29:31: AIR302 `airflow.datasets.Dataset` is removed in
4140
30 | dataset_to_test_method_call.iter_datasets()
4241
31 | dataset_to_test_method_call.iter_dataset_aliases()
4342
|
44-
= help: Use `airflow.sdk.definitions.asset.Asset` instead
43+
= help: Use `airflow.sdk.Asset` instead
4544

4645
AIR302_class_attribute.py:30:29: AIR302 `iter_datasets` is removed in Airflow 3.0
4746
|
@@ -73,7 +72,7 @@ AIR302_class_attribute.py:33:29: AIR302 `airflow.datasets.DatasetAlias` is remov
7372
34 | alias_to_test_method_call.iter_datasets()
7473
35 | alias_to_test_method_call.iter_dataset_aliases()
7574
|
76-
= help: Use `airflow.sdk.definitions.asset.AssetAlias` instead
75+
= help: Use `airflow.sdk.AssetAlias` instead
7776

7877
AIR302_class_attribute.py:34:27: AIR302 `iter_datasets` is removed in Airflow 3.0
7978
|
@@ -104,7 +103,7 @@ AIR302_class_attribute.py:37:27: AIR302 `airflow.datasets.DatasetAny` is removed
104103
38 | any_to_test_method_call.iter_datasets()
105104
39 | any_to_test_method_call.iter_dataset_aliases()
106105
|
107-
= help: Use `airflow.sdk.definitions.asset.AssetAny` instead
106+
= help: Use `airflow.sdk.AssetAny` instead
108107

109108
AIR302_class_attribute.py:38:25: AIR302 `iter_datasets` is removed in Airflow 3.0
110109
|

crates/ruff_linter/src/rules/airflow/snapshots/ruff_linter__rules__airflow__tests__AIR302_AIR302_names.py.snap

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
---
22
source: crates/ruff_linter/src/rules/airflow/mod.rs
3-
assertion_line: 29
43
---
54
AIR302_names.py:107:1: AIR302 `airflow.PY36` is removed in Airflow 3.0
65
|
@@ -74,7 +73,7 @@ AIR302_names.py:108:1: AIR302 `airflow.Dataset` is removed in Airflow 3.0
7473
109 |
7574
110 | # airflow.api_connexion.security
7675
|
77-
= help: Use `airflow.sdk.definitions.asset.Asset` instead
76+
= help: Use `airflow.sdk.Asset` instead
7877

7978
AIR302_names.py:111:1: AIR302 `airflow.api_connexion.security.requires_access` is removed in Airflow 3.0
8079
|
@@ -197,7 +196,7 @@ AIR302_names.py:125:1: AIR302 `airflow.datasets.Dataset` is removed in Airflow 3
197196
126 | DatasetAlias()
198197
127 | DatasetAliasEvent()
199198
|
200-
= help: Use `airflow.sdk.definitions.asset.Asset` instead
199+
= help: Use `airflow.sdk.Asset` instead
201200

202201
AIR302_names.py:126:1: AIR302 `airflow.datasets.DatasetAlias` is removed in Airflow 3.0
203202
|
@@ -208,7 +207,7 @@ AIR302_names.py:126:1: AIR302 `airflow.datasets.DatasetAlias` is removed in Airf
208207
127 | DatasetAliasEvent()
209208
128 | DatasetAll()
210209
|
211-
= help: Use `airflow.sdk.definitions.asset.AssetAlias` instead
210+
= help: Use `airflow.sdk.AssetAlias` instead
212211

213212
AIR302_names.py:127:1: AIR302 `airflow.datasets.DatasetAliasEvent` is removed in Airflow 3.0
214213
|
@@ -229,7 +228,7 @@ AIR302_names.py:128:1: AIR302 `airflow.datasets.DatasetAll` is removed in Airflo
229228
129 | DatasetAny()
230229
130 | Metadata()
231230
|
232-
= help: Use `airflow.sdk.definitions.asset.AssetAll` instead
231+
= help: Use `airflow.sdk.AssetAll` instead
233232

234233
AIR302_names.py:129:1: AIR302 `airflow.datasets.DatasetAny` is removed in Airflow 3.0
235234
|
@@ -240,7 +239,7 @@ AIR302_names.py:129:1: AIR302 `airflow.datasets.DatasetAny` is removed in Airflo
240239
130 | Metadata()
241240
131 | expand_alias_to_datasets
242241
|
243-
= help: Use `airflow.sdk.definitions.asset.AssetAny` instead
242+
= help: Use `airflow.sdk.AssetAny` instead
244243

245244
AIR302_names.py:130:1: AIR302 `airflow.datasets.metadata.Metadata` is removed in Airflow 3.0
246245
|
@@ -250,7 +249,7 @@ AIR302_names.py:130:1: AIR302 `airflow.datasets.metadata.Metadata` is removed in
250249
| ^^^^^^^^ AIR302
251250
131 | expand_alias_to_datasets
252251
|
253-
= help: Use `airflow.sdk.definitions.asset.metadata.Metadata` instead
252+
= help: Use `airflow.sdk.Metadata` instead
254253

255254
AIR302_names.py:131:1: AIR302 `airflow.datasets.expand_alias_to_datasets` is removed in Airflow 3.0
256255
|
@@ -261,7 +260,7 @@ AIR302_names.py:131:1: AIR302 `airflow.datasets.expand_alias_to_datasets` is rem
261260
132 |
262261
133 | # airflow.datasets.manager
263262
|
264-
= help: Use `airflow.sdk.definitions.asset.expand_alias_to_assets` instead
263+
= help: Use `airflow.sdk.expand_alias_to_assets` instead
265264

266265
AIR302_names.py:135:1: AIR302 `airflow.datasets.manager.dataset_manager` is removed in Airflow 3.0
267266
|

0 commit comments

Comments
 (0)