This is an automated email from the ASF dual-hosted git repository.
kaxilnaik pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 57b61f8a2ef Move Annotated import to `typing` module (#43887)
57b61f8a2ef is described below
commit 57b61f8a2ef33c142c6ef26b1730e91f05cc393d
Author: Kaxil Naik <[email protected]>
AuthorDate: Mon Nov 11 22:43:56 2024 +0000
Move Annotated import to `typing` module (#43887)
Since on `main`, we are already 3.9+, we can import Annotated from `typing`
module.
- https://docs.python.org/3/library/typing.html#typing.Annotated
- https://peps.python.org/pep-0593/
It also move import of `Self` to `airflow.typing`
---
airflow/api_fastapi/common/parameters.py | 4 ++--
airflow/api_fastapi/common/types.py | 3 ++-
airflow/api_fastapi/core_api/datamodels/plugins.py | 3 +--
airflow/api_fastapi/core_api/datamodels/trigger.py | 2 +-
airflow/api_fastapi/core_api/datamodels/variables.py | 2 +-
airflow/api_fastapi/core_api/routes/public/backfills.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/connections.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/dag_run.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/dag_sources.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/dag_stats.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/dag_warning.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/dags.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/event_logs.py | 2 +-
airflow/api_fastapi/core_api/routes/public/import_error.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/pools.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/task_instances.py | 3 ++-
airflow/api_fastapi/core_api/routes/public/variables.py | 3 ++-
airflow/api_fastapi/core_api/routes/ui/assets.py | 3 ++-
airflow/api_fastapi/core_api/routes/ui/dags.py | 3 ++-
airflow/api_fastapi/core_api/routes/ui/dashboard.py | 3 +--
airflow/api_fastapi/execution_api/routes/connections.py | 2 +-
airflow/api_fastapi/execution_api/routes/task_instance.py | 2 +-
airflow/api_fastapi/execution_api/routes/variables.py | 2 +-
airflow/serialization/pydantic/dag.py | 3 +--
airflow/serialization/pydantic/taskinstance.py | 3 +--
25 files changed, 40 insertions(+), 30 deletions(-)
diff --git a/airflow/api_fastapi/common/parameters.py
b/airflow/api_fastapi/common/parameters.py
index 1c701b26c73..8f786fe2ea2 100644
--- a/airflow/api_fastapi/common/parameters.py
+++ b/airflow/api_fastapi/common/parameters.py
@@ -19,14 +19,13 @@ from __future__ import annotations
from abc import ABC, abstractmethod
from datetime import datetime
-from typing import TYPE_CHECKING, Any, Callable, Generic, List, Optional,
TypeVar
+from typing import TYPE_CHECKING, Annotated, Any, Callable, Generic, List,
Optional, TypeVar
from fastapi import Depends, HTTPException, Query
from pendulum.parsing.exceptions import ParserError
from pydantic import AfterValidator, BaseModel
from sqlalchemy import Column, case, or_
from sqlalchemy.inspection import inspect
-from typing_extensions import Annotated, Self
from airflow.api_connexion.endpoints.task_instance_endpoint import
_convert_ti_states
from airflow.models import Base, Connection
@@ -35,6 +34,7 @@ from airflow.models.dagrun import DagRun
from airflow.models.dagwarning import DagWarning, DagWarningType
from airflow.models.errors import ParseImportError
from airflow.models.taskinstance import TaskInstance
+from airflow.typing_compat import Self
from airflow.utils import timezone
from airflow.utils.state import DagRunState, TaskInstanceState
diff --git a/airflow/api_fastapi/common/types.py
b/airflow/api_fastapi/common/types.py
index d9664c07221..51e49b0db7c 100644
--- a/airflow/api_fastapi/common/types.py
+++ b/airflow/api_fastapi/common/types.py
@@ -16,8 +16,9 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from pydantic import AfterValidator, AwareDatetime
-from typing_extensions import Annotated
from airflow.utils import timezone
diff --git a/airflow/api_fastapi/core_api/datamodels/plugins.py
b/airflow/api_fastapi/core_api/datamodels/plugins.py
index e16b56a6aca..cc305ed3aa8 100644
--- a/airflow/api_fastapi/core_api/datamodels/plugins.py
+++ b/airflow/api_fastapi/core_api/datamodels/plugins.py
@@ -17,10 +17,9 @@
from __future__ import annotations
-from typing import Any
+from typing import Annotated, Any
from pydantic import BaseModel, BeforeValidator, ConfigDict, field_validator
-from typing_extensions import Annotated
from airflow.plugins_manager import AirflowPluginSource
diff --git a/airflow/api_fastapi/core_api/datamodels/trigger.py
b/airflow/api_fastapi/core_api/datamodels/trigger.py
index 624fa49ab03..eb9be97d314 100644
--- a/airflow/api_fastapi/core_api/datamodels/trigger.py
+++ b/airflow/api_fastapi/core_api/datamodels/trigger.py
@@ -17,9 +17,9 @@
from __future__ import annotations
from datetime import datetime
+from typing import Annotated
from pydantic import BaseModel, BeforeValidator, ConfigDict
-from typing_extensions import Annotated
class TriggerResponse(BaseModel):
diff --git a/airflow/api_fastapi/core_api/datamodels/variables.py
b/airflow/api_fastapi/core_api/datamodels/variables.py
index 95f437c634b..9a2ce996d3a 100644
--- a/airflow/api_fastapi/core_api/datamodels/variables.py
+++ b/airflow/api_fastapi/core_api/datamodels/variables.py
@@ -20,8 +20,8 @@ from __future__ import annotations
import json
from pydantic import BaseModel, ConfigDict, Field, model_validator
-from typing_extensions import Self
+from airflow.typing_compat import Self
from airflow.utils.log.secrets_masker import redact
diff --git a/airflow/api_fastapi/core_api/routes/public/backfills.py
b/airflow/api_fastapi/core_api/routes/public/backfills.py
index eec98ffd2b2..2269062427f 100644
--- a/airflow/api_fastapi/core_api/routes/public/backfills.py
+++ b/airflow/api_fastapi/core_api/routes/public/backfills.py
@@ -16,10 +16,11 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, status
from sqlalchemy import select, update
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
diff --git a/airflow/api_fastapi/core_api/routes/public/connections.py
b/airflow/api_fastapi/core_api/routes/public/connections.py
index a963bd1b43f..dbd2091b25e 100644
--- a/airflow/api_fastapi/core_api/routes/public/connections.py
+++ b/airflow/api_fastapi/core_api/routes/public/connections.py
@@ -16,10 +16,11 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Query, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_run.py
b/airflow/api_fastapi/core_api/routes/public/dag_run.py
index d43fde9e340..47d6ba75091 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_run.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_run.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Query, Request, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api.common.mark_tasks import (
set_dag_run_state_to_failed,
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_sources.py
b/airflow/api_fastapi/core_api/routes/public/dag_sources.py
index 77b2522d79b..2e0c3b093dd 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_sources.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_sources.py
@@ -16,10 +16,11 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, Header, HTTPException, Request, Response, status
from itsdangerous import BadSignature, URLSafeSerializer
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_stats.py
b/airflow/api_fastapi/core_api/routes/public/dag_stats.py
index 53d30a6082c..bdc0353488d 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_stats.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_stats.py
@@ -17,9 +17,10 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, status
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import (
get_session,
diff --git a/airflow/api_fastapi/core_api/routes/public/dag_warning.py
b/airflow/api_fastapi/core_api/routes/public/dag_warning.py
index 0d990cb0272..b5e9646a642 100644
--- a/airflow/api_fastapi/core_api/routes/public/dag_warning.py
+++ b/airflow/api_fastapi/core_api/routes/public/dag_warning.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import (
get_session,
diff --git a/airflow/api_fastapi/core_api/routes/public/dags.py
b/airflow/api_fastapi/core_api/routes/public/dags.py
index b5690bd3836..6027c1d0e4c 100644
--- a/airflow/api_fastapi/core_api/routes/public/dags.py
+++ b/airflow/api_fastapi/core_api/routes/public/dags.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Query, Request, Response, status
from sqlalchemy import select, update
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api.common import delete_dag as delete_dag_module
from airflow.api_fastapi.common.db.common import (
diff --git a/airflow/api_fastapi/core_api/routes/public/event_logs.py
b/airflow/api_fastapi/core_api/routes/public/event_logs.py
index 007da65f28c..34f65143862 100644
--- a/airflow/api_fastapi/core_api/routes/public/event_logs.py
+++ b/airflow/api_fastapi/core_api/routes/public/event_logs.py
@@ -17,11 +17,11 @@
from __future__ import annotations
from datetime import datetime
+from typing import Annotated
from fastapi import Depends, HTTPException, Query, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import (
get_session,
diff --git a/airflow/api_fastapi/core_api/routes/public/import_error.py
b/airflow/api_fastapi/core_api/routes/public/import_error.py
index a978cf985c8..0e8c7103dbf 100644
--- a/airflow/api_fastapi/core_api/routes/public/import_error.py
+++ b/airflow/api_fastapi/core_api/routes/public/import_error.py
@@ -16,10 +16,11 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import (
get_session,
diff --git a/airflow/api_fastapi/core_api/routes/public/pools.py
b/airflow/api_fastapi/core_api/routes/public/pools.py
index 210b3d50096..4d161701ffd 100644
--- a/airflow/api_fastapi/core_api/routes/public/pools.py
+++ b/airflow/api_fastapi/core_api/routes/public/pools.py
@@ -16,12 +16,13 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Query, status
from fastapi.exceptions import RequestValidationError
from pydantic import ValidationError
from sqlalchemy import delete, select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
diff --git a/airflow/api_fastapi/core_api/routes/public/task_instances.py
b/airflow/api_fastapi/core_api/routes/public/task_instances.py
index 75b34e2cc3e..87f839797b9 100644
--- a/airflow/api_fastapi/core_api/routes/public/task_instances.py
+++ b/airflow/api_fastapi/core_api/routes/public/task_instances.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Request, status
from sqlalchemy.orm import Session, joinedload
from sqlalchemy.sql import select
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import (
diff --git a/airflow/api_fastapi/core_api/routes/public/variables.py
b/airflow/api_fastapi/core_api/routes/public/variables.py
index 4cd8d46ef4f..18833e8089e 100644
--- a/airflow/api_fastapi/core_api/routes/public/variables.py
+++ b/airflow/api_fastapi/core_api/routes/public/variables.py
@@ -16,10 +16,11 @@
# under the License.
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Query, status
from sqlalchemy import select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session, paginated_select
from airflow.api_fastapi.common.parameters import QueryLimit, QueryOffset,
SortParam
diff --git a/airflow/api_fastapi/core_api/routes/ui/assets.py
b/airflow/api_fastapi/core_api/routes/ui/assets.py
index b9c07124277..1615f97c2bd 100644
--- a/airflow/api_fastapi/core_api/routes/ui/assets.py
+++ b/airflow/api_fastapi/core_api/routes/ui/assets.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends, HTTPException, Request, status
from sqlalchemy import and_, func, select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
diff --git a/airflow/api_fastapi/core_api/routes/ui/dags.py
b/airflow/api_fastapi/core_api/routes/ui/dags.py
index ede151ecec2..da906bbbd3c 100644
--- a/airflow/api_fastapi/core_api/routes/ui/dags.py
+++ b/airflow/api_fastapi/core_api/routes/ui/dags.py
@@ -17,10 +17,11 @@
from __future__ import annotations
+from typing import Annotated
+
from fastapi import Depends
from sqlalchemy import and_, func, select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import (
get_session,
diff --git a/airflow/api_fastapi/core_api/routes/ui/dashboard.py
b/airflow/api_fastapi/core_api/routes/ui/dashboard.py
index bec6130c9e0..67cfe617c30 100644
--- a/airflow/api_fastapi/core_api/routes/ui/dashboard.py
+++ b/airflow/api_fastapi/core_api/routes/ui/dashboard.py
@@ -16,12 +16,11 @@
# under the License.
from __future__ import annotations
-from typing import TYPE_CHECKING
+from typing import TYPE_CHECKING, Annotated
from fastapi import Depends, status
from sqlalchemy import func, select
from sqlalchemy.orm import Session
-from typing_extensions import Annotated
from airflow.api_fastapi.common.parameters import DateTimeQuery
from airflow.api_fastapi.core_api.datamodels.ui.dashboard import
HistoricalMetricDataResponse
diff --git a/airflow/api_fastapi/execution_api/routes/connections.py
b/airflow/api_fastapi/execution_api/routes/connections.py
index 553cb0785d6..32d1f7afa18 100644
--- a/airflow/api_fastapi/execution_api/routes/connections.py
+++ b/airflow/api_fastapi/execution_api/routes/connections.py
@@ -18,9 +18,9 @@
from __future__ import annotations
import logging
+from typing import Annotated
from fastapi import Depends, HTTPException, status
-from typing_extensions import Annotated
from airflow.api_fastapi.common.router import AirflowRouter
from airflow.api_fastapi.execution_api import datamodels
diff --git a/airflow/api_fastapi/execution_api/routes/task_instance.py
b/airflow/api_fastapi/execution_api/routes/task_instance.py
index 3ef37013f89..97723ffc4a8 100644
--- a/airflow/api_fastapi/execution_api/routes/task_instance.py
+++ b/airflow/api_fastapi/execution_api/routes/task_instance.py
@@ -18,6 +18,7 @@
from __future__ import annotations
import logging
+from typing import Annotated
from uuid import UUID
from fastapi import Body, Depends, HTTPException, status
@@ -25,7 +26,6 @@ from sqlalchemy import update
from sqlalchemy.exc import NoResultFound, SQLAlchemyError
from sqlalchemy.orm import Session
from sqlalchemy.sql import select
-from typing_extensions import Annotated
from airflow.api_fastapi.common.db.common import get_session
from airflow.api_fastapi.common.router import AirflowRouter
diff --git a/airflow/api_fastapi/execution_api/routes/variables.py
b/airflow/api_fastapi/execution_api/routes/variables.py
index 79df5678aca..9dcdffedf79 100644
--- a/airflow/api_fastapi/execution_api/routes/variables.py
+++ b/airflow/api_fastapi/execution_api/routes/variables.py
@@ -18,9 +18,9 @@
from __future__ import annotations
import logging
+from typing import Annotated
from fastapi import Depends, HTTPException, status
-from typing_extensions import Annotated
from airflow.api_fastapi.common.router import AirflowRouter
from airflow.api_fastapi.execution_api import datamodels
diff --git a/airflow/serialization/pydantic/dag.py
b/airflow/serialization/pydantic/dag.py
index 83bbea76005..f222808c3d0 100644
--- a/airflow/serialization/pydantic/dag.py
+++ b/airflow/serialization/pydantic/dag.py
@@ -18,7 +18,7 @@ from __future__ import annotations
import pathlib
from datetime import datetime
-from typing import Any, List, Optional
+from typing import Annotated, Any, List, Optional
from pydantic import (
BaseModel as BaseModelPydantic,
@@ -27,7 +27,6 @@ from pydantic import (
PlainValidator,
ValidationInfo,
)
-from typing_extensions import Annotated
from airflow import DAG, settings
from airflow.configuration import conf as airflow_conf
diff --git a/airflow/serialization/pydantic/taskinstance.py
b/airflow/serialization/pydantic/taskinstance.py
index b3b60383ea6..e8a1cfaf79a 100644
--- a/airflow/serialization/pydantic/taskinstance.py
+++ b/airflow/serialization/pydantic/taskinstance.py
@@ -17,7 +17,7 @@
from __future__ import annotations
from datetime import datetime
-from typing import TYPE_CHECKING, Any, Iterable, Optional
+from typing import TYPE_CHECKING, Annotated, Any, Iterable, Optional
from pydantic import (
BaseModel as BaseModelPydantic,
@@ -25,7 +25,6 @@ from pydantic import (
PlainSerializer,
PlainValidator,
)
-from typing_extensions import Annotated
from airflow.exceptions import AirflowRescheduleException, TaskDeferred
from airflow.models import Operator