Rename dataset related python variable names to asset#41348
Rename dataset related python variable names to asset#41348uranusjr merged 138 commits intoapache:mainfrom
Conversation
9dcc589 to
35ac346
Compare
|
I have created #41424 to add the |
|
sure, will do |
c6538fa to
875d372
Compare
35d6d6e to
870ba33
Compare
ee2b1b8 to
1c137e5
Compare
Just a quick update. I've done the test on my local end and it work fine. And the CI is finally green again! 🎉 |
uranusjr
left a comment
There was a problem hiding this comment.
Admittedly I did not read every line, but I think I read enough to be confident this is good…
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from #41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache#41348 Since those docs only work on Airflow stable, we can only change this after 3.0
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache/airflow#41348 Since those docs only work on Airflow stable, we can only change this after 3.0 GitOrigin-RevId: bf002356ba0a38d317adeb651f066588908a79a3
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache/airflow#41348 Since those docs only work on Airflow stable, we can only change this after 3.0 GitOrigin-RevId: bf002356ba0a38d317adeb651f066588908a79a3
This PR reverts Core Extension doc change (https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/index.html) from apache/airflow#41348 Since those docs only work on Airflow stable, we can only change this after 3.0 GitOrigin-RevId: bf002356ba0a38d317adeb651f066588908a79a3
…context key for Airflow 3.0 (`AIR301`) (#22850) ## Summary <!-- What's the purpose of the change? What does it do, and why? --> Context: apache/airflow#41641 1. apache/airflow#45961 * <strike>create_dagrun removed from airflow...DAG</strike> (This has already been implemented in AIR301) * context key dag_run.external_trigger removed 2. apache/airflow#45960 * context["inlet_events"]["url"] → context["inlet_events"][Asset("url")] 3. apache/airflow#41348 * context key triggering_dataset_events → triggering_asset_events The existing AIR301 rules can detect when users access a removed key such as `execution_date` through Airflow's `context`. For example, `context["execution_date"]`, or `context["dag_run"]`. However, if an attribute is deprecated from a context key, such as `context["dag_run"].external_trigger`, the current implement will not flag it. This PR adds the logic for such check, and add two rules to flag the deprecated attribute for the `"dag_run"` and `"inlet_events"` context key. In addition to this, `"triggering_dataset_events"` is a deprecated context key which can be handled by the existing rule. However, the existing rule doesn't raise a diagnostic. Hence, the rule logic is refactored a little bit, such that we can add this check and suggest a `Replacement::Rename`. ## Test Plan <!-- How was it tested? --> The test cases have been added to `AIR301_context.py`, and all the tests have been run locally and success. @Lee-W , could you please review it when you have time, thanks! ## Notes In #22376, we introduced some improvements to the AIR301 code. I will re-base this PR when we are all good on that, so it can pick up those code structure improvements, and updated rules.
Why
as part of AIP-74
part of #42307
What
Rename the variable names in Airflow. DB, API, and UI changes will be done in the following PRs
Rename module
airflow.api_connexion.schemas.dataset_schemaasairflow.api_connexion.schemas.asset_schemacreate_dataset_event_schemaascreate_asset_event_schemadataset_collection_schemaasasset_collection_schemadataset_event_collection_schemaasasset_event_collection_schemadataset_event_schemaasasset_event_schemadataset_schemaasasset_schemaTaskOutletDatasetReferenceSchemaasTaskOutletAssetReferenceSchemaDagScheduleDatasetReferenceSchemaasDagScheduleAssetReferenceSchemaDatasetAliasSchemaasAssetAliasSchemaDatasetSchemaasAssetSchemaDatasetCollectionasAssetCollectionDatasetEventSchemaasAssetEventSchemaDatasetEventCollectionasAssetEventCollectionDatasetEventCollectionSchemaasAssetEventCollectionSchemaCreateDatasetEventSchemaasCreateAssetEventSchemaRename module
airflow.datasetsasairflow.assetsRename class
DatasetAliasasAssetAliasRename class
DatasetAllasAssetAllRename class
DatasetAnyasAssetAnyRename function
expand_alias_to_datasetsasexpand_alias_to_assetsRename class
DatasetAliasEventasAssetAliasEventdest_dataset_uriasdest_asset_uriRename class
BaseDatasetasBaseAssetiter_datasetsasiter_assetsiter_dataset_aliasesasiter_asset_aliasesRename class
DatasetasAssetiter_datasetsasiter_assetsiter_dataset_aliasesasiter_asset_aliasesRename class
_DatasetBooleanConditionas_AssetBooleanConditioniter_datasetsasiter_assetsiter_dataset_aliasesasiter_asset_aliasesRename module
airflow.datasets.managerasairflow.assets.managerRename variable
dataset_managerasasset_managerRename function
resolve_dataset_managerasresolve_asset_managerRename class
DatasetManagerasAssetManagerregister_dataset_changeasregister_asset_changecreate_datasetsascreate_assetsregister_dataset_changeasnotify_asset_creatednotify_dataset_changedasnotify_asset_changedRename module
airflow.models.datasetasairflow.models.assetDatasetDagRunQueueasAssetDagRunQueueDatasetEventasAssetEventDatasetModelasAssetModelDatasetAliasModelasAssetAliasModelDagScheduleDatasetReferenceasDagScheduleAssetReferenceTaskOutletDatasetReferenceasTaskOutletAssetReferenceDagScheduleDatasetAliasReferenceasDagScheduleAssetAliasReferenceRename module
airflow.api_ui.views.datasetsasairflow.api_ui.views.assetsdataset_routerasasset_rounterRename module
airflow.listeners.spec.datasetasairflow.listeners.spec.asseton_dataset_createdason_asset_createdon_dataset_changedason_asset_changedRename module
airflow.timetables.datasetsasairflow.timetables.assetsDatasetOrTimeScheduleasAssetOrTimeScheduleRename module
airflow.serialization.pydantic.datasetasairflow.serialization.pydantic.assetDagScheduleDatasetReferencePydanticasDagScheduleAssetReferencePydanticTaskOutletDatasetReferencePydanticasTaskOutletAssetReferencePydanticDatasetPydanticasAssetPydanticDatasetEventPydanticasAssetEventPydanticRename module
airflow.datasets.metadataasairflow.assets.metadataIn module
airflow.jobs.scheduler_job_runnerand its class
SchedulerJobRunner_create_dag_runs_dataset_triggeredas_create_dag_runs_asset_triggered_orphan_unreferenced_datasetsas_orphan_unreferenced_datasetsIn module
airflow.api_connexion.securityrequires_access_datasetasrequires_access_assetIn module
airflow.auth.managers.models.resource_detailsDatasetDetailsasAssetDetailsIn module
airflow.auth.managers.base_auth_manageris_authorized_datasetasis_authorized_assetIn module
airflow.timetables.simpleDatasetTriggeredTimetableasAssetTriggeredTimetableIn module
airflow.lineage.hookRename class
DatasetLineageInfoasAssetLineageInfodatasetasassetIn its class
HookLineageCollectorcreate_datasetascreate_assetadd_input_datasetasadd_input_assetadd_output_datasetasadd_output_assetcollected_datasetsascollected_assetsIn module
airflow.models.dagRename function
get_dataset_triggered_next_run_infoasget_asset_triggered_next_run_infoIn its class
DagModelget_dataset_triggered_next_run_infoasget_asset_triggered_next_run_infoIn module
airflow.models.taskinstanceand its class
TaskInstance_register_dataset_changesas_register_asset_changesIn module
airflow.providers_managerand its class
ProvidersManagerinitialize_providers_dataset_uri_resourcesasinitialize_providers_asset_uri_resources_discover_dataset_uri_resourcesas_discover_asset_uri_resourcesdataset_factoriesasasset_factoriesdataset_uri_handlersasasset_uri_handlersdataset_to_openlineage_convertersasasset_to_openlineage_convertersIn module
airflow.security.permissionsRESOURCE_DATASETasRESOURCE_ASSETIn module
airflow.serialization.enumsand its class DagAttributeTypes
DATASET_EVENT_ACCESSORSasASSET_EVENT_ACCESSORSDATASET_EVENT_ACCESSORasASSET_EVENT_ACCESSORDATASETasASSETDATASET_ALIASasASSET_ALIASDATASET_ANYasASSET_ANYDATASET_ALLasASSET_ALLIn module
airflow.serialization.pydantic.taskinstanceand its class
TaskInstancePydantic_register_dataset_changesas_register_dataset_changesIn module
airflow.serialization.serialized_objectsencode_dataset_conditionasencode_asset_conditiondecode_dataset_conditionasdecode_asset_conditionIn module
airflow.timetables.baseRename class
_NullDatasetas_NullAssetiter_datasetsasiter_assetsIn module
airflow.utils.contextLazyDatasetEventSelectSequenceasLazyAssetEventSelectSequenceIn module
airflow.www.authhas_access_datasetashas_access_assetRename configuration
core.strict_dataset_uri_validationascore.strict_asset_uri_validation,core.dataset_manager_classascore.asset_manager_classandcore.dataset_manager_classascore.asset_manager_classRename example dags
example_dataset_alias.py,example_dataset_alias_with_no_taskflow.py,example_datasets.pyasexample_asset_alias.py,example_asset_alias_with_no_taskflow.py,example_assets.pyRename DagDependency name
dataset-alias,datasetasasset-alias,assetRename context key
triggering_dataset_eventsastriggering_asset_eventsRename resource key
dataset-urisasasset-urisfor providers amazon, common.io, mysql, fab, postgres, trinoIn provider
airflow.providers.amazon.awsRename package
datasetsasassetsIn its module
s3create_datasetascreate_assetconvert_dataset_to_openlineageasconvert_asset_to_openlineageand its module
auth_manager.avp.entitiesAvpEntities.DATASETasAvpEntities.ASSETand its module
auth_manager.auth_manager.aws_auth_manageris_authorized_datasetasis_authorized_assetIn provider
airflow.providers.common.ioRename package
datasetsasassetsin its module
filecreate_datasetascreate_assetconvert_dataset_to_openlineageasconvert_asset_to_openlineageIn provider
airflow.providers.fabin its module
auth_manager.fab_auth_manageris_authorized_datasetasis_authorized_assetIn provider
airflow.providers.openlineagein its module
utils.utilsDatasetInfoasAssetInfotranslate_airflow_datasetastranslate_airflow_assetRename package
airflow.providers.postgres.datasetsasairflow.providers.postgres.assetsRename package
airflow.providers.mysql.datasetsasairflow.providers.mysql.assetsRename package
airflow.providers.trino.datasetsasairflow.providers.trino.assetsAdd module
airflow.providers.common.compat.assetsAdd module
airflow.providers.common.compat.openlineage.utils.utilsAdd moddule
airflow.providers.common.compat.security.permissions.RESOURCE_ASSET^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in newsfragments.