Source code for airflow.providers.openlineage.plugins.openlineage
# Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional information# regarding copyright ownership. The ASF licenses this file# to you under the Apache License, Version 2.0 (the# "License"); you may not use this file except in compliance# with the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing,# software distributed under the License is distributed on an# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY# KIND, either express or implied. See the License for the# specific language governing permissions and limitations# under the License.from__future__importannotationsimportosfromairflow.configurationimportconffromairflow.plugins_managerimportAirflowPluginfromairflow.providers.openlineage.plugins.listenerimportget_openlineage_listenerfromairflow.providers.openlineage.plugins.macrosimportlineage_parent_id,lineage_run_iddef_is_disabled()->bool:return(conf.getboolean("openlineage","disabled",fallback=False)oros.getenv("OPENLINEAGE_DISABLED","false").lower()=="true"or(conf.get("openlineage","transport",fallback="")==""andconf.get("openlineage","config_path",fallback="")==""andos.getenv("OPENLINEAGE_URL","")==""andos.getenv("OPENLINEAGE_CONFIG","")==""))
[docs]classOpenLineageProviderPlugin(AirflowPlugin):""" Listener that emits numerous Events. OpenLineage Plugin provides listener that emits OL events on DAG start, complete and failure and TaskInstances start, complete and failure. """