:py:mod:`airflow.providers.docker.decorators.docker`
====================================================

.. py:module:: airflow.providers.docker.decorators.docker


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


Functions
~~~~~~~~~

.. autoapisummary::

   airflow.providers.docker.decorators.docker.docker_task



Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.docker.decorators.docker.T


.. py:data:: T
   

   

.. py:function:: docker_task(python_callable = None, multiple_outputs = None, **kwargs)

   Python operator decorator. Wraps a function into an Airflow operator.
   Also accepts any argument that DockerOperator will via ``kwargs``. Can be reused in a single DAG.

   :param python_callable: Function to decorate
   :param multiple_outputs: If set, function return value will be unrolled to multiple XCom values.
       Dict will unroll to XCom values with keys as XCom keys. Defaults to False.


