apache-airflow-providers-openlineage 1.8.0rc1__tar.gz → 1.9.0__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 (27) hide show
  1. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/PKG-INFO +12 -12
  2. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/README.rst +5 -5
  3. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/LICENSE +4 -4
  4. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/__init__.py +1 -1
  5. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/conf.py +16 -1
  6. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/extractors/base.py +6 -3
  7. apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/facets/AirflowJobFacet.json +40 -0
  8. apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/facets/AirflowRunFacet.json +261 -0
  9. apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/facets/AirflowStateRunFacet.json +34 -0
  10. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/get_provider_info.py +11 -3
  11. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/plugins/adapter.py +69 -15
  12. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/plugins/facets.py +46 -4
  13. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/plugins/listener.py +128 -33
  14. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/sqlparser.py +16 -6
  15. apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/utils/__init__.py +16 -0
  16. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/utils/selective_enable.py +6 -3
  17. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/utils/sql.py +11 -3
  18. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/utils/utils.py +191 -22
  19. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/pyproject.toml +7 -7
  20. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/extractors/__init__.py +0 -0
  21. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/extractors/bash.py +0 -0
  22. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/extractors/manager.py +0 -0
  23. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/extractors/python.py +0 -0
  24. {apache_airflow_providers_openlineage-1.8.0rc1/airflow/providers/openlineage/plugins → apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/facets}/__init__.py +0 -0
  25. {apache_airflow_providers_openlineage-1.8.0rc1/airflow/providers/openlineage/utils → apache_airflow_providers_openlineage-1.9.0/airflow/providers/openlineage/plugins}/__init__.py +0 -0
  26. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/plugins/macros.py +1 -1
  27. {apache_airflow_providers_openlineage-1.8.0rc1 → apache_airflow_providers_openlineage-1.9.0}/airflow/providers/openlineage/plugins/openlineage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-openlineage
3
- Version: 1.8.0rc1
3
+ Version: 1.9.0
4
4
  Summary: Provider package apache-airflow-providers-openlineage for Apache Airflow
5
5
  Keywords: airflow-provider,openlineage,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -21,15 +21,15 @@ Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Programming Language :: Python :: 3.12
23
23
  Classifier: Topic :: System :: Monitoring
24
- Requires-Dist: apache-airflow-providers-common-sql>=1.6.0rc0
25
- Requires-Dist: apache-airflow>=2.7.0rc0
24
+ Requires-Dist: apache-airflow-providers-common-sql>=1.6.0
25
+ Requires-Dist: apache-airflow>=2.7.0
26
26
  Requires-Dist: attrs>=22.2
27
- Requires-Dist: openlineage-integration-common>=0.28.0
28
- Requires-Dist: openlineage-python>=0.28.0
27
+ Requires-Dist: openlineage-integration-common>=1.16.0
28
+ Requires-Dist: openlineage-python>=1.16.0
29
29
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
30
30
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
31
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0/changelog.html
32
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0
31
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0/changelog.html
32
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0
33
33
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
34
34
  Project-URL: Source Code, https://github.com/apache/airflow
35
35
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -80,7 +80,7 @@ Provides-Extra: common.sql
80
80
 
81
81
  Package ``apache-airflow-providers-openlineage``
82
82
 
83
- Release: ``1.8.0.rc1``
83
+ Release: ``1.9.0``
84
84
 
85
85
 
86
86
  `OpenLineage <https://openlineage.io/>`__
@@ -93,7 +93,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
93
93
  are in ``airflow.providers.openlineage`` python package.
94
94
 
95
95
  You can find package information and changelog for the provider
96
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0/>`_.
96
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0/>`_.
97
97
 
98
98
  Installation
99
99
  ------------
@@ -113,8 +113,8 @@ PIP package Version required
113
113
  ``apache-airflow`` ``>=2.7.0``
114
114
  ``apache-airflow-providers-common-sql`` ``>=1.6.0``
115
115
  ``attrs`` ``>=22.2``
116
- ``openlineage-integration-common`` ``>=0.28.0``
117
- ``openlineage-python`` ``>=0.28.0``
116
+ ``openlineage-integration-common`` ``>=1.16.0``
117
+ ``openlineage-python`` ``>=1.16.0``
118
118
  ======================================= ==================
119
119
 
120
120
  Cross provider package dependencies
@@ -137,4 +137,4 @@ Dependent package
137
137
  ============================================================================================================ ==============
138
138
 
139
139
  The changelog for the provider package can be found in the
140
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0/changelog.html>`_.
140
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-openlineage``
44
44
 
45
- Release: ``1.8.0.rc1``
45
+ Release: ``1.9.0``
46
46
 
47
47
 
48
48
  `OpenLineage <https://openlineage.io/>`__
@@ -55,7 +55,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
55
55
  are in ``airflow.providers.openlineage`` python package.
56
56
 
57
57
  You can find package information and changelog for the provider
58
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0/>`_.
58
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0/>`_.
59
59
 
60
60
  Installation
61
61
  ------------
@@ -75,8 +75,8 @@ PIP package Version required
75
75
  ``apache-airflow`` ``>=2.7.0``
76
76
  ``apache-airflow-providers-common-sql`` ``>=1.6.0``
77
77
  ``attrs`` ``>=22.2``
78
- ``openlineage-integration-common`` ``>=0.28.0``
79
- ``openlineage-python`` ``>=0.28.0``
78
+ ``openlineage-integration-common`` ``>=1.16.0``
79
+ ``openlineage-python`` ``>=1.16.0``
80
80
  ======================================= ==================
81
81
 
82
82
  Cross provider package dependencies
@@ -99,4 +99,4 @@ Dependent package
99
99
  ============================================================================================================ ==============
100
100
 
101
101
  The changelog for the provider package can be found in the
102
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.8.0/changelog.html>`_.
102
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.9.0/changelog.html>`_.
@@ -215,7 +215,7 @@ Third party Apache 2.0 licenses
215
215
 
216
216
  The following components are provided under the Apache 2.0 License.
217
217
  See project link for details. The text of each license is also included
218
- at licenses/LICENSE-[project].txt.
218
+ at 3rd-party-licenses/LICENSE-[project].txt.
219
219
 
220
220
  (ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
221
221
  (ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
@@ -227,7 +227,7 @@ MIT licenses
227
227
  ========================================================================
228
228
 
229
229
  The following components are provided under the MIT License. See project link for details.
230
- The text of each license is also included at licenses/LICENSE-[project].txt.
230
+ The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
231
231
 
232
232
  (MIT License) jquery v3.5.1 (https://jquery.org/license/)
233
233
  (MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
@@ -243,11 +243,11 @@ The text of each license is also included at licenses/LICENSE-[project].txt.
243
243
  BSD 3-Clause licenses
244
244
  ========================================================================
245
245
  The following components are provided under the BSD 3-Clause license. See project links for details.
246
- The text of each license is also included at licenses/LICENSE-[project].txt.
246
+ The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt.
247
247
 
248
248
  (BSD 3 License) d3 v5.16.0 (https://d3js.org)
249
249
  (BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
250
250
  (BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)
251
251
 
252
252
  ========================================================================
253
- See licenses/LICENSES-ui.txt for packages used in `/airflow/www`
253
+ See 3rd-party-licenses/LICENSES-ui.txt for packages used in `/airflow/www`
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "1.8.0"
32
+ __version__ = "1.9.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.7.0"
@@ -33,7 +33,15 @@ from __future__ import annotations
33
33
  import os
34
34
  from typing import Any
35
35
 
36
- from airflow.compat.functools import cache
36
+ # Disable caching if we're inside tests - this makes config easier to mock.
37
+ if os.getenv("PYTEST_VERSION"):
38
+
39
+ def decorator(func):
40
+ return func
41
+
42
+ cache = decorator
43
+ else:
44
+ from airflow.compat.functools import cache
37
45
  from airflow.configuration import conf
38
46
 
39
47
  _CONFIG_SECTION = "openlineage"
@@ -130,3 +138,10 @@ def dag_state_change_process_pool_size() -> int:
130
138
  """[openlineage] dag_state_change_process_pool_size."""
131
139
  option = conf.get(_CONFIG_SECTION, "dag_state_change_process_pool_size", fallback="")
132
140
  return _safe_int_convert(str(option).strip(), default=1)
141
+
142
+
143
+ @cache
144
+ def execution_timeout() -> int:
145
+ """[openlineage] execution_timeout."""
146
+ option = conf.get(_CONFIG_SECTION, "execution_timeout", fallback="")
147
+ return _safe_int_convert(str(option).strip(), default=10)
@@ -41,7 +41,8 @@ class OperatorLineage:
41
41
 
42
42
 
43
43
  class BaseExtractor(ABC, LoggingMixin):
44
- """Abstract base extractor class.
44
+ """
45
+ Abstract base extractor class.
45
46
 
46
47
  This is used mostly to maintain support for custom extractors.
47
48
  """
@@ -55,7 +56,8 @@ class BaseExtractor(ABC, LoggingMixin):
55
56
  @classmethod
56
57
  @abstractmethod
57
58
  def get_operator_classnames(cls) -> list[str]:
58
- """Get a list of operators that extractor works for.
59
+ """
60
+ Get a list of operators that extractor works for.
59
61
 
60
62
  This is an abstract method that subclasses should implement. There are
61
63
  operators that work very similarly and one extractor can cover.
@@ -77,7 +79,8 @@ class DefaultExtractor(BaseExtractor):
77
79
 
78
80
  @classmethod
79
81
  def get_operator_classnames(cls) -> list[str]:
80
- """Assign this extractor to *no* operators.
82
+ """
83
+ Assign this extractor to *no* operators.
81
84
 
82
85
  Default extractor is chosen not on the classname basis, but
83
86
  by existence of get_openlineage_facets method on operator.
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$defs": {
4
+ "AirflowJobFacet": {
5
+ "allOf": [
6
+ {
7
+ "$ref": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "taskTree": {
13
+ "description": "The hierarchical structure of tasks in the DAG.",
14
+ "type": "object",
15
+ "additionalProperties": true
16
+ },
17
+ "taskGroups": {
18
+ "description": "Information about all task groups within the DAG.",
19
+ "type": "object",
20
+ "additionalProperties": true
21
+ },
22
+ "tasks": {
23
+ "description": "Details of all individual tasks within the DAG.",
24
+ "type": "object",
25
+ "additionalProperties": true
26
+ }
27
+ },
28
+ "required": ["taskTree", "taskGroups", "tasks"]
29
+ }
30
+ ],
31
+ "type": "object"
32
+ }
33
+ },
34
+ "type": "object",
35
+ "properties": {
36
+ "airflow": {
37
+ "$ref": "#/$defs/AirflowJobFacet"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,261 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$defs": {
4
+ "AirflowRunFacet": {
5
+ "allOf": [
6
+ {
7
+ "$ref": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "dag": {
13
+ "$ref": "#/$defs/DAG"
14
+ },
15
+ "dagRun": {
16
+ "$ref": "#/$defs/DagRun"
17
+ },
18
+ "taskInstance": {
19
+ "$ref": "#/$defs/TaskInstance"
20
+ },
21
+ "task": {
22
+ "$ref": "#/$defs/Task"
23
+ },
24
+ "taskUuid": {
25
+ "type": "string"
26
+ }
27
+ },
28
+ "required": [
29
+ "dag",
30
+ "dagRun",
31
+ "taskInstance",
32
+ "task",
33
+ "taskUuid"
34
+ ]
35
+ }
36
+ ]
37
+ },
38
+ "Task": {
39
+ "type": "object",
40
+ "properties": {
41
+ "depends_on_past": {
42
+ "type": "boolean"
43
+ },
44
+ "downstream_task_ids": {
45
+ "type": "string"
46
+ },
47
+ "execution_timeout": {
48
+ "type": "string"
49
+ },
50
+ "executor_config": {
51
+ "type": "object",
52
+ "additionalProperties": true
53
+ },
54
+ "ignore_first_depends_on_past": {
55
+ "type": "boolean"
56
+ },
57
+ "is_setup": {
58
+ "type": "boolean"
59
+ },
60
+ "is_teardown": {
61
+ "type": "boolean"
62
+ },
63
+ "mapped": {
64
+ "type": "boolean"
65
+ },
66
+ "max_active_tis_per_dag": {
67
+ "type": "integer"
68
+ },
69
+ "max_active_tis_per_dagrun": {
70
+ "type": "integer"
71
+ },
72
+ "max_retry_delay": {
73
+ "type": "string"
74
+ },
75
+ "multiple_outputs": {
76
+ "type": "boolean"
77
+ },
78
+ "operator_class": {
79
+ "description": "Module + class name of the operator",
80
+ "type": "string"
81
+ },
82
+ "owner": {
83
+ "type": "string"
84
+ },
85
+ "priority_weight": {
86
+ "type": "integer"
87
+ },
88
+ "queue": {
89
+ "type": "string"
90
+ },
91
+ "retries": {
92
+ "type": "integer"
93
+ },
94
+ "retry_exponential_backoff": {
95
+ "type": "boolean"
96
+ },
97
+ "run_as_user": {
98
+ "type": "string"
99
+ },
100
+ "sla": {
101
+ "type": "number"
102
+ },
103
+ "task_id": {
104
+ "type": "string"
105
+ },
106
+ "trigger_rule": {
107
+ "type": "string"
108
+ },
109
+ "upstream_task_ids": {
110
+ "type": "string"
111
+ },
112
+ "wait_for_downstream": {
113
+ "type": "boolean"
114
+ },
115
+ "wait_for_past_depends_before_skipping": {
116
+ "type": "boolean"
117
+ },
118
+ "weight_rule": {
119
+ "type": "string"
120
+ },
121
+ "task_group": {
122
+ "description": "Task group related information",
123
+ "type": "object",
124
+ "properties": {
125
+ "group_id": {
126
+ "type": "string"
127
+ },
128
+ "downstream_group_ids": {
129
+ "type": "string"
130
+ },
131
+ "downstream_task_ids": {
132
+ "type": "string"
133
+ },
134
+ "prefix_group_id": {
135
+ "type": "boolean"
136
+ },
137
+ "tooltip": {
138
+ "type": "string"
139
+ },
140
+ "upstream_group_ids": {
141
+ "type": "string"
142
+ },
143
+ "upstream_task_ids": {
144
+ "type": "string"
145
+ }
146
+ },
147
+ "additionalProperties": true,
148
+ "required": ["group_id"]
149
+ }
150
+ },
151
+ "additionalProperties": true,
152
+ "required": [
153
+ "task_id"
154
+ ]
155
+ },
156
+ "DAG": {
157
+ "type": "object",
158
+ "properties": {
159
+ "dag_id": {
160
+ "type": "string"
161
+ },
162
+ "description": {
163
+ "type": "string"
164
+ },
165
+ "owner": {
166
+ "type": "string"
167
+ },
168
+ "schedule_interval": {
169
+ "type": "string"
170
+ },
171
+ "start_date": {
172
+ "type": "string",
173
+ "format": "date-time"
174
+ },
175
+ "tags": {
176
+ "type": "string"
177
+ },
178
+ "timetable": {
179
+ "description": "Describes timetable (successor of schedule_interval)",
180
+ "type": "object",
181
+ "additionalProperties": true
182
+ }
183
+ },
184
+ "additionalProperties": true,
185
+ "required": [
186
+ "dag_id",
187
+ "start_date"
188
+ ]
189
+ },
190
+ "TaskInstance": {
191
+ "type": "object",
192
+ "properties": {
193
+ "duration": {
194
+ "type": "number"
195
+ },
196
+ "map_index": {
197
+ "type": "integer"
198
+ },
199
+ "pool": {
200
+ "type": "string"
201
+ },
202
+ "try_number": {
203
+ "type": "integer"
204
+ },
205
+ "queued_dttm": {
206
+ "type": "string",
207
+ "format": "date-time"
208
+ }
209
+ },
210
+ "additionalProperties": true,
211
+ "required": [
212
+ "pool",
213
+ "try_number"
214
+ ]
215
+ },
216
+ "DagRun": {
217
+ "type": "object",
218
+ "properties": {
219
+ "conf": {
220
+ "type": "object",
221
+ "additionalProperties": true
222
+ },
223
+ "dag_id": {
224
+ "type": "string"
225
+ },
226
+ "data_interval_start": {
227
+ "type": "string",
228
+ "format": "date-time"
229
+ },
230
+ "data_interval_end": {
231
+ "type": "string",
232
+ "format": "date-time"
233
+ },
234
+ "external_trigger": {
235
+ "type": "boolean"
236
+ },
237
+ "run_id": {
238
+ "type": "string"
239
+ },
240
+ "run_type": {
241
+ "type": "string"
242
+ },
243
+ "start_date": {
244
+ "type": "string",
245
+ "format": "date-time"
246
+ }
247
+ },
248
+ "additionalProperties": true,
249
+ "required": [
250
+ "dag_id",
251
+ "run_id"
252
+ ]
253
+ }
254
+ },
255
+ "type": "object",
256
+ "properties": {
257
+ "airflow": {
258
+ "$ref": "#/$defs/AirflowRunFacet"
259
+ }
260
+ }
261
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$defs": {
4
+ "AirflowStateRunFacet": {
5
+ "allOf": [
6
+ {
7
+ "$ref": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet"
8
+ },
9
+ {
10
+ "type": "object",
11
+ "properties": {
12
+ "dagRunState": {
13
+ "description": "The final status of the entire DagRun",
14
+ "type": "string"
15
+ },
16
+ "tasksState": {
17
+ "description": "Mapping of task IDs to their respective states",
18
+ "type": "object",
19
+ "additionalProperties": true
20
+ }
21
+ },
22
+ "required": ["dagRunState", "tasksState"]
23
+ }
24
+ ],
25
+ "type": "object"
26
+ }
27
+ },
28
+ "type": "object",
29
+ "properties": {
30
+ "airflowState": {
31
+ "$ref": "#/$defs/AirflowStateRunFacet"
32
+ }
33
+ }
34
+ }
@@ -28,8 +28,9 @@ def get_provider_info():
28
28
  "name": "OpenLineage Airflow",
29
29
  "description": "`OpenLineage <https://openlineage.io/>`__\n",
30
30
  "state": "ready",
31
- "source-date-epoch": 1715684338,
31
+ "source-date-epoch": 1718605195,
32
32
  "versions": [
33
+ "1.9.0",
33
34
  "1.8.0",
34
35
  "1.7.1",
35
36
  "1.7.0",
@@ -50,8 +51,8 @@ def get_provider_info():
50
51
  "apache-airflow>=2.7.0",
51
52
  "apache-airflow-providers-common-sql>=1.6.0",
52
53
  "attrs>=22.2",
53
- "openlineage-integration-common>=0.28.0",
54
- "openlineage-python>=0.28.0",
54
+ "openlineage-integration-common>=1.16.0",
55
+ "openlineage-python>=1.16.0",
55
56
  ],
56
57
  "integrations": [
57
58
  {
@@ -134,6 +135,13 @@ def get_provider_info():
134
135
  "type": "integer",
135
136
  "version_added": "1.8.0",
136
137
  },
138
+ "execution_timeout": {
139
+ "description": "Maximum amount of time (in seconds) that OpenLineage can spend executing metadata extraction.\n",
140
+ "default": "10",
141
+ "example": None,
142
+ "type": "integer",
143
+ "version_added": "1.9.0",
144
+ },
137
145
  },
138
146
  }
139
147
  },