apache-airflow-providers-openlineage 1.2.1rc1__py3-none-any.whl → 1.3.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.
@@ -199,3 +199,55 @@ distributed under the License is distributed on an "AS IS" BASIS,
199
199
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
200
  See the License for the specific language governing permissions and
201
201
  limitations under the License.
202
+
203
+ ============================================================================
204
+ APACHE AIRFLOW SUBCOMPONENTS:
205
+
206
+ The Apache Airflow project contains subcomponents with separate copyright
207
+ notices and license terms. Your use of the source code for the these
208
+ subcomponents is subject to the terms and conditions of the following
209
+ licenses.
210
+
211
+
212
+ ========================================================================
213
+ Third party Apache 2.0 licenses
214
+ ========================================================================
215
+
216
+ The following components are provided under the Apache 2.0 License.
217
+ See project link for details. The text of each license is also included
218
+ at licenses/LICENSE-[project].txt.
219
+
220
+ (ALv2 License) hue v4.3.0 (https://github.com/cloudera/hue/)
221
+ (ALv2 License) jqclock v2.3.0 (https://github.com/JohnRDOrazio/jQuery-Clock-Plugin)
222
+ (ALv2 License) bootstrap3-typeahead v4.0.2 (https://github.com/bassjobsen/Bootstrap-3-Typeahead)
223
+ (ALv2 License) connexion v2.7.0 (https://github.com/zalando/connexion)
224
+
225
+ ========================================================================
226
+ MIT licenses
227
+ ========================================================================
228
+
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.
231
+
232
+ (MIT License) jquery v3.5.1 (https://jquery.org/license/)
233
+ (MIT License) dagre-d3 v0.6.4 (https://github.com/cpettitt/dagre-d3)
234
+ (MIT License) bootstrap v3.4.1 (https://github.com/twbs/bootstrap/)
235
+ (MIT License) d3-tip v0.9.1 (https://github.com/Caged/d3-tip)
236
+ (MIT License) dataTables v1.10.25 (https://datatables.net)
237
+ (MIT License) normalize.css v3.0.2 (http://necolas.github.io/normalize.css/)
238
+ (MIT License) ElasticMock v1.3.2 (https://github.com/vrcmarcos/elasticmock)
239
+ (MIT License) MomentJS v2.24.0 (http://momentjs.com/)
240
+ (MIT License) eonasdan-bootstrap-datetimepicker v4.17.49 (https://github.com/eonasdan/bootstrap-datetimepicker/)
241
+
242
+ ========================================================================
243
+ BSD 3-Clause licenses
244
+ ========================================================================
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.
247
+
248
+ (BSD 3 License) d3 v5.16.0 (https://d3js.org)
249
+ (BSD 3 License) d3-shape v2.1.0 (https://github.com/d3/d3-shape)
250
+ (BSD 3 License) cgroupspy 0.2.1 (https://github.com/cloudsigma/cgroupspy)
251
+
252
+ ========================================================================
253
+ See licenses/LICENSES-ui.txt for packages used in `/airflow/www`
@@ -1,4 +1,3 @@
1
- #
2
1
  # Licensed to the Apache Software Foundation (ASF) under one
3
2
  # or more contributor license agreements. See the NOTICE file
4
3
  # distributed with this work for additional information
@@ -19,8 +18,8 @@
19
18
  # NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
20
19
  # OVERWRITTEN WHEN PREPARING DOCUMENTATION FOR THE PACKAGES.
21
20
  #
22
- # IF YOU WANT TO MODIFY IT, YOU SHOULD MODIFY THE TEMPLATE
23
- # `PROVIDER__INIT__PY_TEMPLATE.py.jinja2` IN the `dev/provider_packages` DIRECTORY
21
+ # IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22
+ # `PROVIDER__INIT__PY_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
24
23
  #
25
24
  from __future__ import annotations
26
25
 
@@ -28,7 +27,7 @@ import packaging.version
28
27
 
29
28
  __all__ = ["__version__"]
30
29
 
31
- __version__ = "1.2.1"
30
+ __version__ = "1.3.0"
32
31
 
33
32
  try:
34
33
  from airflow import __version__ as airflow_version
@@ -39,5 +38,5 @@ if packaging.version.parse(packaging.version.parse(airflow_version).base_version
39
38
  "2.7.0"
40
39
  ):
41
40
  raise RuntimeError(
42
- f"The package `apache-airflow-providers-openlineage:{__version__}` requires Apache Airflow 2.7.0+"
41
+ f"The package `apache-airflow-providers-openlineage:{__version__}` needs Apache Airflow 2.7.0+"
43
42
  )
@@ -18,8 +18,8 @@
18
18
  # NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
19
19
  # OVERWRITTEN WHEN PREPARING PACKAGES.
20
20
  #
21
- # IF YOU WANT TO MODIFY IT, YOU SHOULD MODIFY THE TEMPLATE
22
- # `get_provider_info_TEMPLATE.py.jinja2` IN the `provider_packages` DIRECTORY
21
+ # IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22
+ # `get_provider_info_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
23
23
 
24
24
 
25
25
  def get_provider_info():
@@ -28,7 +28,8 @@ def get_provider_info():
28
28
  "name": "OpenLineage Airflow",
29
29
  "description": "`OpenLineage <https://openlineage.io/>`__\n",
30
30
  "suspended": False,
31
- "versions": ["1.2.1", "1.2.0", "1.1.1", "1.1.0", "1.0.2", "1.0.1", "1.0.0"],
31
+ "source-date-epoch": 1701983402,
32
+ "versions": ["1.3.0", "1.2.1", "1.2.0", "1.1.1", "1.1.0", "1.0.2", "1.0.1", "1.0.0"],
32
33
  "dependencies": [
33
34
  "apache-airflow>=2.7.0",
34
35
  "apache-airflow-providers-common-sql>=1.6.0",
@@ -38,6 +38,7 @@ from openlineage.client.run import Job, Run, RunEvent, RunState
38
38
  from airflow.configuration import conf
39
39
  from airflow.providers.openlineage import __version__ as OPENLINEAGE_PROVIDER_VERSION
40
40
  from airflow.providers.openlineage.utils.utils import OpenLineageRedactor
41
+ from airflow.stats import Stats
41
42
  from airflow.utils.log.logging_mixin import LoggingMixin
42
43
 
43
44
  if TYPE_CHECKING:
@@ -96,7 +97,8 @@ class OpenLineageAdapter(LoggingMixin):
96
97
  with open(path) as config_file:
97
98
  return yaml.safe_load(config_file)
98
99
 
99
- def build_dag_run_id(self, dag_id, dag_run_id):
100
+ @staticmethod
101
+ def build_dag_run_id(dag_id, dag_run_id):
100
102
  return str(uuid.uuid3(uuid.NAMESPACE_URL, f"{_DAG_NAMESPACE}.{dag_id}.{dag_run_id}"))
101
103
 
102
104
  @staticmethod
@@ -113,8 +115,10 @@ class OpenLineageAdapter(LoggingMixin):
113
115
  self._client = self.get_or_create_openlineage_client()
114
116
  redacted_event: RunEvent = self._redacter.redact(event, max_depth=20) # type: ignore[assignment]
115
117
  try:
116
- return self._client.emit(redacted_event)
118
+ with Stats.timer("ol.emit.attempts"):
119
+ return self._client.emit(redacted_event)
117
120
  except Exception as e:
121
+ Stats.incr("ol.emit.failed")
118
122
  self.log.warning("Failed to emit OpenLineage event of id %s", event.run.runId)
119
123
  self.log.debug("OpenLineage emission failure: %s", e)
120
124
 
@@ -160,17 +164,19 @@ class OpenLineageAdapter(LoggingMixin):
160
164
 
161
165
  if not run_facets:
162
166
  run_facets = {}
167
+ if task:
168
+ run_facets = {**task.run_facets, **run_facets}
163
169
  run_facets["processing_engine"] = processing_engine_version_facet # type: ignore
164
170
  event = RunEvent(
165
171
  eventType=RunState.START,
166
172
  eventTime=event_time,
167
173
  run=self._build_run(
168
- run_id,
169
- job_name,
170
- parent_job_name,
171
- parent_run_id,
172
- nominal_start_time,
173
- nominal_end_time,
174
+ run_id=run_id,
175
+ job_name=job_name,
176
+ parent_job_name=parent_job_name,
177
+ parent_run_id=parent_run_id,
178
+ nominal_start_time=nominal_start_time,
179
+ nominal_end_time=nominal_end_time,
174
180
  run_facets=run_facets,
175
181
  ),
176
182
  job=self._build_job(
@@ -186,19 +192,36 @@ class OpenLineageAdapter(LoggingMixin):
186
192
  )
187
193
  self.emit(event)
188
194
 
189
- def complete_task(self, run_id: str, job_name: str, end_time: str, task: OperatorLineage):
195
+ def complete_task(
196
+ self,
197
+ run_id: str,
198
+ job_name: str,
199
+ parent_job_name: str | None,
200
+ parent_run_id: str | None,
201
+ end_time: str,
202
+ task: OperatorLineage,
203
+ ):
190
204
  """
191
205
  Emits openlineage event of type COMPLETE.
192
206
 
193
207
  :param run_id: globally unique identifier of task in dag run
194
208
  :param job_name: globally unique identifier of task between dags
209
+ :param parent_job_name: the name of the parent job (typically the DAG,
210
+ but possibly a task group)
211
+ :param parent_run_id: identifier of job spawning this task
195
212
  :param end_time: time of task completion
196
213
  :param task: metadata container with information extracted from operator
197
214
  """
198
215
  event = RunEvent(
199
216
  eventType=RunState.COMPLETE,
200
217
  eventTime=end_time,
201
- run=self._build_run(run_id, job_name=job_name, run_facets=task.run_facets),
218
+ run=self._build_run(
219
+ run_id=run_id,
220
+ job_name=job_name,
221
+ parent_job_name=parent_job_name,
222
+ parent_run_id=parent_run_id,
223
+ run_facets=task.run_facets,
224
+ ),
202
225
  job=self._build_job(job_name, job_facets=task.job_facets),
203
226
  inputs=task.inputs,
204
227
  outputs=task.outputs,
@@ -206,20 +229,37 @@ class OpenLineageAdapter(LoggingMixin):
206
229
  )
207
230
  self.emit(event)
208
231
 
209
- def fail_task(self, run_id: str, job_name: str, end_time: str, task: OperatorLineage):
232
+ def fail_task(
233
+ self,
234
+ run_id: str,
235
+ job_name: str,
236
+ parent_job_name: str | None,
237
+ parent_run_id: str | None,
238
+ end_time: str,
239
+ task: OperatorLineage,
240
+ ):
210
241
  """
211
242
  Emits openlineage event of type FAIL.
212
243
 
213
244
  :param run_id: globally unique identifier of task in dag run
214
245
  :param job_name: globally unique identifier of task between dags
246
+ :param parent_job_name: the name of the parent job (typically the DAG,
247
+ but possibly a task group)
248
+ :param parent_run_id: identifier of job spawning this task
215
249
  :param end_time: time of task completion
216
250
  :param task: metadata container with information extracted from operator
217
251
  """
218
252
  event = RunEvent(
219
253
  eventType=RunState.FAIL,
220
254
  eventTime=end_time,
221
- run=self._build_run(run_id, job_name=job_name, run_facets=task.run_facets),
222
- job=self._build_job(job_name),
255
+ run=self._build_run(
256
+ run_id=run_id,
257
+ job_name=job_name,
258
+ parent_job_name=parent_job_name,
259
+ parent_run_id=parent_run_id,
260
+ run_facets=task.run_facets,
261
+ ),
262
+ job=self._build_job(job_name, job_facets=task.job_facets),
223
263
  inputs=task.inputs,
224
264
  outputs=task.outputs,
225
265
  producer=_PRODUCER,
@@ -28,7 +28,7 @@ class AirflowMappedTaskRunFacet(BaseFacet):
28
28
  mapIndex: int
29
29
  operatorClass: str
30
30
 
31
- _additional_skip_redact: list[str] = ["operatorClass"]
31
+ _additional_skip_redact = ["operatorClass"]
32
32
 
33
33
  @classmethod
34
34
  def from_task_instance(cls, task_instance):
@@ -63,7 +63,7 @@ class UnknownOperatorInstance(RedactMixin):
63
63
  properties: dict[str, object]
64
64
  type: str = "operator"
65
65
 
66
- _skip_redact: list[str] = ["name", "type"]
66
+ _skip_redact = ["name", "type"]
67
67
 
68
68
 
69
69
  @define(slots=False)
@@ -101,7 +101,6 @@ class OpenLineageListener:
101
101
  owners=dag.owner.split(", "),
102
102
  task=task_metadata,
103
103
  run_facets={
104
- **task_metadata.run_facets,
105
104
  **get_custom_facets(task_instance),
106
105
  **get_airflow_run_facet(dagrun, dag, task_instance, task, task_uuid),
107
106
  },
@@ -115,6 +114,7 @@ class OpenLineageListener:
115
114
 
116
115
  dagrun = task_instance.dag_run
117
116
  task = task_instance.task
117
+ dag = task.dag
118
118
 
119
119
  task_uuid = OpenLineageAdapter.build_task_instance_run_id(
120
120
  task.task_id, task_instance.execution_date, task_instance.try_number - 1
@@ -122,6 +122,8 @@ class OpenLineageListener:
122
122
 
123
123
  @print_warning(self.log)
124
124
  def on_success():
125
+ parent_run_id = OpenLineageAdapter.build_dag_run_id(dag.dag_id, dagrun.run_id)
126
+
125
127
  task_metadata = self.extractor_manager.extract_metadata(
126
128
  dagrun, task, complete=True, task_instance=task_instance
127
129
  )
@@ -131,6 +133,8 @@ class OpenLineageListener:
131
133
  self.adapter.complete_task(
132
134
  run_id=task_uuid,
133
135
  job_name=get_job_name(task),
136
+ parent_job_name=dag.dag_id,
137
+ parent_run_id=parent_run_id,
134
138
  end_time=end_date.isoformat(),
135
139
  task=task_metadata,
136
140
  )
@@ -143,13 +147,16 @@ class OpenLineageListener:
143
147
 
144
148
  dagrun = task_instance.dag_run
145
149
  task = task_instance.task
150
+ dag = task.dag
146
151
 
147
152
  task_uuid = OpenLineageAdapter.build_task_instance_run_id(
148
- task.task_id, task_instance.execution_date, task_instance.try_number - 1
153
+ task.task_id, task_instance.execution_date, task_instance.try_number
149
154
  )
150
155
 
151
156
  @print_warning(self.log)
152
157
  def on_failure():
158
+ parent_run_id = OpenLineageAdapter.build_dag_run_id(dag.dag_id, dagrun.run_id)
159
+
153
160
  task_metadata = self.extractor_manager.extract_metadata(
154
161
  dagrun, task, complete=True, task_instance=task_instance
155
162
  )
@@ -159,6 +166,8 @@ class OpenLineageListener:
159
166
  self.adapter.fail_task(
160
167
  run_id=task_uuid,
161
168
  job_name=get_job_name(task),
169
+ parent_job_name=dag.dag_id,
170
+ parent_run_id=parent_run_id,
162
171
  end_time=end_date.isoformat(),
163
172
  task=task_metadata,
164
173
  )
@@ -1,19 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-openlineage
3
- Version: 1.2.1rc1
4
- Summary: Provider for Apache Airflow. Implements apache-airflow-providers-openlineage package
5
- Home-page: https://airflow.apache.org/
6
- Download-URL: https://archive.apache.org/dist/airflow/providers
7
- Author: Apache Software Foundation
8
- Author-email: dev@airflow.apache.org
9
- License: Apache License 2.0
10
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.2.1/
11
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.2.1/changelog.html
12
- Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
13
- Project-URL: Source Code, https://github.com/apache/airflow
14
- Project-URL: Slack Chat, https://s.apache.org/airflow-slack
15
- Project-URL: Twitter, https://twitter.com/ApacheAirflow
16
- Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
3
+ Version: 1.3.0
4
+ Summary: Provider package apache-airflow-providers-openlineage for Apache Airflow
5
+ Keywords: airflow-provider,openlineage,airflow,integration
6
+ Author-email: Apache Software Foundation <dev@airflow.apache.org>
7
+ Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
8
+ Requires-Python: ~=3.8
9
+ Description-Content-Type: text/x-rst
17
10
  Classifier: Development Status :: 5 - Production/Stable
18
11
  Classifier: Environment :: Console
19
12
  Classifier: Environment :: Web Environment
@@ -27,17 +20,20 @@ Classifier: Programming Language :: Python :: 3.9
27
20
  Classifier: Programming Language :: Python :: 3.10
28
21
  Classifier: Programming Language :: Python :: 3.11
29
22
  Classifier: Topic :: System :: Monitoring
30
- Requires-Python: ~=3.8
31
- Description-Content-Type: text/x-rst
32
- License-File: LICENSE
33
- License-File: NOTICE
34
- Requires-Dist: apache-airflow-providers-common-sql >=1.6.0.dev0
35
- Requires-Dist: apache-airflow >=2.7.0.dev0
36
- Requires-Dist: attrs >=22.2
37
- Requires-Dist: openlineage-integration-common >=0.28.0
38
- Requires-Dist: openlineage-python >=0.28.0
23
+ Requires-Dist: apache-airflow-providers-common-sql>=1.6.0
24
+ Requires-Dist: apache-airflow>=2.7.0
25
+ Requires-Dist: attrs>=22.2
26
+ Requires-Dist: openlineage-integration-common>=0.28.0
27
+ Requires-Dist: openlineage-python>=0.28.0
28
+ Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
29
+ Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
30
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.3.0/changelog.html
31
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.3.0
32
+ Project-URL: Slack Chat, https://s.apache.org/airflow-slack
33
+ Project-URL: Source Code, https://github.com/apache/airflow
34
+ Project-URL: Twitter, https://twitter.com/ApacheAirflow
35
+ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
39
36
  Provides-Extra: common.sql
40
- Requires-Dist: apache-airflow-providers-common-sql ; extra == 'common.sql'
41
37
 
42
38
 
43
39
  .. Licensed to the Apache Software Foundation (ASF) under one
@@ -56,7 +52,8 @@ Requires-Dist: apache-airflow-providers-common-sql ; extra == 'common.sql'
56
52
  KIND, either express or implied. See the License for the
57
53
  specific language governing permissions and limitations
58
54
  under the License.
59
- .. Licensed to the Apache Software Foundation (ASF) under one
55
+
56
+ .. Licensed to the Apache Software Foundation (ASF) under one
60
57
  or more contributor license agreements. See the NOTICE file
61
58
  distributed with this work for additional information
62
59
  regarding copyright ownership. The ASF licenses this file
@@ -73,10 +70,16 @@ Requires-Dist: apache-airflow-providers-common-sql ; extra == 'common.sql'
73
70
  specific language governing permissions and limitations
74
71
  under the License.
75
72
 
73
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
74
+ OVERWRITTEN WHEN PREPARING PACKAGES.
75
+
76
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
77
+ `PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
78
+
76
79
 
77
80
  Package ``apache-airflow-providers-openlineage``
78
81
 
79
- Release: ``1.2.1rc1``
82
+ Release: ``1.3.0``
80
83
 
81
84
 
82
85
  `OpenLineage <https://openlineage.io/>`__
@@ -89,7 +92,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
89
92
  are in ``airflow.providers.openlineage`` python package.
90
93
 
91
94
  You can find package information and changelog for the provider
92
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.2.1/>`_.
95
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.3.0/>`_.
93
96
 
94
97
  Installation
95
98
  ------------
@@ -133,4 +136,4 @@ Dependent package
133
136
  ============================================================================================================ ==============
134
137
 
135
138
  The changelog for the provider package can be found in the
136
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.2.1/changelog.html>`_.
139
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/1.3.0/changelog.html>`_.
@@ -0,0 +1,22 @@
1
+ airflow/providers/openlineage/LICENSE,sha256=ywUBpKZc7Jb96rVt5I3IDbg7dIJAbUSHkuoDcF3jbH4,13569
2
+ airflow/providers/openlineage/__init__.py,sha256=Ow3OfosHPwFXc6zYN2nzFSz_Aek5D2AD3DmmMccn_GY,1586
3
+ airflow/providers/openlineage/get_provider_info.py,sha256=CeUPXb9rqnFOvAou9ryl21HwrcTB9phplZzxVl6AkrI,5402
4
+ airflow/providers/openlineage/sqlparser.py,sha256=cB2NFH9rPUnkHqZ4NGh7AsAnoR7Y0YeEtQN9kgMTtRg,13384
5
+ airflow/providers/openlineage/extractors/__init__.py,sha256=I0X4f6zUniclyD9zT0DFHRImpCpJVP4MkPJT3cd7X5I,1081
6
+ airflow/providers/openlineage/extractors/base.py,sha256=KUYdZa8B238BISeaKLPNghaAt4AGGGkC-ufzsI4FB5w,5897
7
+ airflow/providers/openlineage/extractors/bash.py,sha256=fz1nVywzk1kUsZWeEbQ8zV6osTGhmd_pLgAKoJla54g,2843
8
+ airflow/providers/openlineage/extractors/manager.py,sha256=x8sx4j2Z6q3JWU4JLqu8MkCe9-hHZmTbfS3VqDh5748,7875
9
+ airflow/providers/openlineage/extractors/python.py,sha256=HdSJi6r6EWNinLUroUdcVi3b_4vmuoc_-E51Xc8ocmo,3423
10
+ airflow/providers/openlineage/plugins/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
11
+ airflow/providers/openlineage/plugins/adapter.py,sha256=Pq_h4fGZ9m7kWVTfvDFakIkmg3wseZvBscsimIGx-hQ,13787
12
+ airflow/providers/openlineage/plugins/facets.py,sha256=pt8UvUHk-rXJdJreNq5B2NSWe-CtlfnmImdY5vesgjY,2202
13
+ airflow/providers/openlineage/plugins/listener.py,sha256=t0UuV0R__lBGSCT4W9RdegSE6aHlvKQGGdRJK0PR6u4,8511
14
+ airflow/providers/openlineage/plugins/macros.py,sha256=AtBwQZPqTOWO38OucjgYS2ooiKkMTuRKLnBXdQHnAuw,2356
15
+ airflow/providers/openlineage/plugins/openlineage.py,sha256=XiEznOts-q9Uq08rkorclK49FAmtIIsnkW5hsdoxeB0,1987
16
+ airflow/providers/openlineage/utils/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
17
+ airflow/providers/openlineage/utils/sql.py,sha256=9Hvzs_aKBRAmuxAO22Myaz-PwwY1XvcLEwRq0sAD33Q,7634
18
+ airflow/providers/openlineage/utils/utils.py,sha256=-i8W7LtBMlRZdIqlXuqEr8isDIUl6REyB0wOLdyv_KI,14281
19
+ apache_airflow_providers_openlineage-1.3.0.dist-info/entry_points.txt,sha256=GAx0_i2OeZzqaiiiYuA-xchICDXiCT5kVqpKSxsOjt4,214
20
+ apache_airflow_providers_openlineage-1.3.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
21
+ apache_airflow_providers_openlineage-1.3.0.dist-info/METADATA,sha256=5lLC7WNokRh0jt-BU6Lm72Fnw-0181_QXAekzZIXJPs,6312
22
+ apache_airflow_providers_openlineage-1.3.0.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.3)
2
+ Generator: flit 3.9.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -0,0 +1,6 @@
1
+ [airflow.plugins]
2
+ openlineage=airflow.providers.openlineage.plugins.openlineage:OpenLineageProviderPlugin
3
+
4
+ [apache_airflow_provider]
5
+ provider_info=airflow.providers.openlineage.get_provider_info:get_provider_info
6
+
@@ -1,6 +0,0 @@
1
- Apache Airflow
2
- Copyright 2016-2021 The Apache Software Foundation
3
-
4
- This product includes software developed at The Apache Software
5
- Foundation (http://www.apache.org/).
6
- =======================================================================
@@ -1,24 +0,0 @@
1
- airflow/providers/openlineage/__init__.py,sha256=UydcYoRO-DTRA2snMhngV-yKrq3R5AMiXKpmzQIrUXM,1566
2
- airflow/providers/openlineage/get_provider_info.py,sha256=EsuCjKsLOGpiml_J53NGos3116KnaUahALhMG34-Au4,5323
3
- airflow/providers/openlineage/sqlparser.py,sha256=cB2NFH9rPUnkHqZ4NGh7AsAnoR7Y0YeEtQN9kgMTtRg,13384
4
- airflow/providers/openlineage/extractors/__init__.py,sha256=I0X4f6zUniclyD9zT0DFHRImpCpJVP4MkPJT3cd7X5I,1081
5
- airflow/providers/openlineage/extractors/base.py,sha256=KUYdZa8B238BISeaKLPNghaAt4AGGGkC-ufzsI4FB5w,5897
6
- airflow/providers/openlineage/extractors/bash.py,sha256=fz1nVywzk1kUsZWeEbQ8zV6osTGhmd_pLgAKoJla54g,2843
7
- airflow/providers/openlineage/extractors/manager.py,sha256=x8sx4j2Z6q3JWU4JLqu8MkCe9-hHZmTbfS3VqDh5748,7875
8
- airflow/providers/openlineage/extractors/python.py,sha256=HdSJi6r6EWNinLUroUdcVi3b_4vmuoc_-E51Xc8ocmo,3423
9
- airflow/providers/openlineage/plugins/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
10
- airflow/providers/openlineage/plugins/adapter.py,sha256=1qb-chI9Lrvl_vZ_Z8sRoBBzm4dQfKcDdmUCK_f4Ik4,12518
11
- airflow/providers/openlineage/plugins/facets.py,sha256=cCgs6x0-bLmHst0BusLGY2F0Owko9fkti9tbNdKuq-M,2224
12
- airflow/providers/openlineage/plugins/listener.py,sha256=wNDtxk4AyXsIkE8kw7UMkVz4a0TszIUgkN3MYtbJ1n4,8155
13
- airflow/providers/openlineage/plugins/macros.py,sha256=AtBwQZPqTOWO38OucjgYS2ooiKkMTuRKLnBXdQHnAuw,2356
14
- airflow/providers/openlineage/plugins/openlineage.py,sha256=XiEznOts-q9Uq08rkorclK49FAmtIIsnkW5hsdoxeB0,1987
15
- airflow/providers/openlineage/utils/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
16
- airflow/providers/openlineage/utils/sql.py,sha256=9Hvzs_aKBRAmuxAO22Myaz-PwwY1XvcLEwRq0sAD33Q,7634
17
- airflow/providers/openlineage/utils/utils.py,sha256=-i8W7LtBMlRZdIqlXuqEr8isDIUl6REyB0wOLdyv_KI,14281
18
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
19
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/METADATA,sha256=L4VuqsbqPrh9dBOPOiXhY3riMzqKvWKQwA-nzmqwl98,6111
20
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/NOTICE,sha256=m-6s2XynUxVSUIxO4rVablAZCvFq-wmLrqV91DotRBw,240
21
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
22
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/entry_points.txt,sha256=o3u5CDyGe9EFZZUzNErLIHC3iLPojedbWlqOBMiCNCI,217
23
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/top_level.txt,sha256=OeMVH5md7fr2QQWpnZoOWWxWO-0WH1IP70lpTVwopPg,8
24
- apache_airflow_providers_openlineage-1.2.1rc1.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- [airflow.plugins]
2
- openlineage = airflow.providers.openlineage.plugins.openlineage:OpenLineageProviderPlugin
3
-
4
- [apache_airflow_provider]
5
- provider_info = airflow.providers.openlineage.get_provider_info:get_provider_info