apache-airflow-providers-openlineage 2.5.0__tar.gz → 2.6.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.
Potentially problematic release.
This version of apache-airflow-providers-openlineage might be problematic. Click here for more details.
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/PKG-INFO +14 -12
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/README.rst +7 -6
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/changelog.rst +38 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/index.rst +7 -5
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/provider.yaml +7 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/pyproject.toml +7 -6
- {apache_airflow_providers_openlineage-2.5.0/tests/integration → apache_airflow_providers_openlineage-2.6.0/src/airflow}/__init__.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0/tests/system → apache_airflow_providers_openlineage-2.6.0/src/airflow/providers}/__init__.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/__init__.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/conf.py +11 -3
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/extractors/base.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/get_provider_info.py +6 -0
- apache_airflow_providers_openlineage-2.6.0/src/airflow/providers/openlineage/operators/empty.py +48 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/plugins/adapter.py +32 -6
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/plugins/listener.py +38 -8
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/utils/selective_enable.py +5 -7
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/utils/utils.py +79 -3
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/version_compat.py +10 -0
- {apache_airflow_providers_openlineage-2.5.0/src/airflow → apache_airflow_providers_openlineage-2.6.0/tests/integration}/__init__.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0/src/airflow/providers → apache_airflow_providers_openlineage-2.6.0/tests/system}/__init__.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_base_complex_dag.py +41 -10
- apache_airflow_providers_openlineage-2.6.0/tests/system/openlineage/example_openlineage_docs_file_dag.py +63 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_mapped_simple_dag.py +6 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_task_groups_dag.py +5 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_trigger_dag.py +2 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_base_complex_dag__af2.json +759 -27
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_base_complex_dag__af3.json +741 -29
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_base_simple_dag__af2.json +2 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_base_simple_dag__af3.json +2 -0
- apache_airflow_providers_openlineage-2.6.0/tests/system/openlineage/expected_events/openlineage_docs_file_dag.json +44 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_timetable_dag__af3.json +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_trigger_dag.json +12 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/operator.py +1 -1
- apache_airflow_providers_openlineage-2.6.0/tests/unit/__init__.py +17 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/extractors/test_base.py +2 -2
- apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/operators/test_empty.py +54 -0
- apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/plugins/openlineage_configs/__init__.py +16 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_adapter.py +67 -13
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_listener.py +276 -35
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_utils.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/test_conf.py +33 -0
- apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/utils/__init__.py +16 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/utils/test_selective_enable.py +1 -1
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/utils/test_utils.py +308 -55
- apache_airflow_providers_openlineage-2.5.0/tests/unit/__init__.py +0 -17
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/.latest-doc-only-change.txt +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/commits.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/conf.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/guides/developer.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/guides/structure.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/guides/user.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/integration-logos/openlineage.svg +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/macros.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/security.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/docs/supported_classes.rst +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/LICENSE +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/extractors/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/extractors/bash.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/extractors/manager.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/extractors/python.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/AirflowDebugRunFacet.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/AirflowJobFacet.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/AirflowRunFacet.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/AirflowStateRunFacet.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/facets/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/src/airflow/providers/openlineage/plugins → apache_airflow_providers_openlineage-2.6.0/src/airflow/providers/openlineage/operators}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/src/airflow/providers/openlineage/utils → apache_airflow_providers_openlineage-2.6.0/src/airflow/providers/openlineage/plugins}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/plugins/facets.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/plugins/macros.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/plugins/openlineage.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/sqlparser.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/integration/openlineage → apache_airflow_providers_openlineage-2.6.0/src/airflow/providers/openlineage/utils}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/utils/spark.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/src/airflow/providers/openlineage/utils/sql.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/conftest.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/integration/openlineage/operators → apache_airflow_providers_openlineage-2.6.0/tests/integration/openlineage}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/system/openlineage → apache_airflow_providers_openlineage-2.6.0/tests/integration/openlineage/operators}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/system/openlineage/transport → apache_airflow_providers_openlineage-2.6.0/tests/system/openlineage}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/conftest.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_base_simple_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_defer_simple_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_asset_or_time_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_cron_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_list_complex_assets_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_list_multiple_assets_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_list_single_asset_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_multiple_assets_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_single_asset_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_schedule_timetable_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/example_openlineage_versioned_dag.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_defer_simple_dag.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_mapped_simple_dag.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_asset_or_time_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_asset_or_time_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_cron_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_cron_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_complex_assets_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_complex_assets_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_multiple_assets_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_multiple_assets_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_single_asset_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_list_single_asset_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_multiple_assets_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_multiple_assets_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_single_asset_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_single_asset_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_schedule_timetable_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_task_groups_dag.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_versioned_dag__af2.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/expected_events/openlineage_versioned_dag__af3.json +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage → apache_airflow_providers_openlineage-2.6.0/tests/system/openlineage/transport}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/system/openlineage/transport/variable.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage/dags → apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage/extractors → apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/dags}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/dags/test_openlineage_execution.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage/plugins → apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/extractors}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/extractors/test_bash.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/extractors/test_manager.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/extractors/test_python.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/log_config.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage/plugins/openlineage_configs → apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/operators}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0/tests/unit/openlineage/utils → apache_airflow_providers_openlineage-2.6.0/tests/unit/openlineage/plugins}/__init__.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/openlineage_configs/http.yaml +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_execution.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_facets.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_macros.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/plugins/test_openlineage.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/test_sqlparser.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/utils/custom_facet_fixture.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/utils/test_spark.py +0 -0
- {apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/tests/unit/openlineage/utils/test_sql.py +0 -0
{apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/PKG-INFO
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-openlineage
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.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>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
|
-
Requires-Python:
|
|
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,16 +18,17 @@ 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
23
|
Requires-Dist: apache-airflow>=2.10.0
|
|
23
24
|
Requires-Dist: apache-airflow-providers-common-sql>=1.20.0
|
|
24
25
|
Requires-Dist: apache-airflow-providers-common-compat>=1.4.0
|
|
25
26
|
Requires-Dist: attrs>=22.2
|
|
26
|
-
Requires-Dist: openlineage-integration-common>=1.
|
|
27
|
-
Requires-Dist: openlineage-python>=1.
|
|
27
|
+
Requires-Dist: openlineage-integration-common>=1.36.0
|
|
28
|
+
Requires-Dist: openlineage-python>=1.36.0
|
|
28
29
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
29
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
30
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
30
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/changelog.html
|
|
31
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0
|
|
31
32
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
32
33
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
33
34
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -58,8 +59,9 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
58
59
|
|
|
59
60
|
Package ``apache-airflow-providers-openlineage``
|
|
60
61
|
|
|
61
|
-
Release: ``2.
|
|
62
|
+
Release: ``2.6.0``
|
|
62
63
|
|
|
64
|
+
Release Date: ``|PypiReleaseDate|``
|
|
63
65
|
|
|
64
66
|
`OpenLineage <https://openlineage.io/>`__
|
|
65
67
|
|
|
@@ -71,7 +73,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
|
|
|
71
73
|
are in ``airflow.providers.openlineage`` python package.
|
|
72
74
|
|
|
73
75
|
You can find package information and changelog for the provider
|
|
74
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
76
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/>`_.
|
|
75
77
|
|
|
76
78
|
Installation
|
|
77
79
|
------------
|
|
@@ -80,7 +82,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
|
80
82
|
for the minimum Airflow version supported) via
|
|
81
83
|
``pip install apache-airflow-providers-openlineage``
|
|
82
84
|
|
|
83
|
-
The package supports the following python versions: 3.10,3.11,3.12
|
|
85
|
+
The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
84
86
|
|
|
85
87
|
Requirements
|
|
86
88
|
------------
|
|
@@ -92,8 +94,8 @@ PIP package Version required
|
|
|
92
94
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
93
95
|
``apache-airflow-providers-common-compat`` ``>=1.4.0``
|
|
94
96
|
``attrs`` ``>=22.2``
|
|
95
|
-
``openlineage-integration-common`` ``>=1.
|
|
96
|
-
``openlineage-python`` ``>=1.
|
|
97
|
+
``openlineage-integration-common`` ``>=1.36.0``
|
|
98
|
+
``openlineage-python`` ``>=1.36.0``
|
|
97
99
|
========================================== ==================
|
|
98
100
|
|
|
99
101
|
Cross provider package dependencies
|
|
@@ -117,5 +119,5 @@ Dependent package
|
|
|
117
119
|
================================================================================================================== =================
|
|
118
120
|
|
|
119
121
|
The changelog for the provider package can be found in the
|
|
120
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
122
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/changelog.html>`_.
|
|
121
123
|
|
{apache_airflow_providers_openlineage-2.5.0 → apache_airflow_providers_openlineage-2.6.0}/README.rst
RENAMED
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-openlineage``
|
|
25
25
|
|
|
26
|
-
Release: ``2.
|
|
26
|
+
Release: ``2.6.0``
|
|
27
27
|
|
|
28
|
+
Release Date: ``|PypiReleaseDate|``
|
|
28
29
|
|
|
29
30
|
`OpenLineage <https://openlineage.io/>`__
|
|
30
31
|
|
|
@@ -36,7 +37,7 @@ This is a provider package for ``openlineage`` provider. All classes for this pr
|
|
|
36
37
|
are in ``airflow.providers.openlineage`` 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-openlineage/2.
|
|
40
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/>`_.
|
|
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-openlineage``
|
|
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
|
------------
|
|
@@ -57,8 +58,8 @@ PIP package Version required
|
|
|
57
58
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
58
59
|
``apache-airflow-providers-common-compat`` ``>=1.4.0``
|
|
59
60
|
``attrs`` ``>=22.2``
|
|
60
|
-
``openlineage-integration-common`` ``>=1.
|
|
61
|
-
``openlineage-python`` ``>=1.
|
|
61
|
+
``openlineage-integration-common`` ``>=1.36.0``
|
|
62
|
+
``openlineage-python`` ``>=1.36.0``
|
|
62
63
|
========================================== ==================
|
|
63
64
|
|
|
64
65
|
Cross provider package dependencies
|
|
@@ -82,4 +83,4 @@ Dependent package
|
|
|
82
83
|
================================================================================================================== =================
|
|
83
84
|
|
|
84
85
|
The changelog for the provider package can be found in the
|
|
85
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
86
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/changelog.html>`_.
|
|
@@ -26,6 +26,44 @@
|
|
|
26
26
|
Changelog
|
|
27
27
|
---------
|
|
28
28
|
|
|
29
|
+
2.6.0
|
|
30
|
+
.....
|
|
31
|
+
|
|
32
|
+
Features
|
|
33
|
+
~~~~~~~~
|
|
34
|
+
|
|
35
|
+
* ``Add OpenLineage support for EmptyOperator (#53730)``
|
|
36
|
+
* ``feat: Add new documentation facet to all OL events (#52343)``
|
|
37
|
+
|
|
38
|
+
Bug Fixes
|
|
39
|
+
~~~~~~~~~
|
|
40
|
+
|
|
41
|
+
* ``fix: Adjust emits_ol_events to account for inlets check since AF3.0.2 (#53449)``
|
|
42
|
+
* ``fix: Check dynamic transport env vars in is_disabled() (#53370)``
|
|
43
|
+
* ``Remove direct scheduler BaseOperator refs (#52234)``
|
|
44
|
+
* ``Fix Task Group Deprecation error from plugin (#53813)``
|
|
45
|
+
|
|
46
|
+
Misc
|
|
47
|
+
~~~~
|
|
48
|
+
|
|
49
|
+
* ``Updating openlineage-integration-common and openlineage-python dependencies for apache-airflow-providers-openlineage provider. (#53671)``
|
|
50
|
+
* ``Add Python 3.13 support for Airflow. (#46891)``
|
|
51
|
+
* ``Cleanup type ignores in openlineage provider where possible (#53284)``
|
|
52
|
+
* ``Remove type ignore across codebase after mypy upgrade (#53243)``
|
|
53
|
+
* ``Make openlineage compatible with mypy 1.16.1 (#53119)``
|
|
54
|
+
* ``Remove upper-binding for "python-requires" (#52980)``
|
|
55
|
+
* ``Temporarily switch to use >=,< pattern instead of '~=' (#52967)``
|
|
56
|
+
|
|
57
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
58
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
59
|
+
* ``Restore ''get_previous_dagrun'' functionality for task context (#53655)``
|
|
60
|
+
* ``Deprecate decorators from Core (#53629)``
|
|
61
|
+
* ``Replace 'mock.patch("utcnow")' with time_machine. (#53642)``
|
|
62
|
+
* ``Update main with Airflow 3.0.3 release details (#53349)``
|
|
63
|
+
* ``Cleanup mypy ignores in openlineage test_listener (#53326)``
|
|
64
|
+
* ``Make dag_version_id in TI non-nullable (#50825)``
|
|
65
|
+
* ``fix: Adjust OL system test to latest changes (#52971)``
|
|
66
|
+
|
|
29
67
|
2.5.0
|
|
30
68
|
.....
|
|
31
69
|
|
|
@@ -81,7 +81,9 @@ apache-airflow-providers-openlineage package
|
|
|
81
81
|
`OpenLineage <https://openlineage.io/>`__
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
Release: 2.
|
|
84
|
+
Release: 2.6.0
|
|
85
|
+
|
|
86
|
+
Release Date: ``|PypiReleaseDate|``
|
|
85
87
|
|
|
86
88
|
Provider package
|
|
87
89
|
----------------
|
|
@@ -108,8 +110,8 @@ PIP package Version required
|
|
|
108
110
|
``apache-airflow-providers-common-sql`` ``>=1.20.0``
|
|
109
111
|
``apache-airflow-providers-common-compat`` ``>=1.4.0``
|
|
110
112
|
``attrs`` ``>=22.2``
|
|
111
|
-
``openlineage-integration-common`` ``>=1.
|
|
112
|
-
``openlineage-python`` ``>=1.
|
|
113
|
+
``openlineage-integration-common`` ``>=1.36.0``
|
|
114
|
+
``openlineage-python`` ``>=1.36.0``
|
|
113
115
|
========================================== ==================
|
|
114
116
|
|
|
115
117
|
Cross provider package dependencies
|
|
@@ -138,5 +140,5 @@ Downloading official packages
|
|
|
138
140
|
You can download officially released packages and verify their checksums and signatures from the
|
|
139
141
|
`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
|
|
140
142
|
|
|
141
|
-
* `The apache-airflow-providers-openlineage 2.
|
|
142
|
-
* `The apache-airflow-providers-openlineage 2.
|
|
143
|
+
* `The apache-airflow-providers-openlineage 2.6.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0.tar.gz.sha512>`__)
|
|
144
|
+
* `The apache-airflow-providers-openlineage 2.6.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_openlineage-2.6.0-py3-none-any.whl.sha512>`__)
|
|
@@ -22,12 +22,13 @@ description: |
|
|
|
22
22
|
`OpenLineage <https://openlineage.io/>`__
|
|
23
23
|
|
|
24
24
|
state: ready
|
|
25
|
-
source-date-epoch:
|
|
25
|
+
source-date-epoch: 1753691696
|
|
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
|
+
- 2.6.0
|
|
31
32
|
- 2.5.0
|
|
32
33
|
- 2.4.0
|
|
33
34
|
- 2.3.0
|
|
@@ -68,6 +69,11 @@ integrations:
|
|
|
68
69
|
logo: /docs/integration-logos/openlineage.svg
|
|
69
70
|
tags: [protocol]
|
|
70
71
|
|
|
72
|
+
operators:
|
|
73
|
+
- integration-name: OpenLineage
|
|
74
|
+
python-modules:
|
|
75
|
+
- airflow.providers.openlineage.operators.empty
|
|
76
|
+
|
|
71
77
|
plugins:
|
|
72
78
|
- name: openlineage
|
|
73
79
|
plugin-class: airflow.providers.openlineage.plugins.openlineage.OpenLineageProviderPlugin
|
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-openlineage"
|
|
28
|
-
version = "2.
|
|
28
|
+
version = "2.6.0"
|
|
29
29
|
description = "Provider package apache-airflow-providers-openlineage for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -47,9 +47,10 @@ 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 = "
|
|
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
|
|
@@ -60,8 +61,8 @@ dependencies = [
|
|
|
60
61
|
"apache-airflow-providers-common-sql>=1.20.0",
|
|
61
62
|
"apache-airflow-providers-common-compat>=1.4.0",
|
|
62
63
|
"attrs>=22.2",
|
|
63
|
-
"openlineage-integration-common>=1.
|
|
64
|
-
"openlineage-python>=1.
|
|
64
|
+
"openlineage-integration-common>=1.36.0",
|
|
65
|
+
"openlineage-python>=1.36.0",
|
|
65
66
|
]
|
|
66
67
|
|
|
67
68
|
[dependency-groups]
|
|
@@ -104,8 +105,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
104
105
|
apache-airflow-providers-standard = {workspace = true}
|
|
105
106
|
|
|
106
107
|
[project.urls]
|
|
107
|
-
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
108
|
-
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.
|
|
108
|
+
"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0"
|
|
109
|
+
"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-openlineage/2.6.0/changelog.html"
|
|
109
110
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
110
111
|
"Source Code" = "https://github.com/apache/airflow"
|
|
111
112
|
"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__)
|
|
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__)
|
|
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__ = "2.
|
|
32
|
+
__version__ = "2.6.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.10.0"
|
|
@@ -136,9 +136,17 @@ def is_disabled() -> bool:
|
|
|
136
136
|
if _is_true(os.getenv("OPENLINEAGE_DISABLED", "")): # Check legacy variable
|
|
137
137
|
return True
|
|
138
138
|
|
|
139
|
-
# Check if
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
if transport(): # Check if transport is present
|
|
140
|
+
return False
|
|
141
|
+
if config_path(True): # Check if config file is present
|
|
142
|
+
return False
|
|
143
|
+
if os.getenv("OPENLINEAGE_URL"): # Check if url simple env var is present
|
|
144
|
+
return False
|
|
145
|
+
# Check if any transport configuration env var is present
|
|
146
|
+
if any(k.startswith("OPENLINEAGE__TRANSPORT") and v for k, v in os.environ.items()):
|
|
147
|
+
return False
|
|
148
|
+
|
|
149
|
+
return True # No transport configuration is present, we can disable OpenLineage
|
|
142
150
|
|
|
143
151
|
|
|
144
152
|
@cache
|
|
@@ -34,6 +34,12 @@ def get_provider_info():
|
|
|
34
34
|
"tags": ["protocol"],
|
|
35
35
|
}
|
|
36
36
|
],
|
|
37
|
+
"operators": [
|
|
38
|
+
{
|
|
39
|
+
"integration-name": "OpenLineage",
|
|
40
|
+
"python-modules": ["airflow.providers.openlineage.operators.empty"],
|
|
41
|
+
}
|
|
42
|
+
],
|
|
37
43
|
"plugins": [
|
|
38
44
|
{
|
|
39
45
|
"name": "openlineage",
|
apache_airflow_providers_openlineage-2.6.0/src/airflow/providers/openlineage/operators/empty.py
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
|
3
|
+
# distributed with this work for additional information
|
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
|
6
|
+
# "License"); you may not use this file except in compliance
|
|
7
|
+
# with the License. You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
|
12
|
+
# software distributed under the License is distributed on an
|
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
14
|
+
# KIND, either express or implied. See the License for the
|
|
15
|
+
# specific language governing permissions and limitations
|
|
16
|
+
# under the License.
|
|
17
|
+
from __future__ import annotations
|
|
18
|
+
|
|
19
|
+
from typing import TYPE_CHECKING
|
|
20
|
+
|
|
21
|
+
from airflow.providers.openlineage.extractors.base import OperatorLineage
|
|
22
|
+
from airflow.providers.openlineage.version_compat import BaseOperator
|
|
23
|
+
|
|
24
|
+
if TYPE_CHECKING:
|
|
25
|
+
from airflow.sdk.definitions.context import Context
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class EmptyOperator(BaseOperator):
|
|
29
|
+
"""
|
|
30
|
+
Operator that does literally nothing.
|
|
31
|
+
|
|
32
|
+
It can be used to group tasks in a DAG.
|
|
33
|
+
The task is evaluated by the scheduler but never processed by the executor.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
ui_color = "#e8f7e4"
|
|
37
|
+
|
|
38
|
+
def execute(self, context: Context):
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
def get_openlineage_facets_on_start(self) -> OperatorLineage:
|
|
42
|
+
return OperatorLineage()
|
|
43
|
+
|
|
44
|
+
def get_openlineage_facets_on_complete(self, task_instance) -> OperatorLineage:
|
|
45
|
+
return OperatorLineage()
|
|
46
|
+
|
|
47
|
+
def get_openlineage_facets_on_failure(self, task_instance) -> OperatorLineage:
|
|
48
|
+
return OperatorLineage()
|
|
@@ -90,7 +90,7 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
90
90
|
"OpenLineage configuration found. Transport type: `%s`",
|
|
91
91
|
config.get("transport", {}).get("type", "no type provided"),
|
|
92
92
|
)
|
|
93
|
-
self._client = OpenLineageClient(config=config)
|
|
93
|
+
self._client = OpenLineageClient(config=config)
|
|
94
94
|
else:
|
|
95
95
|
self.log.debug(
|
|
96
96
|
"OpenLineage configuration not found directly in Airflow. "
|
|
@@ -182,13 +182,14 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
182
182
|
self,
|
|
183
183
|
run_id: str,
|
|
184
184
|
job_name: str,
|
|
185
|
-
job_description: str,
|
|
186
185
|
event_time: str,
|
|
186
|
+
job_description: str | None,
|
|
187
187
|
nominal_start_time: str | None,
|
|
188
188
|
nominal_end_time: str | None,
|
|
189
189
|
owners: list[str] | None,
|
|
190
190
|
tags: list[str] | None,
|
|
191
191
|
task: OperatorLineage | None,
|
|
192
|
+
job_description_type: str | None = None,
|
|
192
193
|
run_facets: dict[str, RunFacet] | None = None,
|
|
193
194
|
) -> RunEvent:
|
|
194
195
|
"""
|
|
@@ -196,7 +197,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
196
197
|
|
|
197
198
|
:param run_id: globally unique identifier of task in dag run
|
|
198
199
|
:param job_name: globally unique identifier of task in dag
|
|
199
|
-
:param job_description:
|
|
200
|
+
:param job_description: description of the job
|
|
201
|
+
:param job_description_type: MIME type of the description arg content
|
|
200
202
|
:param event_time:
|
|
201
203
|
:param nominal_start_time: scheduled time of dag run
|
|
202
204
|
:param nominal_end_time: following schedule of dag run
|
|
@@ -221,6 +223,7 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
221
223
|
job_name=job_name,
|
|
222
224
|
job_type=_JOB_TYPE_TASK,
|
|
223
225
|
job_description=job_description,
|
|
226
|
+
job_description_type=job_description_type,
|
|
224
227
|
job_owners=owners,
|
|
225
228
|
job_tags=tags,
|
|
226
229
|
job_facets=task.job_facets if task else None,
|
|
@@ -241,6 +244,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
241
244
|
nominal_end_time: str | None,
|
|
242
245
|
owners: list[str] | None,
|
|
243
246
|
tags: list[str] | None,
|
|
247
|
+
job_description: str | None,
|
|
248
|
+
job_description_type: str | None = None,
|
|
244
249
|
run_facets: dict[str, RunFacet] | None = None,
|
|
245
250
|
) -> RunEvent:
|
|
246
251
|
"""
|
|
@@ -249,6 +254,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
249
254
|
:param run_id: globally unique identifier of task in dag run
|
|
250
255
|
:param job_name: globally unique identifier of task between dags
|
|
251
256
|
:param end_time: time of task completion
|
|
257
|
+
:param job_description: description of the job
|
|
258
|
+
:param job_description_type: MIME type of the description arg content
|
|
252
259
|
:param tags: list of tags
|
|
253
260
|
:param nominal_start_time: scheduled time of dag run
|
|
254
261
|
:param nominal_end_time: following schedule of dag run
|
|
@@ -274,6 +281,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
274
281
|
job_facets=task.job_facets,
|
|
275
282
|
job_owners=owners,
|
|
276
283
|
job_tags=tags,
|
|
284
|
+
job_description=job_description,
|
|
285
|
+
job_description_type=job_description_type,
|
|
277
286
|
),
|
|
278
287
|
inputs=task.inputs,
|
|
279
288
|
outputs=task.outputs,
|
|
@@ -291,6 +300,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
291
300
|
nominal_end_time: str | None,
|
|
292
301
|
owners: list[str] | None,
|
|
293
302
|
tags: list[str] | None,
|
|
303
|
+
job_description: str | None,
|
|
304
|
+
job_description_type: str | None = None,
|
|
294
305
|
error: str | BaseException | None = None,
|
|
295
306
|
run_facets: dict[str, RunFacet] | None = None,
|
|
296
307
|
) -> RunEvent:
|
|
@@ -301,6 +312,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
301
312
|
:param job_name: globally unique identifier of task between dags
|
|
302
313
|
:param end_time: time of task completion
|
|
303
314
|
:param task: metadata container with information extracted from operator
|
|
315
|
+
:param job_description: description of the job
|
|
316
|
+
:param job_description_type: MIME type of the description arg content
|
|
304
317
|
:param run_facets: custom run facets
|
|
305
318
|
:param tags: list of tags
|
|
306
319
|
:param nominal_start_time: scheduled time of dag run
|
|
@@ -338,6 +351,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
338
351
|
job_facets=task.job_facets,
|
|
339
352
|
job_owners=owners,
|
|
340
353
|
job_tags=tags,
|
|
354
|
+
job_description=job_description,
|
|
355
|
+
job_description_type=job_description_type,
|
|
341
356
|
),
|
|
342
357
|
inputs=task.inputs,
|
|
343
358
|
outputs=task.outputs,
|
|
@@ -356,7 +371,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
356
371
|
tags: list[str],
|
|
357
372
|
run_facets: dict[str, RunFacet],
|
|
358
373
|
clear_number: int,
|
|
359
|
-
|
|
374
|
+
job_description: str | None,
|
|
375
|
+
job_description_type: str | None = None,
|
|
360
376
|
job_facets: dict[str, JobFacet] | None = None, # Custom job facets
|
|
361
377
|
):
|
|
362
378
|
try:
|
|
@@ -366,7 +382,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
366
382
|
job=self._build_job(
|
|
367
383
|
job_name=dag_id,
|
|
368
384
|
job_type=_JOB_TYPE_DAG,
|
|
369
|
-
job_description=
|
|
385
|
+
job_description=job_description,
|
|
386
|
+
job_description_type=job_description_type,
|
|
370
387
|
job_owners=owners,
|
|
371
388
|
job_facets=job_facets,
|
|
372
389
|
job_tags=tags,
|
|
@@ -404,6 +421,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
404
421
|
task_ids: list[str],
|
|
405
422
|
owners: list[str] | None,
|
|
406
423
|
run_facets: dict[str, RunFacet],
|
|
424
|
+
job_description: str | None,
|
|
425
|
+
job_description_type: str | None = None,
|
|
407
426
|
):
|
|
408
427
|
try:
|
|
409
428
|
event = RunEvent(
|
|
@@ -414,6 +433,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
414
433
|
job_type=_JOB_TYPE_DAG,
|
|
415
434
|
job_owners=owners,
|
|
416
435
|
job_tags=tags,
|
|
436
|
+
job_description=job_description,
|
|
437
|
+
job_description_type=job_description_type,
|
|
417
438
|
),
|
|
418
439
|
run=self._build_run(
|
|
419
440
|
run_id=self.build_dag_run_id(
|
|
@@ -453,6 +474,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
453
474
|
owners: list[str] | None,
|
|
454
475
|
msg: str,
|
|
455
476
|
run_facets: dict[str, RunFacet],
|
|
477
|
+
job_description: str | None,
|
|
478
|
+
job_description_type: str | None = None,
|
|
456
479
|
):
|
|
457
480
|
try:
|
|
458
481
|
event = RunEvent(
|
|
@@ -463,6 +486,8 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
463
486
|
job_type=_JOB_TYPE_DAG,
|
|
464
487
|
job_owners=owners,
|
|
465
488
|
job_tags=tags,
|
|
489
|
+
job_description=job_description,
|
|
490
|
+
job_description_type=job_description_type,
|
|
466
491
|
),
|
|
467
492
|
run=self._build_run(
|
|
468
493
|
run_id=self.build_dag_run_id(
|
|
@@ -519,6 +544,7 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
519
544
|
job_name: str,
|
|
520
545
|
job_type: Literal["DAG", "TASK"],
|
|
521
546
|
job_description: str | None = None,
|
|
547
|
+
job_description_type: str | None = None,
|
|
522
548
|
job_owners: list[str] | None = None,
|
|
523
549
|
job_tags: list[str] | None = None,
|
|
524
550
|
job_facets: dict[str, JobFacet] | None = None,
|
|
@@ -530,7 +556,7 @@ class OpenLineageAdapter(LoggingMixin):
|
|
|
530
556
|
facets.update(
|
|
531
557
|
{
|
|
532
558
|
"documentation": documentation_job.DocumentationJobFacet(
|
|
533
|
-
description=job_description, producer=_PRODUCER
|
|
559
|
+
description=job_description, contentType=job_description_type, producer=_PRODUCER
|
|
534
560
|
)
|
|
535
561
|
}
|
|
536
562
|
)
|