apache-airflow-providers-sftp 5.2.0rc1__tar.gz → 5.2.1rc1__tar.gz
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.
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/PKG-INFO +6 -6
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/README.rst +3 -3
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/changelog.rst +11 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/commits.rst +13 -1
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/index.rst +3 -3
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/provider.yaml +2 -1
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/pyproject.toml +3 -3
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/__init__.py +1 -1
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/hooks/sftp.py +8 -9
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/hooks/test_sftp.py +5 -8
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/conf.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/connections/sftp.rst +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/integration-logos/SFTP.png +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/security.rst +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/sensors/sftp_sensor.rst +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/LICENSE +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/decorators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/decorators/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/decorators/sensors/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/get_provider_info.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/hooks/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/operators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/operators/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/sensors/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/triggers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/triggers/sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/src/airflow/providers/sftp/version_compat.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/conftest.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/system/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/system/sftp/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/system/sftp/example_sftp_sensor.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/decorators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/decorators/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/decorators/sensors/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/hooks/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/operators/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/operators/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/sensors/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/sensors/test_sftp.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/triggers/__init__.py +0 -0
- {apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/unit/sftp/triggers/test_sftp.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-sftp
|
3
|
-
Version: 5.2.
|
3
|
+
Version: 5.2.1rc1
|
4
4
|
Summary: Provider package apache-airflow-providers-sftp for Apache Airflow
|
5
5
|
Keywords: airflow-provider,sftp,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -27,8 +27,8 @@ Requires-Dist: asyncssh>=2.12.0
|
|
27
27
|
Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
|
28
28
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
29
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
30
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
31
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/changelog.html
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1
|
32
32
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
33
33
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
34
34
|
Project-URL: Source Code, https://github.com/apache/airflow
|
@@ -61,7 +61,7 @@ Provides-Extra: openlineage
|
|
61
61
|
|
62
62
|
Package ``apache-airflow-providers-sftp``
|
63
63
|
|
64
|
-
Release: ``5.2.
|
64
|
+
Release: ``5.2.1``
|
65
65
|
|
66
66
|
|
67
67
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
@@ -74,7 +74,7 @@ This is a provider package for ``sftp`` provider. All classes for this provider
|
|
74
74
|
are in ``airflow.providers.sftp`` python package.
|
75
75
|
|
76
76
|
You can find package information and changelog for the provider
|
77
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
77
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/>`_.
|
78
78
|
|
79
79
|
Installation
|
80
80
|
------------
|
@@ -119,5 +119,5 @@ Dependent package
|
|
119
119
|
================================================================================================================== =================
|
120
120
|
|
121
121
|
The changelog for the provider package can be found in the
|
122
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
122
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/changelog.html>`_.
|
123
123
|
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/README.rst
RENAMED
@@ -23,7 +23,7 @@
|
|
23
23
|
|
24
24
|
Package ``apache-airflow-providers-sftp``
|
25
25
|
|
26
|
-
Release: ``5.2.
|
26
|
+
Release: ``5.2.1``
|
27
27
|
|
28
28
|
|
29
29
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
@@ -36,7 +36,7 @@ This is a provider package for ``sftp`` provider. All classes for this provider
|
|
36
36
|
are in ``airflow.providers.sftp`` python package.
|
37
37
|
|
38
38
|
You can find package information and changelog for the provider
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/>`_.
|
40
40
|
|
41
41
|
Installation
|
42
42
|
------------
|
@@ -81,4 +81,4 @@ Dependent package
|
|
81
81
|
================================================================================================================== =================
|
82
82
|
|
83
83
|
The changelog for the provider package can be found in the
|
84
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
84
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/changelog.html>`_.
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/changelog.rst
RENAMED
@@ -27,6 +27,17 @@
|
|
27
27
|
Changelog
|
28
28
|
---------
|
29
29
|
|
30
|
+
5.2.1
|
31
|
+
.....
|
32
|
+
|
33
|
+
Misc
|
34
|
+
~~~~
|
35
|
+
|
36
|
+
* ``remove superfluous else block (#49199)``
|
37
|
+
|
38
|
+
.. Below changes are excluded from the changelog. Move them to
|
39
|
+
appropriate section above if needed. Do not delete the lines(!):
|
40
|
+
|
30
41
|
5.2.0
|
31
42
|
.....
|
32
43
|
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/commits.rst
RENAMED
@@ -34,14 +34,26 @@ For high-level changelog, see :doc:`package information including changelog <ind
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
+
5.2.1
|
38
|
+
.....
|
39
|
+
|
40
|
+
Latest change: 2025-04-14
|
41
|
+
|
42
|
+
================================================================================================== =========== ==========================================
|
43
|
+
Commit Committed Subject
|
44
|
+
================================================================================================== =========== ==========================================
|
45
|
+
`cb295c351a <https://github.com/apache/airflow/commit/cb295c351a016c0a10cab07f2a628b865cff3ca3>`__ 2025-04-14 ``remove superfluous else block (#49199)``
|
46
|
+
================================================================================================== =========== ==========================================
|
47
|
+
|
37
48
|
5.2.0
|
38
49
|
.....
|
39
50
|
|
40
|
-
Latest change: 2025-04-
|
51
|
+
Latest change: 2025-04-10
|
41
52
|
|
42
53
|
================================================================================================== =========== ==================================================================================
|
43
54
|
Commit Committed Subject
|
44
55
|
================================================================================================== =========== ==================================================================================
|
56
|
+
`4a8567b20b <https://github.com/apache/airflow/commit/4a8567b20bdd6555cbdc936d6674bf4fa390b0d5>`__ 2025-04-10 ``Prepare docs for Apr 2nd wave of providers (#49051)``
|
45
57
|
`7612f4ba68 <https://github.com/apache/airflow/commit/7612f4ba68b7a6d767107f35accb9910776590ad>`__ 2025-04-08 ``Implement concurrent directory transfer in SFTPOperator (#47533)``
|
46
58
|
`7b2ec33c7a <https://github.com/apache/airflow/commit/7b2ec33c7ad4998d9c9735b79593fcdcd3b9dd1f>`__ 2025-04-08 ``Remove unnecessary entries in get_provider_info and update the schema (#48849)``
|
47
59
|
`86d5b27f92 <https://github.com/apache/airflow/commit/86d5b27f92207571ebe0c29a42c42abbf6f8cb8c>`__ 2025-04-08 ``Make '@task' import from airflow.sdk (#48896)``
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/index.rst
RENAMED
@@ -70,7 +70,7 @@ apache-airflow-providers-sftp package
|
|
70
70
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
71
71
|
|
72
72
|
|
73
|
-
Release: 5.2.
|
73
|
+
Release: 5.2.1
|
74
74
|
|
75
75
|
Provider package
|
76
76
|
----------------
|
@@ -126,5 +126,5 @@ Downloading official packages
|
|
126
126
|
You can download officially released packages and verify their checksums and signatures from the
|
127
127
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
128
128
|
|
129
|
-
* `The apache-airflow-providers-sftp 5.2.
|
130
|
-
* `The apache-airflow-providers-sftp 5.2.
|
129
|
+
* `The apache-airflow-providers-sftp 5.2.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1.tar.gz.sha512>`__)
|
130
|
+
* `The apache-airflow-providers-sftp 5.2.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_sftp-5.2.1-py3-none-any.whl.sha512>`__)
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/provider.yaml
RENAMED
@@ -22,9 +22,10 @@ description: |
|
|
22
22
|
`SSH File Transfer Protocol (SFTP) <https://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/>`__
|
23
23
|
|
24
24
|
state: ready
|
25
|
-
source-date-epoch:
|
25
|
+
source-date-epoch: 1744792349
|
26
26
|
# note that those versions are maintained by release manager - do not update them manually
|
27
27
|
versions:
|
28
|
+
- 5.2.1
|
28
29
|
- 5.2.0
|
29
30
|
- 5.1.2
|
30
31
|
- 5.1.1
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/pyproject.toml
RENAMED
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
25
25
|
|
26
26
|
[project]
|
27
27
|
name = "apache-airflow-providers-sftp"
|
28
|
-
version = "5.2.
|
28
|
+
version = "5.2.1.rc1"
|
29
29
|
description = "Provider package apache-airflow-providers-sftp for Apache Airflow"
|
30
30
|
readme = "README.rst"
|
31
31
|
authors = [
|
@@ -110,8 +110,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
110
110
|
apache-airflow-providers-standard = {workspace = true}
|
111
111
|
|
112
112
|
[project.urls]
|
113
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
114
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.
|
113
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1"
|
114
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-sftp/5.2.1/changelog.html"
|
115
115
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
116
116
|
"Source Code" = "https://github.com/apache/airflow"
|
117
117
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "5.2.
|
32
|
+
__version__ = "5.2.1"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
35
|
"2.9.0"
|
@@ -244,16 +244,15 @@ class SFTPHook(SSHHook):
|
|
244
244
|
if self.isdir(path):
|
245
245
|
self.log.info("%s already exists", path)
|
246
246
|
return
|
247
|
-
|
247
|
+
if self.isfile(path):
|
248
248
|
raise AirflowException(f"{path} already exists and is a file")
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
conn.mkdir(path, mode=mode)
|
249
|
+
dirname, basename = os.path.split(path)
|
250
|
+
if dirname and not self.isdir(dirname):
|
251
|
+
self.create_directory(dirname, mode)
|
252
|
+
if basename:
|
253
|
+
self.log.info("Creating %s", path)
|
254
|
+
with self.get_managed_conn() as conn:
|
255
|
+
conn.mkdir(path, mode=mode)
|
257
256
|
|
258
257
|
def delete_directory(self, path: str, include_files: bool = False) -> None:
|
259
258
|
"""
|
@@ -587,22 +587,19 @@ class MockSFTPClient:
|
|
587
587
|
async def listdir(self, path: str):
|
588
588
|
if path == "/path/does_not/exist/":
|
589
589
|
raise SFTPNoSuchFile("File does not exist")
|
590
|
-
|
591
|
-
return ["..", ".", "file"]
|
590
|
+
return ["..", ".", "file"]
|
592
591
|
|
593
592
|
async def readdir(self, path: str):
|
594
593
|
if path == "/path/does_not/exist/":
|
595
594
|
raise SFTPNoSuchFile("File does not exist")
|
596
|
-
|
597
|
-
return [SFTPName(".."), SFTPName("."), SFTPName("file")]
|
595
|
+
return [SFTPName(".."), SFTPName("."), SFTPName("file")]
|
598
596
|
|
599
597
|
async def stat(self, path: str):
|
600
598
|
if path == "/path/does_not/exist/":
|
601
599
|
raise SFTPNoSuchFile("No files matching")
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
return sftp_obj
|
600
|
+
sftp_obj = SFTPAttrs()
|
601
|
+
sftp_obj.mtime = 1667302566
|
602
|
+
return sftp_obj
|
606
603
|
|
607
604
|
|
608
605
|
class MockSSHClient:
|
File without changes
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/conf.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/docs/security.rst
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{apache_airflow_providers_sftp-5.2.0rc1 → apache_airflow_providers_sftp-5.2.1rc1}/tests/conftest.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|