apache-airflow-providers-openlineage 2.7.1__py3-none-any.whl → 2.7.2rc1__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.

Potentially problematic release.


This version of apache-airflow-providers-openlineage might be problematic. Click here for more details.

@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "2.7.1"
32
+ __version__ = "2.7.2"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -464,14 +464,25 @@ class DagInfo(InfoJsonEncodable):
464
464
  "fileloc",
465
465
  "owner",
466
466
  "owner_links",
467
- "schedule_interval", # For Airflow 2.
468
- "timetable_summary", # For Airflow 3.
467
+ "schedule_interval", # For Airflow 2 only -> AF3 has timetable_summary
469
468
  "start_date",
470
469
  "tags",
471
470
  ]
472
- casts = {"timetable": lambda dag: DagInfo.serialize_timetable(dag)}
471
+ casts = {
472
+ "timetable": lambda dag: DagInfo.serialize_timetable(dag),
473
+ "timetable_summary": lambda dag: DagInfo.timetable_summary(dag),
474
+ }
473
475
  renames = {"_dag_id": "dag_id"}
474
476
 
477
+ @classmethod
478
+ def timetable_summary(cls, dag: DAG) -> str | None:
479
+ """Extract summary from timetable if missing a ``timetable_summary`` property."""
480
+ if getattr(dag, "timetable_summary", None):
481
+ return dag.timetable_summary
482
+ if getattr(dag, "timetable", None):
483
+ return dag.timetable.summary
484
+ return None
485
+
475
486
  @classmethod
476
487
  def serialize_timetable(cls, dag: DAG) -> dict[str, Any]:
477
488
  # This is enough for Airflow 2.10+ and has all the information needed
@@ -797,6 +808,14 @@ def _emits_ol_events(task: AnyOperator) -> bool:
797
808
  not getattr(task, "on_success_callback", None),
798
809
  not task.outlets,
799
810
  not (task.inlets and get_base_airflow_version_tuple() >= (3, 0, 2)), # Added in 3.0.2 #50773
811
+ not (
812
+ getattr(task, "has_on_execute_callback", None) # Added in 3.1.0 #54569
813
+ and get_base_airflow_version_tuple() >= (3, 1, 0)
814
+ ),
815
+ not (
816
+ getattr(task, "has_on_success_callback", None) # Added in 3.1.0 #54569
817
+ and get_base_airflow_version_tuple() >= (3, 1, 0)
818
+ ),
800
819
  )
801
820
  )
802
821
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-openlineage
3
- Version: 2.7.1
3
+ Version: 2.7.2rc1
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>
@@ -20,15 +20,15 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
- Requires-Dist: apache-airflow>=2.10.0
24
- Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
25
- Requires-Dist: apache-airflow-providers-common-compat>=1.4.0
23
+ Requires-Dist: apache-airflow>=2.10.0rc1
24
+ Requires-Dist: apache-airflow-providers-common-sql>=1.20.0rc1
25
+ Requires-Dist: apache-airflow-providers-common-compat>=1.4.0rc1
26
26
  Requires-Dist: attrs>=22.2
27
27
  Requires-Dist: openlineage-integration-common>=1.36.0
28
28
  Requires-Dist: openlineage-python>=1.36.0
29
29
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
30
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.1/changelog.html
31
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.1
30
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-openlineage/2.7.2/changelog.html
31
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-openlineage/2.7.2
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
@@ -59,7 +59,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
59
59
 
60
60
  Package ``apache-airflow-providers-openlineage``
61
61
 
62
- Release: ``2.7.1``
62
+ Release: ``2.7.2``
63
63
 
64
64
 
65
65
  `OpenLineage <https://openlineage.io/>`__
@@ -72,7 +72,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
72
72
  are in ``airflow.providers.openlineage`` python package.
73
73
 
74
74
  You can find package information and changelog for the provider
75
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.1/>`_.
75
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.2/>`_.
76
76
 
77
77
  Installation
78
78
  ------------
@@ -118,5 +118,5 @@ Dependent package
118
118
  ================================================================================================================== =================
119
119
 
120
120
  The changelog for the provider package can be found in the
121
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.1/changelog.html>`_.
121
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.7.2/changelog.html>`_.
122
122
 
@@ -1,5 +1,5 @@
1
1
  airflow/providers/openlineage/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
2
- airflow/providers/openlineage/__init__.py,sha256=nYsV_xtFWF8HJOMfs8oL5yZCnRUSCSNP2uPr4_oa1fE,1500
2
+ airflow/providers/openlineage/__init__.py,sha256=HJa2Y1jJqKcfTwfH_OU7tXIq5436vV_BMiQFRJva0oA,1500
3
3
  airflow/providers/openlineage/conf.py,sha256=9v2DpQ84BBCdRxPlh8QsboTqX8HXe-qeHVcTMRL5c3o,5807
4
4
  airflow/providers/openlineage/get_provider_info.py,sha256=2Oy13q-jA-UYt-a9pYBk4PnImYshGnJCPD1Jj80ChNw,9453
5
5
  airflow/providers/openlineage/sqlparser.py,sha256=8Aq0qbUUBthKjXBV756p2aBf8RYfCuBBfgxwhGpQIg4,20360
@@ -27,8 +27,8 @@ airflow/providers/openlineage/utils/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL
27
27
  airflow/providers/openlineage/utils/selective_enable.py,sha256=XpozjxcWBASAQXSR2N0GkA-QZVq6EmerOzyR4-eQ64M,3521
28
28
  airflow/providers/openlineage/utils/spark.py,sha256=X5liLxVLgQcgPF_0lFtQULeMOv_9dGj-HFjtZvWFgOo,7626
29
29
  airflow/providers/openlineage/utils/sql.py,sha256=b_k2fUyGGWzR1eau7tgq7vKQJsR7wPQzDF8M-WRq6jk,9548
30
- airflow/providers/openlineage/utils/utils.py,sha256=4sSXFo8reWjULIUdymCcpjwyCacaU_PhoBGyg8oa6pM,36466
31
- apache_airflow_providers_openlineage-2.7.1.dist-info/entry_points.txt,sha256=GAx0_i2OeZzqaiiiYuA-xchICDXiCT5kVqpKSxsOjt4,214
32
- apache_airflow_providers_openlineage-2.7.1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
33
- apache_airflow_providers_openlineage-2.7.1.dist-info/METADATA,sha256=jDZJjRvk6jrtako4OVtJHg8iecARz34XevVNHxyrkoE,5688
34
- apache_airflow_providers_openlineage-2.7.1.dist-info/RECORD,,
30
+ airflow/providers/openlineage/utils/utils.py,sha256=PPG4YzX3pm4uviwG_ZBpiXtR-KkbaDmMHsDOLesUulI,37276
31
+ apache_airflow_providers_openlineage-2.7.2rc1.dist-info/entry_points.txt,sha256=GAx0_i2OeZzqaiiiYuA-xchICDXiCT5kVqpKSxsOjt4,214
32
+ apache_airflow_providers_openlineage-2.7.2rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
33
+ apache_airflow_providers_openlineage-2.7.2rc1.dist-info/METADATA,sha256=aA6EXpBzTqaAph478To8TWpYXV_YQ6UC9rcvUMlEAa4,5714
34
+ apache_airflow_providers_openlineage-2.7.2rc1.dist-info/RECORD,,