:py:mod:`airflow.operators.branch`
==================================

.. py:module:: airflow.operators.branch

.. autoapi-nested-parse::

   Branching operators



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.operators.branch.BaseBranchOperator




.. py:class:: BaseBranchOperator(task_id, owner = DEFAULT_OWNER, email = None, email_on_retry = conf.getboolean('email', 'default_email_on_retry', fallback=True), email_on_failure = conf.getboolean('email', 'default_email_on_failure', fallback=True), retries = DEFAULT_RETRIES, retry_delay = DEFAULT_RETRY_DELAY, retry_exponential_backoff = False, max_retry_delay = None, start_date = None, end_date = None, depends_on_past = False, ignore_first_depends_on_past = conf.getboolean('scheduler', 'ignore_first_depends_on_past_by_default'), wait_for_downstream = False, dag = None, params = None, default_args = None, priority_weight = DEFAULT_PRIORITY_WEIGHT, weight_rule = DEFAULT_WEIGHT_RULE, queue = DEFAULT_QUEUE, pool = None, pool_slots = DEFAULT_POOL_SLOTS, sla = None, execution_timeout = DEFAULT_TASK_EXECUTION_TIMEOUT, on_execute_callback = None, on_failure_callback = None, on_success_callback = None, on_retry_callback = None, pre_execute = None, post_execute = None, trigger_rule = DEFAULT_TRIGGER_RULE, resources = None, run_as_user = None, task_concurrency = None, max_active_tis_per_dag = None, executor_config = None, do_xcom_push = True, inlets = None, outlets = None, task_group = None, doc = None, doc_md = None, doc_json = None, doc_yaml = None, doc_rst = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`, :py:obj:`airflow.models.skipmixin.SkipMixin`

   This is a base class for creating operators with branching functionality,
   similarly to BranchPythonOperator.

   Users should subclass this operator and implement the function
   `choose_branch(self, context)`. This should run whatever business logic
   is needed to determine the branch, and return either the task_id for
   a single task (as a str) or a list of task_ids.

   The operator will continue with the returned task_id(s), and all other
   tasks directly downstream of this operator will be skipped.

   .. py:method:: choose_branch(self, context)
      :abstractmethod:

      Subclasses should implement this, running whatever logic is
      necessary to choose a branch and returning a task_id or list of
      task_ids.

      :param context: Context dictionary as passed to execute()


   .. py:method:: execute(self, context)

      This is the main method to derive when creating an operator.
      Context is the same dictionary used as when rendering jinja templates.

      Refer to get_template_context for more context.



