Labrea API
==========

Options
-------
.. autoclass:: labrea.options.Option
   :members:
   :show-inheritance:

Datasets
--------
.. autofunction:: labrea.dataset

.. autofunction:: labrea.abstractdataset

.. autoclass:: labrea.datasets.Dataset
   :members:
   :show-inheritance:

.. autoclass:: labrea.datasets.Overload
   :members:
   :show-inheritance:

Templates
---------
.. autoclass:: labrea.template.Template
   :members:
   :show-inheritance:

Collections
-----------
.. autoclass:: labrea.DatasetList
    :members:
    :show-inheritance:

.. autoclass:: labrea.DatasetDict
   :members:
   :show-inheritance:

Control Flow
------------
.. autoclass:: labrea.Coalesce
    :members:
    :show-inheritance:

.. autoclass:: labrea.Switch
    :members:
    :show-inheritance:

Interfaces
----------
.. autofunction:: labrea.interface

.. autofunction:: labrea.Interface.implementation

.. autoclass:: labrea.Interface
    :members:
    :show-inheritance:

Pipelines
---------
.. autoclass:: labrea.LabreaPipeline
   :members:
   :show-inheritance:

DatasetClasses
--------------
.. autofunction:: labrea.datasetclass

Types
--------
.. autoclass:: labrea.types.Evaluatable
   :members:
   :show-inheritance:

.. autoclass:: labrea.types.Validatable
   :members:
   :show-inheritance:

.. autoclass:: labrea.types.Value
   :members:
   :show-inheritance:

Multithreading
--------------
.. automodule:: labrea.multithreading
    :members:
