swarmpal
========

.. py:module:: swarmpal


Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/swarmpal/_api/index
   /autoapi/swarmpal/cli/index
   /autoapi/swarmpal/experimental/index
   /autoapi/swarmpal/express/index
   /autoapi/swarmpal/io/index
   /autoapi/swarmpal/schema/index
   /autoapi/swarmpal/toolboxes/index
   /autoapi/swarmpal/utils/index


Attributes
----------

.. autoapisummary::

   swarmpal.__version__


Functions
---------

.. autoapisummary::

   swarmpal.apply_process
   swarmpal.apply_processes
   swarmpal.fetch_data
   swarmpal.make_process
   swarmpal.quicklook


Package Contents
----------------

.. py:function:: apply_process(data, process_name=None, config={})

   Create a SwarmPAL process and apply it on the given data.

   :param data: the data on which the process will be applied to.
   :type data: DataTree
   :param process_name: the name of the process to apply. See ... for a list of Toolboxes and their Processes.
   :type process_name: Str
   :param config: parameters passed to the Toolbox.
   :type config: dict


.. py:function:: apply_processes(data, process_params)

   Apply a list of processes to a dataset.

   :param data: the data on which the process will be applied to.
   :type data: DataTree
   :param process_params: a list of processes to apply to the input data.


.. py:function:: fetch_data(configurations)

   Downloads list of datasets and returns a unified DataTree.

   :param configurations: A list of configurations passed to `create_paldata`.
                          TODO: describe the 'schema'
   :type configurations: List


.. py:function:: make_process(process_name=None, config={})

   Instantiates a PalProcess object with a given name and a configuration.

   :param process_name: The name of the process to apply.
                        Must be one of ['FAC_single_sat'].
   :type process_name: Str
   :param config: Parameters passed to the Toolbox' process.
   :type config: dict


.. py:function:: quicklook(data: xarray.DataTree, toolbox: str | None = None)

   Create a quicklook plot based on the toolbox processes recorded in PAL_meta.

   :param data: Data that has been processed by SwarmPAL
   :type data: DataTree
   :param toolbox: Override toolbox selection (one of: 'FAC', 'TFA', 'DSECS'). Case-insensitive.
                   If omitted, the toolbox is auto-detected from PAL_meta.
   :type toolbox: str, optional

   :rtype: matplotlib.figure.Figure


.. py:data:: __version__
   :value: '0.3.0'


