apache-airflow-providers-hashicorp 3.4.2__tar.gz → 3.5.0rc1__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 (23) hide show
  1. {apache-airflow-providers-hashicorp-3.4.2/apache_airflow_providers_hashicorp.egg-info → apache-airflow-providers-hashicorp-3.5.0rc1}/PKG-INFO +7 -7
  2. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/README.rst +4 -4
  3. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/__init__.py +5 -3
  4. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/_internal_client/vault_client.py +1 -1
  5. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/get_provider_info.py +3 -1
  6. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/hooks/vault.py +6 -4
  7. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1/apache_airflow_providers_hashicorp.egg-info}/PKG-INFO +7 -7
  8. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/requires.txt +1 -1
  9. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/pyproject.toml +46 -35
  10. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/setup.cfg +4 -4
  11. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/setup.py +1 -1
  12. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/LICENSE +0 -0
  13. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/MANIFEST.in +0 -0
  14. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/NOTICE +0 -0
  15. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/_internal_client/__init__.py +0 -0
  16. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/hooks/__init__.py +0 -0
  17. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/secrets/__init__.py +0 -0
  18. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/airflow/providers/hashicorp/secrets/vault.py +0 -0
  19. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/SOURCES.txt +0 -0
  20. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/dependency_links.txt +0 -0
  21. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/entry_points.txt +0 -0
  22. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/not-zip-safe +0 -0
  23. {apache-airflow-providers-hashicorp-3.4.2 → apache-airflow-providers-hashicorp-3.5.0rc1}/apache_airflow_providers_hashicorp.egg-info/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-hashicorp
3
- Version: 3.4.2
3
+ Version: 3.5.0rc1
4
4
  Summary: Provider for Apache Airflow. Implements apache-airflow-providers-hashicorp package
5
5
  Home-page: https://airflow.apache.org/
6
6
  Download-URL: https://archive.apache.org/dist/airflow/providers
7
7
  Author: Apache Software Foundation
8
8
  Author-email: dev@airflow.apache.org
9
9
  License: Apache License 2.0
10
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/
11
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html
10
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/
11
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html
12
12
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
13
13
  Project-URL: Source Code, https://github.com/apache/airflow
14
14
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
@@ -71,7 +71,7 @@ License-File: NOTICE
71
71
 
72
72
  Package ``apache-airflow-providers-hashicorp``
73
73
 
74
- Release: ``3.4.2``
74
+ Release: ``3.5.0rc1``
75
75
 
76
76
 
77
77
  Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
@@ -84,7 +84,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
84
84
  are in ``airflow.providers.hashicorp`` python package.
85
85
 
86
86
  You can find package information and changelog for the provider
87
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/>`_.
87
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/>`_.
88
88
 
89
89
 
90
90
  Installation
@@ -102,7 +102,7 @@ Requirements
102
102
  ================== ==================
103
103
  PIP package Version required
104
104
  ================== ==================
105
- ``apache-airflow`` ``>=2.4.0``
105
+ ``apache-airflow`` ``>=2.5.0``
106
106
  ``hvac`` ``>=0.10``
107
107
  ================== ==================
108
108
 
@@ -126,4 +126,4 @@ Dependent package
126
126
  ==================================================================================================== ==========
127
127
 
128
128
  The changelog for the provider package can be found in the
129
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html>`_.
129
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html>`_.
@@ -36,7 +36,7 @@
36
36
 
37
37
  Package ``apache-airflow-providers-hashicorp``
38
38
 
39
- Release: ``3.4.2``
39
+ Release: ``3.5.0rc1``
40
40
 
41
41
 
42
42
  Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
@@ -49,7 +49,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
49
49
  are in ``airflow.providers.hashicorp`` python package.
50
50
 
51
51
  You can find package information and changelog for the provider
52
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/>`_.
52
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/>`_.
53
53
 
54
54
 
55
55
  Installation
@@ -67,7 +67,7 @@ Requirements
67
67
  ================== ==================
68
68
  PIP package Version required
69
69
  ================== ==================
70
- ``apache-airflow`` ``>=2.4.0``
70
+ ``apache-airflow`` ``>=2.5.0``
71
71
  ``hvac`` ``>=0.10``
72
72
  ================== ==================
73
73
 
@@ -91,4 +91,4 @@ Dependent package
91
91
  ==================================================================================================== ==========
92
92
 
93
93
  The changelog for the provider package can be found in the
94
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html>`_.
94
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html>`_.
@@ -28,14 +28,16 @@ import packaging.version
28
28
 
29
29
  __all__ = ["__version__"]
30
30
 
31
- __version__ = "3.4.2"
31
+ __version__ = "3.5.0"
32
32
 
33
33
  try:
34
34
  from airflow import __version__ as airflow_version
35
35
  except ImportError:
36
36
  from airflow.version import version as airflow_version
37
37
 
38
- if packaging.version.parse(airflow_version) < packaging.version.parse("2.4.0"):
38
+ if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
39
+ "2.5.0"
40
+ ):
39
41
  raise RuntimeError(
40
- f"The package `apache-airflow-providers-hashicorp:{__version__}` requires Apache Airflow 2.4.0+" # NOQA: E501
42
+ f"The package `apache-airflow-providers-hashicorp:{__version__}` requires Apache Airflow 2.5.0+" # NOQA: E501
41
43
  )
@@ -147,7 +147,7 @@ class _VaultClient(LoggingMixin):
147
147
  if not radius_secret:
148
148
  raise VaultError("The 'radius' authentication type requires 'radius_secret'")
149
149
 
150
- self.kv_engine_version = kv_engine_version if kv_engine_version else 2
150
+ self.kv_engine_version = kv_engine_version or 2
151
151
  self.url = url
152
152
  self.auth_type = auth_type
153
153
  self.kwargs = kwargs
@@ -29,6 +29,8 @@ def get_provider_info():
29
29
  "description": "Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__\n",
30
30
  "suspended": False,
31
31
  "versions": [
32
+ "3.5.0",
33
+ "3.4.3",
32
34
  "3.4.2",
33
35
  "3.4.1",
34
36
  "3.4.0",
@@ -49,7 +51,7 @@ def get_provider_info():
49
51
  "1.0.1",
50
52
  "1.0.0",
51
53
  ],
52
- "dependencies": ["apache-airflow>=2.4.0", "hvac>=0.10"],
54
+ "dependencies": ["apache-airflow>=2.5.0", "hvac>=0.10"],
53
55
  "integrations": [
54
56
  {
55
57
  "integration-name": "Hashicorp Vault",
@@ -19,11 +19,9 @@ from __future__ import annotations
19
19
 
20
20
  import json
21
21
  import warnings
22
- from typing import Any
22
+ from typing import TYPE_CHECKING, Any
23
23
 
24
- import hvac
25
24
  from hvac.exceptions import VaultError
26
- from requests import Response
27
25
 
28
26
  from airflow.exceptions import AirflowProviderDeprecationWarning
29
27
  from airflow.hooks.base import BaseHook
@@ -34,6 +32,10 @@ from airflow.providers.hashicorp._internal_client.vault_client import (
34
32
  )
35
33
  from airflow.utils.helpers import merge_dicts
36
34
 
35
+ if TYPE_CHECKING:
36
+ import hvac
37
+ from requests import Response
38
+
37
39
 
38
40
  class VaultHook(BaseHook):
39
41
  """
@@ -49,7 +51,7 @@ class VaultHook(BaseHook):
49
51
  The mount point should be placed as a path in the URL - similarly to Vault's URL schema:
50
52
  This indicates the "path" the secret engine is mounted on. Default id not specified is "secret".
51
53
  Note that this ``mount_point`` is not used for authentication if authentication is done via a
52
- different engines. Each engine uses it's own engine-specific authentication mount_point.
54
+ different engines. Each engine uses its own engine-specific authentication mount_point.
53
55
 
54
56
  The extras in the connection are named the same as the parameters ('kv_engine_version', 'auth_type', ...).
55
57
 
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-hashicorp
3
- Version: 3.4.2
3
+ Version: 3.5.0rc1
4
4
  Summary: Provider for Apache Airflow. Implements apache-airflow-providers-hashicorp package
5
5
  Home-page: https://airflow.apache.org/
6
6
  Download-URL: https://archive.apache.org/dist/airflow/providers
7
7
  Author: Apache Software Foundation
8
8
  Author-email: dev@airflow.apache.org
9
9
  License: Apache License 2.0
10
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/
11
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html
10
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/
11
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html
12
12
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
13
13
  Project-URL: Source Code, https://github.com/apache/airflow
14
14
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
@@ -71,7 +71,7 @@ License-File: NOTICE
71
71
 
72
72
  Package ``apache-airflow-providers-hashicorp``
73
73
 
74
- Release: ``3.4.2``
74
+ Release: ``3.5.0rc1``
75
75
 
76
76
 
77
77
  Hashicorp including `Hashicorp Vault <https://www.vaultproject.io/>`__
@@ -84,7 +84,7 @@ This is a provider package for ``hashicorp`` provider. All classes for this prov
84
84
  are in ``airflow.providers.hashicorp`` python package.
85
85
 
86
86
  You can find package information and changelog for the provider
87
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/>`_.
87
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/>`_.
88
88
 
89
89
 
90
90
  Installation
@@ -102,7 +102,7 @@ Requirements
102
102
  ================== ==================
103
103
  PIP package Version required
104
104
  ================== ==================
105
- ``apache-airflow`` ``>=2.4.0``
105
+ ``apache-airflow`` ``>=2.5.0``
106
106
  ``hvac`` ``>=0.10``
107
107
  ================== ==================
108
108
 
@@ -126,4 +126,4 @@ Dependent package
126
126
  ==================================================================================================== ==========
127
127
 
128
128
  The changelog for the provider package can be found in the
129
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html>`_.
129
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html>`_.
@@ -1,4 +1,4 @@
1
- apache-airflow>=2.4.0
1
+ apache-airflow>=2.5.0.dev0
2
2
  hvac>=0.10
3
3
 
4
4
  [google]
@@ -16,7 +16,7 @@
16
16
  # under the License.
17
17
  [tool.black]
18
18
  line-length = 110
19
- target-version = ['py37', 'py38', 'py39', 'py310']
19
+ target-version = ['py38', 'py39', 'py310', 'py311']
20
20
 
21
21
  # Editable installs are currently broken using setuptools 64.0.0 and above. The problem is tracked in
22
22
  # https://github.com/pypa/setuptools/issues/3548. We're also discussing how we could potentially fix
@@ -28,10 +28,8 @@ target-version = ['py37', 'py38', 'py39', 'py310']
28
28
  requires = ['setuptools==67.2.0']
29
29
  build-backend = "setuptools.build_meta"
30
30
 
31
- [project]
32
- requires-python = ">=3.8"
33
-
34
31
  [tool.ruff]
32
+ target-version = "py38"
35
33
  typing-modules = ["airflow.typing_compat"]
36
34
  line-length = 110
37
35
  extend-exclude = [
@@ -41,7 +39,8 @@ extend-exclude = [
41
39
  # The files generated by stubgen aren't 100% valid syntax it turns out, and we don't ship them, so we can
42
40
  # ignore them in ruff
43
41
  "airflow/providers/common/sql/*/*.pyi",
44
- "airflow/migrations/versions/*.py"
42
+ "airflow/migrations/versions/*.py",
43
+ "tests/dags/test_imports.py",
45
44
  ]
46
45
 
47
46
  extend-select = [
@@ -61,11 +60,13 @@ extend-select = [
61
60
  "D402",
62
61
  "D403",
63
62
  "D412",
64
- "D419"
63
+ "D419",
64
+ "TCH001", # typing-only-first-party-import
65
+ "TCH002", # typing-only-third-party-import
66
+ "TID251",
65
67
  ]
66
68
  extend-ignore = [
67
69
  "D203",
68
- "D205",
69
70
  "D212",
70
71
  "D213",
71
72
  "D214",
@@ -73,6 +74,8 @@ extend-ignore = [
73
74
  "E731",
74
75
  ]
75
76
 
77
+ namespace-packages = ["airflow/providers"]
78
+
76
79
  [tool.pytest.ini_options]
77
80
  # * Disable `flaky` plugin for pytest. This plugin conflicts with `rerunfailures` because provide same marker.
78
81
  # * Disable `nose` builtin plugin for pytest. This feature deprecated in 7.2 and will be removed in pytest>=8
@@ -99,53 +102,29 @@ filterwarnings = [
99
102
  "ignore::DeprecationWarning:apispec.utils",
100
103
  ]
101
104
  python_files = [
102
- "*.py",
105
+ "test_*.py",
106
+ "example_*.py",
103
107
  ]
104
108
  testpaths = [
105
109
  "tests",
106
110
  ]
107
111
 
108
112
  [tool.ruff.isort]
109
- known-first-party = ["airflow", "airflow_breeze", "docker_tests", "docs", "kubernetes_tests", "tests"]
110
113
  required-imports = ["from __future__ import annotations"]
111
114
  combine-as-imports = true
112
115
 
113
- # TODO: for now, https://github.com/charliermarsh/ruff/issues/1817
114
- known-third-party = [
115
- "asana",
116
- "atlassian",
117
- "celery",
118
- "cloudant",
119
- "databricks",
120
- "datadog",
121
- "docker",
122
- "elasticsearch",
123
- "github",
124
- "google",
125
- "grpc",
126
- "jenkins",
127
- "mysql",
128
- "neo4j",
129
- "papermill",
130
- "redis",
131
- "sendgrid",
132
- "snowflake",
133
- "telegram",
134
- "trino",
135
- ]
136
-
137
116
  [tool.ruff.per-file-ignores]
138
117
  "airflow/models/__init__.py" = ["F401"]
139
118
  "airflow/models/sqla_models.py" = ["F401"]
140
119
 
141
-
142
120
  # The test_python.py is needed because adding __future__.annotations breaks runtime checks that are
143
121
  # needed for the test to work
144
122
  "tests/decorators/test_python.py" = ["I002"]
145
123
 
146
124
  # The Pydantic representations of SqlAlchemy Models are not parsed well with Pydantic
147
125
  # when __future__.annotations is used so we need to skip them from upgrading
148
- "airflow/serialization/pydantic/*.py" = ["I002"]
126
+ # Pydantic also require models to be imported during execution
127
+ "airflow/serialization/pydantic/*.py" = ["I002", "UP007", "TCH001"]
149
128
 
150
129
  # Ignore pydoc style from these
151
130
  "*.pyi" = ["D"]
@@ -166,3 +145,35 @@ known-third-party = [
166
145
  "airflow/security/utils.py" = ["E402"]
167
146
  "tests/providers/elasticsearch/log/elasticmock/__init__.py" = ["E402"]
168
147
  "tests/providers/elasticsearch/log/elasticmock/utilities/__init__.py" = ["E402"]
148
+
149
+ [tool.ruff.flake8-tidy-imports.banned-api]
150
+ "airflow.AirflowException".msg = "Use airflow.exceptions.AirflowException instead."
151
+ "airflow.Dataset".msg = "Use airflow.datasets.Dataset instead."
152
+
153
+ [tool.coverage.run]
154
+ branch = true
155
+ relative_files = true
156
+ source = ["airflow"]
157
+ omit = [
158
+ "airflow/_vendor/**",
159
+ "airflow/contrib/**",
160
+ "airflow/example_dags/**",
161
+ "airflow/migrations/**",
162
+ "airflow/providers/**/example_dags/**",
163
+ "airflow/www/node_modules/**",
164
+ "airflow/providers/google/ads/_vendor/**",
165
+ ]
166
+
167
+ [tool.coverage.report]
168
+ skip_empty = true
169
+ exclude_also = [
170
+ "def __repr__",
171
+ "raise AssertionError",
172
+ "raise NotImplementedError",
173
+ "if __name__ == .__main__.:",
174
+ "@(abc\\.)?abstractmethod",
175
+ "@(typing(_extensions)?\\.)?overload",
176
+ "if TYPE_CHECKING:"
177
+ ]
178
+ [tool.ruff.flake8-type-checking]
179
+ exempt-modules = ["typing", "typing_extensions"]
@@ -27,8 +27,8 @@ classifiers =
27
27
  Programming Language :: Python :: 3.11
28
28
  Topic :: System :: Monitoring
29
29
  project_urls =
30
- Documentation=https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/
31
- Changelog=https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.4.2/changelog.html
30
+ Documentation=https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/
31
+ Changelog=https://airflow.apache.org/docs/apache-airflow-providers-hashicorp/3.5.0/changelog.html
32
32
  Bug Tracker=https://github.com/apache/airflow/issues
33
33
  Source Code=https://github.com/apache/airflow
34
34
  Slack Chat=https://s.apache.org/airflow-slack
@@ -47,7 +47,7 @@ setup_requires =
47
47
  setuptools
48
48
  wheel
49
49
  install_requires =
50
- apache-airflow>=2.4.0
50
+ apache-airflow>=2.5.0.dev0
51
51
  hvac>=0.10
52
52
 
53
53
  [options.entry_points]
@@ -58,6 +58,6 @@ apache_airflow_provider =
58
58
  packages = airflow.providers.hashicorp
59
59
 
60
60
  [egg_info]
61
- tag_build =
61
+ tag_build = rc1
62
62
  tag_date = 0
63
63
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  from setuptools import find_namespace_packages, setup
28
28
 
29
- version = "3.4.2"
29
+ version = "3.5.0"
30
30
 
31
31
 
32
32
  def do_setup():