:py:mod:`leads.leads`
=====================

.. py:module:: leads.leads

.. autodoc2-docstring:: leads.leads
   :allowtitles:

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

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`LEADS <leads.leads.LEADS>`
     - .. autodoc2-docstring:: leads.leads.LEADS
          :summary:

Data
~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`T <leads.leads.T>`
     - .. autodoc2-docstring:: leads.leads.T
          :summary:

API
~~~

.. py:data:: T
   :canonical: leads.leads.T
   :value: '_TypeVar(...)'

   .. autodoc2-docstring:: leads.leads.T

.. py:exception:: _SuspensionException(event: leads.event.SuspensionEvent)
   :canonical: leads.leads._SuspensionException

   Bases: :py:obj:`Exception`

.. py:class:: LEADS(initial_data: leads.leads.T | None = None, data_seq_size: int = 100, num_laps_timed: int = 3)
   :canonical: leads.leads.LEADS

   Bases: :py:obj:`leads.context.Context`\ [\ :py:obj:`leads.leads.T`\ ]

   .. autodoc2-docstring:: leads.leads.LEADS

   .. rubric:: Initialization

   .. autodoc2-docstring:: leads.leads.LEADS.__init__

   .. py:method:: plugin(key: str, plugin: leads.plugin.Plugin | None = None) -> leads.plugin.Plugin | None
      :canonical: leads.leads.LEADS.plugin

      .. autodoc2-docstring:: leads.leads.LEADS.plugin

   .. py:method:: set_event_listener(event_listener: leads.event.EventListener) -> None
      :canonical: leads.leads.LEADS.set_event_listener

      .. autodoc2-docstring:: leads.leads.LEADS.set_event_listener

   .. py:method:: suspend(event: leads.event.SuspensionEvent) -> None
      :canonical: leads.leads.LEADS.suspend

      .. autodoc2-docstring:: leads.leads.LEADS.suspend

   .. py:method:: _acquire_data(name: str, key: str, mandatory: bool = True) -> typing.Any | None
      :canonical: leads.leads.LEADS._acquire_data

      .. autodoc2-docstring:: leads.leads.LEADS._acquire_data

   .. py:method:: _do_plugin_callback(method: typing.Literal[pre_push, post_push, pre_update, post_update]) -> None
      :canonical: leads.leads.LEADS._do_plugin_callback

      .. autodoc2-docstring:: leads.leads.LEADS._do_plugin_callback

   .. py:method:: push(data: leads.leads.T) -> None
      :canonical: leads.leads.LEADS.push

      .. autodoc2-docstring:: leads.leads.LEADS.push

   .. py:method:: intervene(event: leads.event.InterventionEvent) -> None
      :canonical: leads.leads.LEADS.intervene

      .. autodoc2-docstring:: leads.leads.LEADS.intervene

   .. py:method:: update() -> None
      :canonical: leads.leads.LEADS.update

      .. autodoc2-docstring:: leads.leads.LEADS.update

   .. py:method:: brake_indicator(brake_indicator: bool | None = None) -> bool | None
      :canonical: leads.leads.LEADS.brake_indicator

      .. autodoc2-docstring:: leads.leads.LEADS.brake_indicator

   .. py:method:: left_indicator(left_indicator: bool | None = None, override: bool = False) -> bool | None
      :canonical: leads.leads.LEADS.left_indicator

      .. autodoc2-docstring:: leads.leads.LEADS.left_indicator

   .. py:method:: right_indicator(right_indicator: bool | None = None, override: bool = False) -> bool | None
      :canonical: leads.leads.LEADS.right_indicator

      .. autodoc2-docstring:: leads.leads.LEADS.right_indicator

   .. py:method:: hazard(hazard: bool | None = None) -> bool | None
      :canonical: leads.leads.LEADS.hazard

      .. autodoc2-docstring:: leads.leads.LEADS.hazard
