apache-airflow-providers-http 5.3.2__tar.gz → 5.3.3rc1__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.
Files changed (43) hide show
  1. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/PKG-INFO +12 -10
  2. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/README.rst +5 -4
  3. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/changelog.rst +19 -0
  4. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/index.rst +3 -1
  5. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/provider.yaml +2 -1
  6. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/pyproject.toml +7 -7
  7. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/__init__.py +1 -1
  8. {apache_airflow_providers_http-5.3.2/tests/system → apache_airflow_providers_http-5.3.3rc1/src/airflow/providers}/__init__.py +1 -1
  9. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/__init__.py +1 -1
  10. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/hooks/http.py +4 -8
  11. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/operators/http.py +1 -6
  12. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/version_compat.py +8 -2
  13. {apache_airflow_providers_http-5.3.2/src/airflow/providers → apache_airflow_providers_http-5.3.3rc1/tests/system}/__init__.py +1 -1
  14. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/__init__.py +1 -1
  15. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/sensors/test_http.py +4 -1
  16. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/.latest-doc-only-change.txt +0 -0
  17. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/commits.rst +0 -0
  18. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/conf.py +0 -0
  19. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/connections/http.rst +0 -0
  20. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/installing-providers-from-sources.rst +0 -0
  21. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/integration-logos/HTTP.png +0 -0
  22. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/operators.rst +0 -0
  23. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/docs/security.rst +0 -0
  24. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/LICENSE +0 -0
  25. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/exceptions.py +0 -0
  26. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/get_provider_info.py +0 -0
  27. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/hooks/__init__.py +0 -0
  28. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/operators/__init__.py +0 -0
  29. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/sensors/__init__.py +0 -0
  30. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/sensors/http.py +0 -0
  31. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/triggers/__init__.py +0 -0
  32. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/src/airflow/providers/http/triggers/http.py +0 -0
  33. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/conftest.py +0 -0
  34. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/system/http/__init__.py +0 -0
  35. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/system/http/example_http.py +0 -0
  36. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/__init__.py +0 -0
  37. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/hooks/__init__.py +0 -0
  38. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/hooks/test_http.py +0 -0
  39. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/operators/__init__.py +0 -0
  40. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/operators/test_http.py +0 -0
  41. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/sensors/__init__.py +0 -0
  42. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/triggers/__init__.py +0 -0
  43. {apache_airflow_providers_http-5.3.2 → apache_airflow_providers_http-5.3.3rc1}/tests/unit/http/triggers/test_http.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-http
3
- Version: 5.3.2
3
+ Version: 5.3.3rc1
4
4
  Summary: Provider package apache-airflow-providers-http for Apache Airflow
5
5
  Keywords: airflow-provider,http,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.10
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
@@ -18,15 +18,16 @@ Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: System :: Monitoring
22
- Requires-Dist: apache-airflow>=2.10.0
23
+ Requires-Dist: apache-airflow>=2.10.0rc1
23
24
  Requires-Dist: requests>=2.32.0,<3
24
25
  Requires-Dist: requests-toolbelt>=1.0.0
25
- Requires-Dist: aiohttp>=3.9.2,!=3.11.0
26
+ Requires-Dist: aiohttp>=3.12.14
26
27
  Requires-Dist: asgiref>=2.3.0
27
28
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
28
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/changelog.html
29
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2
29
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-http/5.3.3/changelog.html
30
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-http/5.3.3
30
31
  Project-URL: Mastodon, https://fosstodon.org/@airflow
31
32
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
32
33
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -57,8 +58,9 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
57
58
 
58
59
  Package ``apache-airflow-providers-http``
59
60
 
60
- Release: ``5.3.2``
61
+ Release: ``5.3.3``
61
62
 
63
+ Release Date: ``|PypiReleaseDate|``
62
64
 
63
65
  `Hypertext Transfer Protocol (HTTP) <https://www.w3.org/Protocols/>`__
64
66
 
@@ -70,7 +72,7 @@ This is a provider package for ``http`` provider. All classes for this provider
70
72
  are in ``airflow.providers.http`` python package.
71
73
 
72
74
  You can find package information and changelog for the provider
73
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/>`_.
75
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.3/>`_.
74
76
 
75
77
  Installation
76
78
  ------------
@@ -79,7 +81,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
79
81
  for the minimum Airflow version supported) via
80
82
  ``pip install apache-airflow-providers-http``
81
83
 
82
- The package supports the following python versions: 3.10,3.11,3.12
84
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
83
85
 
84
86
  Requirements
85
87
  ------------
@@ -95,5 +97,5 @@ PIP package Version required
95
97
  ===================== ====================
96
98
 
97
99
  The changelog for the provider package can be found in the
98
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/changelog.html>`_.
100
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.3/changelog.html>`_.
99
101
 
@@ -23,8 +23,9 @@
23
23
 
24
24
  Package ``apache-airflow-providers-http``
25
25
 
26
- Release: ``5.3.2``
26
+ Release: ``5.3.3``
27
27
 
28
+ Release Date: ``|PypiReleaseDate|``
28
29
 
29
30
  `Hypertext Transfer Protocol (HTTP) <https://www.w3.org/Protocols/>`__
30
31
 
@@ -36,7 +37,7 @@ This is a provider package for ``http`` provider. All classes for this provider
36
37
  are in ``airflow.providers.http`` python package.
37
38
 
38
39
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/>`_.
40
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.3/>`_.
40
41
 
41
42
  Installation
42
43
  ------------
@@ -45,7 +46,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
45
46
  for the minimum Airflow version supported) via
46
47
  ``pip install apache-airflow-providers-http``
47
48
 
48
- The package supports the following python versions: 3.10,3.11,3.12
49
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
49
50
 
50
51
  Requirements
51
52
  ------------
@@ -61,4 +62,4 @@ PIP package Version required
61
62
  ===================== ====================
62
63
 
63
64
  The changelog for the provider package can be found in the
64
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/changelog.html>`_.
65
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.3/changelog.html>`_.
@@ -27,6 +27,25 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 5.3.3
31
+ .....
32
+
33
+ Misc
34
+ ~~~~
35
+
36
+ * ``Cleanup type ignores (#53294)``
37
+ * ``Remove type ignore across codebase after mypy upgrade (#53243)``
38
+ * ``Make http provider compatible with mypy 1.16.1 (#53108)``
39
+ * ``Remove upper-binding for "python-requires" (#52980)``
40
+ * ``Temporarily switch to use >=,< pattern instead of '~=' (#52967)``
41
+ * ``Move all BaseHook usages to version_compat in HTTP (#52814)``
42
+ * ``Add Python 3.13 support for Airflow. (#46891)``
43
+ * ``Bump aiohttp to 3.12.14 (#53830)``
44
+
45
+ .. Below changes are excluded from the changelog. Move them to
46
+ appropriate section above if needed. Do not delete the lines(!):
47
+ * ``Resolve timeout in ''HttpSensor'' test by fixing template rendering (#53676)``
48
+
30
49
  5.3.2
31
50
  .....
32
51
 
@@ -77,7 +77,9 @@ apache-airflow-providers-http package
77
77
  `Hypertext Transfer Protocol (HTTP) <https://www.w3.org/Protocols/>`__
78
78
 
79
79
 
80
- Release: 5.3.2
80
+ Release: 5.3.3
81
+
82
+ Release Date: ``|PypiReleaseDate|``
81
83
 
82
84
  Provider package
83
85
  ----------------
@@ -22,12 +22,13 @@ description: |
22
22
  `Hypertext Transfer Protocol (HTTP) <https://www.w3.org/Protocols/>`__
23
23
 
24
24
  state: ready
25
- source-date-epoch: 1751473576
25
+ source-date-epoch: 1753691415
26
26
  # Note that those versions are maintained by release manager - do not update them manually
27
27
  # with the exception of case where other provider in sources has >= new provider version.
28
28
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
29
29
  # to be done in the same PR
30
30
  versions:
31
+ - 5.3.3
31
32
  - 5.3.2
32
33
  - 5.3.1
33
34
  - 5.3.0
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-http"
28
- version = "5.3.2"
28
+ version = "5.3.3rc1"
29
29
  description = "Provider package apache-airflow-providers-http for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -47,22 +47,22 @@ classifiers = [
47
47
  "Programming Language :: Python :: 3.10",
48
48
  "Programming Language :: Python :: 3.11",
49
49
  "Programming Language :: Python :: 3.12",
50
+ "Programming Language :: Python :: 3.13",
50
51
  "Topic :: System :: Monitoring",
51
52
  ]
52
- requires-python = "~=3.10"
53
+ requires-python = ">=3.10"
53
54
 
54
55
  # The dependencies should be modified in place in the generated file.
55
56
  # Any change in the dependencies is preserved when the file is regenerated
56
57
  # Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
57
58
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
58
59
  dependencies = [
59
- "apache-airflow>=2.10.0",
60
+ "apache-airflow>=2.10.0rc1",
60
61
  # The 2.26.0 release of requests got rid of the chardet LGPL mandatory dependency, allowing us to
61
62
  # release it as a requirement for airflow
62
63
  "requests>=2.32.0,<3",
63
64
  "requests-toolbelt>=1.0.0",
64
- # aiohttp 3.11.0 had incompatible change: https://github.com/aio-libs/aiohttp/issues/9866
65
- "aiohttp>=3.9.2,!=3.11.0",
65
+ "aiohttp>=3.12.14",
66
66
  "asgiref>=2.3.0",
67
67
  ]
68
68
 
@@ -100,8 +100,8 @@ apache-airflow-providers-common-sql = {workspace = true}
100
100
  apache-airflow-providers-standard = {workspace = true}
101
101
 
102
102
  [project.urls]
103
- "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2"
104
- "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-http/5.3.2/changelog.html"
103
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-http/5.3.3"
104
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-http/5.3.3/changelog.html"
105
105
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
106
106
  "Source Code" = "https://github.com/apache/airflow"
107
107
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "5.3.2"
32
+ __version__ = "5.3.3"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -19,7 +19,7 @@ from __future__ import annotations
19
19
 
20
20
  import copy
21
21
  from collections.abc import Callable
22
- from typing import TYPE_CHECKING, Any
22
+ from typing import TYPE_CHECKING, Any, cast
23
23
  from urllib.parse import urlparse
24
24
 
25
25
  import aiohttp
@@ -34,11 +34,7 @@ from requests_toolbelt.adapters.socket_options import TCPKeepAliveAdapter
34
34
 
35
35
  from airflow.exceptions import AirflowException
36
36
  from airflow.providers.http.exceptions import HttpErrorException, HttpMethodException
37
-
38
- try:
39
- from airflow.sdk import BaseHook
40
- except ImportError:
41
- from airflow.hooks.base import BaseHook as BaseHook # type: ignore
37
+ from airflow.providers.http.version_compat import BaseHook
42
38
 
43
39
  if TYPE_CHECKING:
44
40
  from aiohttp.client_reqrep import ClientResponse
@@ -239,7 +235,7 @@ class HttpHook(BaseHook):
239
235
  session.stream = self.merged_extra.get("stream", False)
240
236
  session.verify = self.merged_extra.get("verify", self.merged_extra.get("verify_ssl", True))
241
237
  session.cert = self.merged_extra.get("cert", None)
242
- session.max_redirects = self.merged_extra.get("max_redirects", DEFAULT_REDIRECT_LIMIT)
238
+ session.max_redirects = cast("int", self.merged_extra.get("max_redirects", DEFAULT_REDIRECT_LIMIT))
243
239
  session.trust_env = self.merged_extra.get("trust_env", True)
244
240
 
245
241
  try:
@@ -383,7 +379,7 @@ class HttpHook(BaseHook):
383
379
  self._retry_obj = tenacity.Retrying(**_retry_args)
384
380
 
385
381
  # TODO: remove ignore type when https://github.com/jd/tenacity/issues/428 is resolved
386
- return self._retry_obj(self.run, *args, **kwargs) # type: ignore
382
+ return self._retry_obj(self.run, *args, **kwargs)
387
383
 
388
384
  def url_from_endpoint(self, endpoint: str | None) -> str:
389
385
  """Combine base url with endpoint."""
@@ -27,13 +27,8 @@ from requests import Response
27
27
 
28
28
  from airflow.configuration import conf
29
29
  from airflow.exceptions import AirflowException
30
-
31
- try:
32
- from airflow.sdk import BaseHook
33
- except ImportError:
34
- from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
35
30
  from airflow.providers.http.triggers.http import HttpTrigger, serialize_auth_type
36
- from airflow.providers.http.version_compat import BaseOperator
31
+ from airflow.providers.http.version_compat import BaseHook, BaseOperator
37
32
  from airflow.utils.helpers import merge_dicts
38
33
 
39
34
  if TYPE_CHECKING:
@@ -33,11 +33,17 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
33
33
 
34
34
 
35
35
  AIRFLOW_V_3_0_PLUS = 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
+ if AIRFLOW_V_3_1_PLUS:
39
+ from airflow.sdk import BaseHook
40
+ else:
41
+ from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
36
42
 
37
43
  if AIRFLOW_V_3_0_PLUS:
38
44
  from airflow.sdk import BaseOperator, BaseSensorOperator
39
45
  else:
40
- from airflow.models import BaseOperator # type: ignore[no-redef]
46
+ from airflow.models import BaseOperator
41
47
  from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
42
48
 
43
- __all__ = ["AIRFLOW_V_3_0_PLUS", "BaseOperator", "BaseSensorOperator"]
49
+ __all__ = ["AIRFLOW_V_3_0_PLUS", "AIRFLOW_V_3_1_PLUS", "BaseHook", "BaseOperator", "BaseSensorOperator"]
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -322,7 +322,10 @@ class TestHttpOpSensor:
322
322
  poke_interval=5,
323
323
  timeout=15,
324
324
  )
325
- run_task(sensor)
325
+ run_task(sensor, logical_date=DEFAULT_DATE)
326
+
327
+ assert run_task.state == "success"
328
+ assert run_task.error is None
326
329
 
327
330
  @pytest.mark.skipif(AIRFLOW_V_3_0_PLUS, reason="Test only for Airflow < 3.0")
328
331
  @mock.patch("airflow.providers.http.hooks.http.Session", FakeSession)