apache-airflow-providers-standard 1.3.0rc1__py3-none-any.whl → 1.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-standard might be problematic. Click here for more details.
- airflow/providers/standard/__init__.py +1 -1
- airflow/providers/standard/decorators/bash.py +2 -2
- airflow/providers/standard/decorators/branch_external_python.py +2 -1
- airflow/providers/standard/decorators/branch_python.py +2 -1
- airflow/providers/standard/decorators/branch_virtualenv.py +2 -1
- airflow/providers/standard/decorators/external_python.py +2 -1
- airflow/providers/standard/decorators/python.py +2 -2
- airflow/providers/standard/decorators/python_virtualenv.py +2 -1
- airflow/providers/standard/decorators/sensor.py +2 -2
- airflow/providers/standard/decorators/short_circuit.py +2 -1
- airflow/providers/standard/hooks/filesystem.py +4 -1
- airflow/providers/standard/hooks/package_index.py +4 -1
- airflow/providers/standard/hooks/subprocess.py +4 -1
- airflow/providers/standard/operators/bash.py +3 -4
- airflow/providers/standard/operators/branch.py +2 -3
- airflow/providers/standard/operators/empty.py +1 -1
- airflow/providers/standard/operators/python.py +28 -6
- airflow/providers/standard/operators/smooth.py +1 -1
- airflow/providers/standard/operators/trigger_dagrun.py +1 -4
- airflow/providers/standard/sensors/bash.py +1 -1
- airflow/providers/standard/sensors/date_time.py +1 -2
- airflow/providers/standard/sensors/external_task.py +12 -19
- airflow/providers/standard/sensors/filesystem.py +1 -1
- airflow/providers/standard/sensors/python.py +3 -3
- airflow/providers/standard/sensors/time.py +1 -1
- airflow/providers/standard/sensors/time_delta.py +3 -4
- airflow/providers/standard/sensors/weekday.py +1 -1
- airflow/providers/standard/utils/python_virtualenv.py +10 -1
- airflow/providers/standard/utils/skipmixin.py +12 -3
- airflow/providers/standard/version_compat.py +26 -1
- {apache_airflow_providers_standard-1.3.0rc1.dist-info → apache_airflow_providers_standard-1.4.0.dist-info}/METADATA +9 -10
- {apache_airflow_providers_standard-1.3.0rc1.dist-info → apache_airflow_providers_standard-1.4.0.dist-info}/RECORD +34 -34
- {apache_airflow_providers_standard-1.3.0rc1.dist-info → apache_airflow_providers_standard-1.4.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_standard-1.3.0rc1.dist-info → apache_airflow_providers_standard-1.4.0.dist-info}/entry_points.txt +0 -0
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "1.
|
|
32
|
+
__version__ = "1.4.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.10.0"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
20
|
import warnings
|
|
21
|
-
from collections.abc import Collection, Mapping, Sequence
|
|
22
|
-
from typing import TYPE_CHECKING, Any,
|
|
21
|
+
from collections.abc import Callable, Collection, Mapping, Sequence
|
|
22
|
+
from typing import TYPE_CHECKING, Any, ClassVar
|
|
23
23
|
|
|
24
24
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
25
25
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from collections.abc import Sequence
|
|
20
|
-
from typing import TYPE_CHECKING
|
|
19
|
+
from collections.abc import Callable, Sequence
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
21
|
|
|
22
22
|
from airflow.providers.standard.operators.python import PythonOperator
|
|
23
23
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
-
from collections.abc import Sequence
|
|
21
|
-
from typing import TYPE_CHECKING,
|
|
20
|
+
from collections.abc import Callable, Sequence
|
|
21
|
+
from typing import TYPE_CHECKING, ClassVar
|
|
22
22
|
|
|
23
23
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
24
24
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -20,7 +20,10 @@ from __future__ import annotations
|
|
|
20
20
|
from pathlib import Path
|
|
21
21
|
from typing import Any
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
try:
|
|
24
|
+
from airflow.sdk import BaseHook
|
|
25
|
+
except ImportError:
|
|
26
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
class FSHook(BaseHook):
|
|
@@ -23,7 +23,10 @@ import subprocess
|
|
|
23
23
|
from typing import Any
|
|
24
24
|
from urllib.parse import quote, urlparse
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
try:
|
|
27
|
+
from airflow.sdk import BaseHook
|
|
28
|
+
except ImportError:
|
|
29
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
class PackageIndexHook(BaseHook):
|
|
@@ -24,7 +24,10 @@ from collections.abc import Iterator
|
|
|
24
24
|
from subprocess import PIPE, STDOUT, Popen
|
|
25
25
|
from tempfile import TemporaryDirectory, gettempdir
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
try:
|
|
28
|
+
from airflow.sdk import BaseHook
|
|
29
|
+
except ImportError:
|
|
30
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
28
31
|
|
|
29
32
|
SubprocessResult = namedtuple("SubprocessResult", ["exit_code", "output"])
|
|
30
33
|
|
|
@@ -20,14 +20,13 @@ from __future__ import annotations
|
|
|
20
20
|
import os
|
|
21
21
|
import shutil
|
|
22
22
|
import tempfile
|
|
23
|
-
from collections.abc import Container, Sequence
|
|
23
|
+
from collections.abc import Callable, Container, Sequence
|
|
24
24
|
from functools import cached_property
|
|
25
|
-
from typing import TYPE_CHECKING, Any,
|
|
25
|
+
from typing import TYPE_CHECKING, Any, cast
|
|
26
26
|
|
|
27
27
|
from airflow.exceptions import AirflowException, AirflowSkipException
|
|
28
|
-
from airflow.models.baseoperator import BaseOperator
|
|
29
28
|
from airflow.providers.standard.hooks.subprocess import SubprocessHook, SubprocessResult, working_directory
|
|
30
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
29
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
31
30
|
|
|
32
31
|
if AIRFLOW_V_3_0_PLUS:
|
|
33
32
|
from airflow.sdk.execution_time.context import context_to_airflow_vars
|
|
@@ -22,13 +22,12 @@ from __future__ import annotations
|
|
|
22
22
|
from collections.abc import Iterable
|
|
23
23
|
from typing import TYPE_CHECKING
|
|
24
24
|
|
|
25
|
-
from airflow.
|
|
26
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
25
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
27
26
|
|
|
28
27
|
if AIRFLOW_V_3_0_PLUS:
|
|
29
28
|
from airflow.providers.standard.utils.skipmixin import SkipMixin
|
|
30
29
|
else:
|
|
31
|
-
from airflow.models.skipmixin import SkipMixin
|
|
30
|
+
from airflow.models.skipmixin import SkipMixin # type: ignore[no-redef]
|
|
32
31
|
|
|
33
32
|
if TYPE_CHECKING:
|
|
34
33
|
from airflow.sdk.definitions.context import Context
|
|
@@ -18,7 +18,7 @@ from __future__ import annotations
|
|
|
18
18
|
|
|
19
19
|
from typing import TYPE_CHECKING
|
|
20
20
|
|
|
21
|
-
from airflow.
|
|
21
|
+
from airflow.providers.standard.version_compat import BaseOperator
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
24
|
from airflow.sdk.definitions.context import Context
|
|
@@ -29,12 +29,12 @@ import textwrap
|
|
|
29
29
|
import types
|
|
30
30
|
import warnings
|
|
31
31
|
from abc import ABCMeta, abstractmethod
|
|
32
|
-
from collections.abc import Collection, Container, Iterable, Mapping, Sequence
|
|
32
|
+
from collections.abc import Callable, Collection, Container, Iterable, Mapping, Sequence
|
|
33
33
|
from functools import cache
|
|
34
34
|
from itertools import chain
|
|
35
35
|
from pathlib import Path
|
|
36
36
|
from tempfile import TemporaryDirectory
|
|
37
|
-
from typing import TYPE_CHECKING, Any,
|
|
37
|
+
from typing import TYPE_CHECKING, Any, NamedTuple, cast
|
|
38
38
|
|
|
39
39
|
import lazy_object_proxy
|
|
40
40
|
from packaging.requirements import InvalidRequirement, Requirement
|
|
@@ -48,10 +48,10 @@ from airflow.exceptions import (
|
|
|
48
48
|
AirflowSkipException,
|
|
49
49
|
DeserializingResultError,
|
|
50
50
|
)
|
|
51
|
-
from airflow.models.baseoperator import BaseOperator
|
|
52
51
|
from airflow.models.variable import Variable
|
|
52
|
+
from airflow.providers.standard.hooks.package_index import PackageIndexHook
|
|
53
53
|
from airflow.providers.standard.utils.python_virtualenv import prepare_virtualenv, write_python_script
|
|
54
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
54
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
55
55
|
from airflow.utils import hashlib_wrapper
|
|
56
56
|
from airflow.utils.context import context_copy_partial, context_merge
|
|
57
57
|
from airflow.utils.file import get_unique_dag_module_name
|
|
@@ -62,7 +62,7 @@ if AIRFLOW_V_3_0_PLUS:
|
|
|
62
62
|
from airflow.providers.standard.operators.branch import BaseBranchOperator
|
|
63
63
|
from airflow.providers.standard.utils.skipmixin import SkipMixin
|
|
64
64
|
else:
|
|
65
|
-
from airflow.models.skipmixin import SkipMixin
|
|
65
|
+
from airflow.models.skipmixin import SkipMixin # type: ignore[no-redef]
|
|
66
66
|
from airflow.operators.branch import BaseBranchOperator # type: ignore[no-redef]
|
|
67
67
|
|
|
68
68
|
|
|
@@ -656,6 +656,8 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
656
656
|
exit code will be treated as a failure.
|
|
657
657
|
:param index_urls: an optional list of index urls to load Python packages from.
|
|
658
658
|
If not provided the system pip conf will be used to source packages from.
|
|
659
|
+
:param index_urls_from_connection_ids: An optional list of ``PackageIndex`` connection IDs.
|
|
660
|
+
Will be appended to ``index_urls``.
|
|
659
661
|
:param venv_cache_path: Optional path to the virtual environment parent folder in which the
|
|
660
662
|
virtual environment will be cached, creates a sub-folder venv-{hash} whereas hash will be replaced
|
|
661
663
|
with a checksum of requirements. If not provided the virtual environment will be created and deleted
|
|
@@ -669,7 +671,9 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
669
671
|
"""
|
|
670
672
|
|
|
671
673
|
template_fields: Sequence[str] = tuple(
|
|
672
|
-
{"requirements", "index_urls", "venv_cache_path"}.union(
|
|
674
|
+
{"requirements", "index_urls", "index_urls_from_connection_ids", "venv_cache_path"}.union(
|
|
675
|
+
PythonOperator.template_fields
|
|
676
|
+
)
|
|
673
677
|
)
|
|
674
678
|
template_ext: Sequence[str] = (".txt",)
|
|
675
679
|
|
|
@@ -690,6 +694,7 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
690
694
|
expect_airflow: bool = True,
|
|
691
695
|
skip_on_exit_code: int | Container[int] | None = None,
|
|
692
696
|
index_urls: None | Collection[str] | str = None,
|
|
697
|
+
index_urls_from_connection_ids: None | Collection[str] | str = None,
|
|
693
698
|
venv_cache_path: None | os.PathLike[str] = None,
|
|
694
699
|
env_vars: dict[str, str] | None = None,
|
|
695
700
|
inherit_env: bool = True,
|
|
@@ -724,6 +729,12 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
724
729
|
self.index_urls = list(index_urls)
|
|
725
730
|
else:
|
|
726
731
|
self.index_urls = None
|
|
732
|
+
if isinstance(index_urls_from_connection_ids, str):
|
|
733
|
+
self.index_urls_from_connection_ids: list[str] | None = [index_urls_from_connection_ids]
|
|
734
|
+
elif isinstance(index_urls_from_connection_ids, Collection):
|
|
735
|
+
self.index_urls_from_connection_ids = list(index_urls_from_connection_ids)
|
|
736
|
+
else:
|
|
737
|
+
self.index_urls_from_connection_ids = None
|
|
727
738
|
self.venv_cache_path = venv_cache_path
|
|
728
739
|
super().__init__(
|
|
729
740
|
python_callable=python_callable,
|
|
@@ -850,7 +861,18 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
850
861
|
self.log.info("New Python virtual environment created in %s", venv_path)
|
|
851
862
|
return venv_path
|
|
852
863
|
|
|
864
|
+
def _retrieve_index_urls_from_connection_ids(self):
|
|
865
|
+
"""Retrieve index URLs from Package Index connections."""
|
|
866
|
+
if self.index_urls is None:
|
|
867
|
+
self.index_urls = []
|
|
868
|
+
for conn_id in self.index_urls_from_connection_ids:
|
|
869
|
+
conn_url = PackageIndexHook(conn_id).get_connection_url()
|
|
870
|
+
self.index_urls.append(conn_url)
|
|
871
|
+
|
|
853
872
|
def execute_callable(self):
|
|
873
|
+
if self.index_urls_from_connection_ids:
|
|
874
|
+
self._retrieve_index_urls_from_connection_ids()
|
|
875
|
+
|
|
854
876
|
if self.venv_cache_path:
|
|
855
877
|
venv_path = self._ensure_venv_cache_exists(Path(self.venv_cache_path))
|
|
856
878
|
python_path = venv_path / "bin" / "python"
|
|
@@ -19,7 +19,7 @@ from __future__ import annotations
|
|
|
19
19
|
|
|
20
20
|
from typing import TYPE_CHECKING
|
|
21
21
|
|
|
22
|
-
from airflow.
|
|
22
|
+
from airflow.providers.standard.version_compat import BaseOperator
|
|
23
23
|
|
|
24
24
|
if TYPE_CHECKING:
|
|
25
25
|
from airflow.sdk.definitions.context import Context
|
|
@@ -34,12 +34,11 @@ from airflow.exceptions import (
|
|
|
34
34
|
DagNotFound,
|
|
35
35
|
DagRunAlreadyExists,
|
|
36
36
|
)
|
|
37
|
-
from airflow.models import BaseOperator
|
|
38
37
|
from airflow.models.dag import DagModel
|
|
39
38
|
from airflow.models.dagbag import DagBag
|
|
40
39
|
from airflow.models.dagrun import DagRun
|
|
41
40
|
from airflow.providers.standard.triggers.external_task import DagStateTrigger
|
|
42
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
41
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator, BaseOperatorLink
|
|
43
42
|
from airflow.utils import timezone
|
|
44
43
|
from airflow.utils.state import DagRunState
|
|
45
44
|
from airflow.utils.types import NOTSET, ArgNotSet, DagRunType
|
|
@@ -60,11 +59,9 @@ if TYPE_CHECKING:
|
|
|
60
59
|
from airflow.utils.context import Context
|
|
61
60
|
|
|
62
61
|
if AIRFLOW_V_3_0_PLUS:
|
|
63
|
-
from airflow.sdk import BaseOperatorLink
|
|
64
62
|
from airflow.sdk.execution_time.xcom import XCom
|
|
65
63
|
else:
|
|
66
64
|
from airflow.models import XCom # type: ignore[no-redef]
|
|
67
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
68
65
|
|
|
69
66
|
|
|
70
67
|
class DagIsPaused(AirflowException):
|
|
@@ -24,7 +24,7 @@ from tempfile import NamedTemporaryFile, TemporaryDirectory, gettempdir
|
|
|
24
24
|
from typing import TYPE_CHECKING
|
|
25
25
|
|
|
26
26
|
from airflow.exceptions import AirflowFailException
|
|
27
|
-
from airflow.
|
|
27
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
30
|
try:
|
|
@@ -23,8 +23,7 @@ from dataclasses import dataclass
|
|
|
23
23
|
from typing import TYPE_CHECKING, Any, NoReturn
|
|
24
24
|
|
|
25
25
|
from airflow.providers.standard.triggers.temporal import DateTimeTrigger
|
|
26
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
27
|
-
from airflow.sensors.base import BaseSensorOperator
|
|
26
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseSensorOperator
|
|
28
27
|
from airflow.utils import timezone
|
|
29
28
|
|
|
30
29
|
try:
|
|
@@ -19,8 +19,8 @@ from __future__ import annotations
|
|
|
19
19
|
import datetime
|
|
20
20
|
import os
|
|
21
21
|
import warnings
|
|
22
|
-
from collections.abc import Collection, Iterable
|
|
23
|
-
from typing import TYPE_CHECKING, Any,
|
|
22
|
+
from collections.abc import Callable, Collection, Iterable
|
|
23
|
+
from typing import TYPE_CHECKING, Any, ClassVar
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
26
|
from airflow.exceptions import AirflowSkipException
|
|
@@ -39,14 +39,16 @@ from airflow.providers.standard.exceptions import (
|
|
|
39
39
|
from airflow.providers.standard.operators.empty import EmptyOperator
|
|
40
40
|
from airflow.providers.standard.triggers.external_task import WorkflowTrigger
|
|
41
41
|
from airflow.providers.standard.utils.sensor_helper import _get_count, _get_external_task_group_task_ids
|
|
42
|
-
from airflow.providers.standard.version_compat import
|
|
42
|
+
from airflow.providers.standard.version_compat import (
|
|
43
|
+
AIRFLOW_V_3_0_PLUS,
|
|
44
|
+
BaseOperator,
|
|
45
|
+
BaseOperatorLink,
|
|
46
|
+
BaseSensorOperator,
|
|
47
|
+
)
|
|
43
48
|
from airflow.utils.file import correct_maybe_zipped
|
|
44
49
|
from airflow.utils.state import State, TaskInstanceState
|
|
45
50
|
|
|
46
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
47
|
-
from airflow.sdk.bases.sensor import BaseSensorOperator
|
|
48
|
-
else:
|
|
49
|
-
from airflow.sensors.base import BaseSensorOperator
|
|
51
|
+
if not AIRFLOW_V_3_0_PLUS:
|
|
50
52
|
from airflow.utils.session import NEW_SESSION, provide_session
|
|
51
53
|
|
|
52
54
|
if TYPE_CHECKING:
|
|
@@ -54,19 +56,10 @@ if TYPE_CHECKING:
|
|
|
54
56
|
|
|
55
57
|
from airflow.models.taskinstancekey import TaskInstanceKey
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
from airflow.sdk import BaseOperator
|
|
59
|
+
if AIRFLOW_V_3_0_PLUS:
|
|
59
60
|
from airflow.sdk.definitions.context import Context
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
from airflow.models.baseoperator import BaseOperator
|
|
63
|
-
from airflow.utils.context import Context
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
67
|
-
from airflow.sdk import BaseOperatorLink
|
|
68
|
-
else:
|
|
69
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
61
|
+
else:
|
|
62
|
+
from airflow.utils.context import Context # type: ignore[no-redef]
|
|
70
63
|
|
|
71
64
|
|
|
72
65
|
class ExternalDagLink(BaseOperatorLink):
|
|
@@ -29,7 +29,7 @@ from airflow.configuration import conf
|
|
|
29
29
|
from airflow.exceptions import AirflowException
|
|
30
30
|
from airflow.providers.standard.hooks.filesystem import FSHook
|
|
31
31
|
from airflow.providers.standard.triggers.file import FileTrigger
|
|
32
|
-
from airflow.
|
|
32
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
33
33
|
|
|
34
34
|
try:
|
|
35
35
|
from airflow.triggers.base import StartTriggerArgs
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
-
from collections.abc import Mapping, Sequence
|
|
21
|
-
from typing import TYPE_CHECKING, Any
|
|
20
|
+
from collections.abc import Callable, Mapping, Sequence
|
|
21
|
+
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
|
-
from airflow.
|
|
23
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator, PokeReturnValue
|
|
24
24
|
from airflow.utils.context import context_merge
|
|
25
25
|
from airflow.utils.operator_helpers import determine_kwargs
|
|
26
26
|
|
|
@@ -25,7 +25,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
26
|
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
27
27
|
from airflow.providers.standard.triggers.temporal import DateTimeTrigger
|
|
28
|
-
from airflow.
|
|
28
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
29
29
|
|
|
30
30
|
try:
|
|
31
31
|
from airflow.triggers.base import StartTriggerArgs
|
|
@@ -20,7 +20,7 @@ from __future__ import annotations
|
|
|
20
20
|
import warnings
|
|
21
21
|
from datetime import datetime, timedelta
|
|
22
22
|
from time import sleep
|
|
23
|
-
from typing import TYPE_CHECKING, Any
|
|
23
|
+
from typing import TYPE_CHECKING, Any
|
|
24
24
|
|
|
25
25
|
from deprecated.classic import deprecated
|
|
26
26
|
from packaging.version import Version
|
|
@@ -28,8 +28,7 @@ from packaging.version import Version
|
|
|
28
28
|
from airflow.configuration import conf
|
|
29
29
|
from airflow.exceptions import AirflowProviderDeprecationWarning, AirflowSkipException
|
|
30
30
|
from airflow.providers.standard.triggers.temporal import DateTimeTrigger, TimeDeltaTrigger
|
|
31
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
32
|
-
from airflow.sensors.base import BaseSensorOperator
|
|
31
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseSensorOperator
|
|
33
32
|
from airflow.utils import timezone
|
|
34
33
|
|
|
35
34
|
if TYPE_CHECKING:
|
|
@@ -106,7 +105,7 @@ class TimeDeltaSensor(BaseSensorOperator):
|
|
|
106
105
|
Asynchronous execution
|
|
107
106
|
"""
|
|
108
107
|
|
|
109
|
-
def execute(self, context: Context) ->
|
|
108
|
+
def execute(self, context: Context) -> Any:
|
|
110
109
|
"""
|
|
111
110
|
Depending on the deferrable flag, either execute the sensor in a blocking way or defer it.
|
|
112
111
|
|
|
@@ -21,7 +21,7 @@ from collections.abc import Iterable
|
|
|
21
21
|
from typing import TYPE_CHECKING
|
|
22
22
|
|
|
23
23
|
from airflow.providers.standard.utils.weekday import WeekDay
|
|
24
|
-
from airflow.
|
|
24
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
25
25
|
from airflow.utils import timezone
|
|
26
26
|
|
|
27
27
|
if TYPE_CHECKING:
|
|
@@ -118,6 +118,15 @@ def _generate_pip_conf(conf_file: Path, index_urls: list[str]) -> None:
|
|
|
118
118
|
conf_file.write_text(f"[global]\n{pip_conf_options}")
|
|
119
119
|
|
|
120
120
|
|
|
121
|
+
def _index_urls_to_uv_env_vars(index_urls: list[str] | None = None) -> dict[str, str]:
|
|
122
|
+
uv_index_env_vars = {}
|
|
123
|
+
if index_urls:
|
|
124
|
+
uv_index_env_vars = {"UV_DEFAULT_INDEX": index_urls[0]}
|
|
125
|
+
if len(index_urls) > 1:
|
|
126
|
+
uv_index_env_vars["UV_INDEX"] = " ".join(x for x in index_urls[1:])
|
|
127
|
+
return uv_index_env_vars
|
|
128
|
+
|
|
129
|
+
|
|
121
130
|
def prepare_virtualenv(
|
|
122
131
|
venv_directory: str,
|
|
123
132
|
python_bin: str,
|
|
@@ -174,7 +183,7 @@ def prepare_virtualenv(
|
|
|
174
183
|
)
|
|
175
184
|
|
|
176
185
|
if pip_cmd:
|
|
177
|
-
execute_in_subprocess(pip_cmd)
|
|
186
|
+
execute_in_subprocess(pip_cmd, env={**os.environ, **_index_urls_to_uv_env_vars(index_urls)})
|
|
178
187
|
|
|
179
188
|
return f"{venv_directory}/bin/python"
|
|
180
189
|
|
|
@@ -22,13 +22,18 @@ from types import GeneratorType
|
|
|
22
22
|
from typing import TYPE_CHECKING
|
|
23
23
|
|
|
24
24
|
from airflow.exceptions import AirflowException
|
|
25
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_1_PLUS
|
|
25
26
|
from airflow.utils.log.logging_mixin import LoggingMixin
|
|
26
27
|
|
|
27
28
|
if TYPE_CHECKING:
|
|
28
|
-
from airflow.models.operator import Operator
|
|
29
29
|
from airflow.sdk.definitions._internal.node import DAGNode
|
|
30
30
|
from airflow.sdk.types import RuntimeTaskInstanceProtocol
|
|
31
31
|
|
|
32
|
+
if AIRFLOW_V_3_1_PLUS:
|
|
33
|
+
from airflow.sdk.types import Operator
|
|
34
|
+
else:
|
|
35
|
+
from airflow.models.operator import Operator
|
|
36
|
+
|
|
32
37
|
# The key used by SkipMixin to store XCom data.
|
|
33
38
|
XCOM_SKIPMIXIN_KEY = "skipmixin_key"
|
|
34
39
|
|
|
@@ -40,8 +45,12 @@ XCOM_SKIPMIXIN_FOLLOWED = "followed"
|
|
|
40
45
|
|
|
41
46
|
|
|
42
47
|
def _ensure_tasks(nodes: Iterable[DAGNode]) -> Sequence[Operator]:
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
if AIRFLOW_V_3_1_PLUS:
|
|
49
|
+
from airflow.sdk import BaseOperator
|
|
50
|
+
from airflow.sdk.definitions.mappedoperator import MappedOperator
|
|
51
|
+
else:
|
|
52
|
+
from airflow.models.baseoperator import BaseOperator # type: ignore[no-redef]
|
|
53
|
+
from airflow.models.mappedoperator import MappedOperator # type: ignore[no-redef]
|
|
45
54
|
|
|
46
55
|
return [n for n in nodes if isinstance(n, (BaseOperator, MappedOperator))]
|
|
47
56
|
|
|
@@ -32,4 +32,29 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
|
|
|
32
32
|
return airflow_version.major, airflow_version.minor, airflow_version.micro
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
|
|
35
|
+
AIRFLOW_V_3_0_PLUS: bool = get_base_airflow_version_tuple() >= (3, 0, 0)
|
|
36
|
+
AIRFLOW_V_3_1_PLUS: bool = get_base_airflow_version_tuple() >= (3, 1, 0)
|
|
37
|
+
|
|
38
|
+
# BaseOperator is not imported from SDK from 3.0 (and only done from 3.1) due to a bug with
|
|
39
|
+
# DecoratedOperator -- where `DecoratedOperator._handle_output` needed `xcom_push` to exist on `BaseOperator`
|
|
40
|
+
# even though it wasn't used.
|
|
41
|
+
if AIRFLOW_V_3_1_PLUS:
|
|
42
|
+
from airflow.sdk import BaseOperator
|
|
43
|
+
else:
|
|
44
|
+
from airflow.models.baseoperator import BaseOperator # type: ignore[no-redef]
|
|
45
|
+
|
|
46
|
+
if AIRFLOW_V_3_0_PLUS:
|
|
47
|
+
from airflow.sdk import BaseOperatorLink
|
|
48
|
+
from airflow.sdk.bases.sensor import BaseSensorOperator, PokeReturnValue
|
|
49
|
+
else:
|
|
50
|
+
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
51
|
+
from airflow.sensors.base import BaseSensorOperator, PokeReturnValue # type: ignore[no-redef]
|
|
52
|
+
|
|
53
|
+
__all__ = [
|
|
54
|
+
"AIRFLOW_V_3_0_PLUS",
|
|
55
|
+
"AIRFLOW_V_3_1_PLUS",
|
|
56
|
+
"BaseOperator",
|
|
57
|
+
"BaseOperatorLink",
|
|
58
|
+
"BaseSensorOperator",
|
|
59
|
+
"PokeReturnValue",
|
|
60
|
+
]
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-standard
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Provider package apache-airflow-providers-standard for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,standard,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
|
-
Requires-Python: ~=3.
|
|
8
|
+
Requires-Python: ~=3.10
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Environment :: Console
|
|
@@ -15,15 +15,14 @@ Classifier: Intended Audience :: System Administrators
|
|
|
15
15
|
Classifier: Framework :: Apache Airflow
|
|
16
16
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
17
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
21
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
Requires-Dist: apache-airflow>=2.10.
|
|
22
|
+
Requires-Dist: apache-airflow>=2.10.0
|
|
24
23
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
25
|
-
Project-URL: Changelog, https://airflow.
|
|
26
|
-
Project-URL: Documentation, https://airflow.
|
|
24
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html
|
|
25
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0
|
|
27
26
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
28
27
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
29
28
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -54,7 +53,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
54
53
|
|
|
55
54
|
Package ``apache-airflow-providers-standard``
|
|
56
55
|
|
|
57
|
-
Release: ``1.
|
|
56
|
+
Release: ``1.4.0``
|
|
58
57
|
|
|
59
58
|
|
|
60
59
|
Airflow Standard Provider
|
|
@@ -67,7 +66,7 @@ This is a provider package for ``standard`` provider. All classes for this provi
|
|
|
67
66
|
are in ``airflow.providers.standard`` python package.
|
|
68
67
|
|
|
69
68
|
You can find package information and changelog for the provider
|
|
70
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
69
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/>`_.
|
|
71
70
|
|
|
72
71
|
Installation
|
|
73
72
|
------------
|
|
@@ -76,7 +75,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
|
76
75
|
for the minimum Airflow version supported) via
|
|
77
76
|
``pip install apache-airflow-providers-standard``
|
|
78
77
|
|
|
79
|
-
The package supports the following python versions: 3.
|
|
78
|
+
The package supports the following python versions: 3.10,3.11,3.12
|
|
80
79
|
|
|
81
80
|
Requirements
|
|
82
81
|
------------
|
|
@@ -88,5 +87,5 @@ PIP package Version required
|
|
|
88
87
|
================== ==================
|
|
89
88
|
|
|
90
89
|
The changelog for the provider package can be found in the
|
|
91
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
90
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html>`_.
|
|
92
91
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
airflow/providers/standard/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
-
airflow/providers/standard/__init__.py,sha256=
|
|
2
|
+
airflow/providers/standard/__init__.py,sha256=L_G_shJnU4zMuCkoJp1DcuKFbr5VGcJixJ5M10TaTO0,1497
|
|
3
3
|
airflow/providers/standard/exceptions.py,sha256=MN4gEuNI8rFYx8zs5aAsUKDwyZQNuCig68h15CdwJ90,2075
|
|
4
4
|
airflow/providers/standard/get_provider_info.py,sha256=9qlyfIHRu_d_jZyyE0SR8s2dN9HEjzV5P2EjyVCcbw4,7003
|
|
5
|
-
airflow/providers/standard/version_compat.py,sha256=
|
|
5
|
+
airflow/providers/standard/version_compat.py,sha256=DrdferzYMGfcbIhpaLUTxbxbuMeoZSB95_224OjSbS8,2503
|
|
6
6
|
airflow/providers/standard/decorators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
-
airflow/providers/standard/decorators/bash.py,sha256=
|
|
8
|
-
airflow/providers/standard/decorators/branch_external_python.py,sha256=
|
|
9
|
-
airflow/providers/standard/decorators/branch_python.py,sha256=
|
|
10
|
-
airflow/providers/standard/decorators/branch_virtualenv.py,sha256=
|
|
11
|
-
airflow/providers/standard/decorators/external_python.py,sha256=
|
|
12
|
-
airflow/providers/standard/decorators/python.py,sha256=
|
|
13
|
-
airflow/providers/standard/decorators/python_virtualenv.py,sha256=
|
|
14
|
-
airflow/providers/standard/decorators/sensor.py,sha256=
|
|
15
|
-
airflow/providers/standard/decorators/short_circuit.py,sha256=
|
|
7
|
+
airflow/providers/standard/decorators/bash.py,sha256=vYIu3MIGBh-qm85R3TrUHzmOAQYU1q0kyszZoWYXdGM,4396
|
|
8
|
+
airflow/providers/standard/decorators/branch_external_python.py,sha256=G1l3_sYM38wEWMRnzRuVGmAbd4uMN5D07zm3EM3-ZWo,2584
|
|
9
|
+
airflow/providers/standard/decorators/branch_python.py,sha256=ZngmIIXTZDBfPgOI71ag6q_87eFdoxW5xTqtC60-_xQ,2503
|
|
10
|
+
airflow/providers/standard/decorators/branch_virtualenv.py,sha256=9mwTQsOKFKg0xJ4KmD0qsBPXvQUX0cBJRVtqKqaNocQ,2585
|
|
11
|
+
airflow/providers/standard/decorators/external_python.py,sha256=vjS7q331jWP1cKQ9HxsxKBkCZHD557w5IMurnrbME38,2904
|
|
12
|
+
airflow/providers/standard/decorators/python.py,sha256=Y56NyfW5qtF-mLMv7yCNTnDRPJ7L5UE5CZTZTWGs1GU,3442
|
|
13
|
+
airflow/providers/standard/decorators/python_virtualenv.py,sha256=_8Ir-9tt1Ru5rHfxW8nwqD7EAzw8UzQpXO7O14I2HTY,2592
|
|
14
|
+
airflow/providers/standard/decorators/sensor.py,sha256=BEcTdFUrfiFnLLZN6Uqtiqqq6ScGRVg9JkZYZk4sc-U,3230
|
|
15
|
+
airflow/providers/standard/decorators/short_circuit.py,sha256=zUZgcVDrZXXU_cOhvkxGJrSUsC0oD1HAGPNVDD3U2QM,2533
|
|
16
16
|
airflow/providers/standard/example_dags/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
17
17
|
airflow/providers/standard/example_dags/example_bash_decorator.py,sha256=6tJyRuHso9ITzTrKWK_kvMLKQFVzajkuWfkvaP-fMp4,3878
|
|
18
18
|
airflow/providers/standard/example_dags/example_bash_operator.py,sha256=tAS4cBsKW9B1nUukmYTpUw5Vf63476v_-tYjffyAtd4,2352
|
|
@@ -34,39 +34,39 @@ airflow/providers/standard/example_dags/example_trigger_controller_dag.py,sha256
|
|
|
34
34
|
airflow/providers/standard/example_dags/sql/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
35
35
|
airflow/providers/standard/example_dags/sql/sample.sql,sha256=OVk1qozBY58lp_tFtnyQiLSbKRdqKn4zbxJHH_Umdek,866
|
|
36
36
|
airflow/providers/standard/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
37
|
-
airflow/providers/standard/hooks/filesystem.py,sha256=
|
|
38
|
-
airflow/providers/standard/hooks/package_index.py,sha256=
|
|
39
|
-
airflow/providers/standard/hooks/subprocess.py,sha256=
|
|
37
|
+
airflow/providers/standard/hooks/filesystem.py,sha256=tLMhmjVGMNdjb5siTQSYctPx2X4YcEIbiNhkmPrlGXI,2975
|
|
38
|
+
airflow/providers/standard/hooks/package_index.py,sha256=xt7iNl9_z8t-WwwrYHzljy9TegP_R186GiOmApPMSJ0,3874
|
|
39
|
+
airflow/providers/standard/hooks/subprocess.py,sha256=i7WkmfYFrlWrFjAk8fgkc45EZktItVadrK-95t1D2io,5025
|
|
40
40
|
airflow/providers/standard/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
41
|
-
airflow/providers/standard/operators/bash.py,sha256=
|
|
42
|
-
airflow/providers/standard/operators/branch.py,sha256=
|
|
41
|
+
airflow/providers/standard/operators/bash.py,sha256=yzNbi20dp6PWJzXZqJ05gyMsdb6-UsNuNrPGp2hiu1E,11366
|
|
42
|
+
airflow/providers/standard/operators/branch.py,sha256=nbfX2GsRerU7LnjECG482P-ajdZ527wQ5w-hwFV0e7Y,4057
|
|
43
43
|
airflow/providers/standard/operators/datetime.py,sha256=bYDdbfAyAlEXRRHjOgB06UhgDum6SPdd5I3u-ylPSaw,5005
|
|
44
|
-
airflow/providers/standard/operators/empty.py,sha256=
|
|
44
|
+
airflow/providers/standard/operators/empty.py,sha256=BTeZ4KRykaEHLZigSBkevcStCrbPdQpWDMnO3ZdtZqw,1338
|
|
45
45
|
airflow/providers/standard/operators/latest_only.py,sha256=1yJtpi6cK4TIjARQgcrf460as4V6uVBdoDtjJEUnbvs,4884
|
|
46
|
-
airflow/providers/standard/operators/python.py,sha256=
|
|
47
|
-
airflow/providers/standard/operators/smooth.py,sha256=
|
|
48
|
-
airflow/providers/standard/operators/trigger_dagrun.py,sha256=
|
|
46
|
+
airflow/providers/standard/operators/python.py,sha256=IXAZEcbifTAbkP0cKWhgEnHLYApEvudUzWHOGyABaJs,53046
|
|
47
|
+
airflow/providers/standard/operators/smooth.py,sha256=IMs5GjM42XEiroksIZ5flGQgxfRUbXZXCWxpshVinYQ,1396
|
|
48
|
+
airflow/providers/standard/operators/trigger_dagrun.py,sha256=97C5DdNqwq-huRki58pyFT54ns2BRC5eELsFHVLE8As,16602
|
|
49
49
|
airflow/providers/standard/operators/weekday.py,sha256=Qg7LhXYtybVSGZn8uQqF-r7RB7zOXfe3R6vSGVa_rJk,5083
|
|
50
50
|
airflow/providers/standard/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
51
|
-
airflow/providers/standard/sensors/bash.py,sha256=
|
|
52
|
-
airflow/providers/standard/sensors/date_time.py,sha256=
|
|
53
|
-
airflow/providers/standard/sensors/external_task.py,sha256=
|
|
54
|
-
airflow/providers/standard/sensors/filesystem.py,sha256=
|
|
55
|
-
airflow/providers/standard/sensors/python.py,sha256=
|
|
56
|
-
airflow/providers/standard/sensors/time.py,sha256=
|
|
57
|
-
airflow/providers/standard/sensors/time_delta.py,sha256=
|
|
58
|
-
airflow/providers/standard/sensors/weekday.py,sha256=
|
|
51
|
+
airflow/providers/standard/sensors/bash.py,sha256=jiysK84IwnVpQj1_lE65E_pSPE0FO82GGtqXf_a8STA,4984
|
|
52
|
+
airflow/providers/standard/sensors/date_time.py,sha256=hjbK56vc1GfwNY3Ge0c8Er8QsSKD4JJNBwe3Fa6d4HI,6208
|
|
53
|
+
airflow/providers/standard/sensors/external_task.py,sha256=yf8lXb1jBOSU2xbSLmKx8EiW4VhBq7WDfFjXa_bkp-o,27948
|
|
54
|
+
airflow/providers/standard/sensors/filesystem.py,sha256=jDgxZQ4WXRv1PSjc2o4K0Iq_AxnaPw7yIUnafK_VpaM,6050
|
|
55
|
+
airflow/providers/standard/sensors/python.py,sha256=rpJa61FUjQRJwQwLdHpprnLdVW78rB4svhbw1U-LiWw,3408
|
|
56
|
+
airflow/providers/standard/sensors/time.py,sha256=kam9KWlPahuqFo3u7CAGnQk_DBYSKawBr5MDPCGwb6g,5091
|
|
57
|
+
airflow/providers/standard/sensors/time_delta.py,sha256=ggDSna-m_scLFks9zx1LoC64jQBjw7ZQqH7n96UU2BQ,7579
|
|
58
|
+
airflow/providers/standard/sensors/weekday.py,sha256=sKDQ7xC9c32DZxaGNIjqmW6HXE4hIvKC71Kt-_d9SG8,4470
|
|
59
59
|
airflow/providers/standard/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
60
60
|
airflow/providers/standard/triggers/external_task.py,sha256=cuIUvLeOC6Epf4JDvFZSqcWU9fdh2plMbwop_pceb98,11599
|
|
61
61
|
airflow/providers/standard/triggers/file.py,sha256=2i8-RwSjEgdOwQNcHCqLmSdpE3Ehqg4GQJ8nE3-fHxo,4886
|
|
62
62
|
airflow/providers/standard/triggers/temporal.py,sha256=AlSdf3iNUMrdQmMlKHi0Ms-D_OU7hIkLFsqj23mpR3Q,4446
|
|
63
63
|
airflow/providers/standard/utils/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
64
|
-
airflow/providers/standard/utils/python_virtualenv.py,sha256=
|
|
64
|
+
airflow/providers/standard/utils/python_virtualenv.py,sha256=RBiPWHwTngOMoohgJVmUap1DQ90EPjrGKmBjHBCHG74,8159
|
|
65
65
|
airflow/providers/standard/utils/python_virtualenv_script.jinja2,sha256=3Z334hVq6hQ9EHkOoGnAHc2_XNkZQkOJGxZArDKLc-c,2770
|
|
66
66
|
airflow/providers/standard/utils/sensor_helper.py,sha256=PNIETsl_a4BkmOypFfHdpP0VuTkC6eWKUDuwnNVaWsA,5000
|
|
67
|
-
airflow/providers/standard/utils/skipmixin.py,sha256=
|
|
67
|
+
airflow/providers/standard/utils/skipmixin.py,sha256=LwEdC108uifCRETlban0oCtlvW621kyn9RhiQw6cpWg,8169
|
|
68
68
|
airflow/providers/standard/utils/weekday.py,sha256=ySDrIkWv-lqqxURo9E98IGInDqERec2O4y9o2hQTGiQ,2685
|
|
69
|
-
apache_airflow_providers_standard-1.
|
|
70
|
-
apache_airflow_providers_standard-1.
|
|
71
|
-
apache_airflow_providers_standard-1.
|
|
72
|
-
apache_airflow_providers_standard-1.
|
|
69
|
+
apache_airflow_providers_standard-1.4.0.dist-info/entry_points.txt,sha256=mW2YRh3mVdZdaP5-iGSNgmcCh3YYdALIn28BCLBZZ40,104
|
|
70
|
+
apache_airflow_providers_standard-1.4.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
71
|
+
apache_airflow_providers_standard-1.4.0.dist-info/METADATA,sha256=6zHK-6xUTuCs6MRTgOexsqk68C85o7hcUCNHwuUYVqE,3735
|
|
72
|
+
apache_airflow_providers_standard-1.4.0.dist-info/RECORD,,
|
|
File without changes
|