Base
=========================

.. py:module:: gridstatus.base


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

Classes Summary
~~~~~~~~~~~~~~~

.. autoapisummary::

   gridstatus.base.GridStatus
   gridstatus.base.InterconnectionQueueStatus
   gridstatus.base.ISOBase
   gridstatus.base.Markets



Exceptions Summary
~~~~~~~~~~~~~~~~~~

.. autoapisummary::

   `gridstatus.base.NoDataFoundException`
   `gridstatus.base.NotSupported`
   `gridstatus.base.RetiredDataException`




Contents
~~~~~~~~~~~~~~~~~~~
.. py:class:: GridStatus(time, status, reserves, iso, notes=None, unit='MW')


   **Attributes**

   .. list-table::
      :widths: 15 85
      :header-rows: 0

      * - **iso**
        - None
      * - **notes**
        - None
      * - **reserves**
        - None
      * - **status**
        - None
      * - **time**
        - None
      * - **unit**
        - 'MW'


   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.base.GridStatus.__repr__
      gridstatus.base.GridStatus.to_dict

   .. py:method:: __repr__() -> str

   .. py:method:: to_dict()


.. py:class:: InterconnectionQueueStatus(*args, **kwds)

   Bases: :py:obj:`enum.Enum`

   Interconnection queue types


   **Attributes**

   .. list-table::
      :widths: 15 85
      :header-rows: 0

      * - **ACTIVE**
        - 'Active'
      * - **COMPLETED**
        - 'Completed'
      * - **WITHDRAWN**
        - 'Withdrawn'



.. py:class:: ISOBase


   **Attributes**

   .. list-table::
      :widths: 15 85
      :header-rows: 0

      * - **default_timezone**
        - None
      * - **interconnection_homepage**
        - None
      * - **markets**
        - []
      * - **status_homepage**
        - None


   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.base.ISOBase.get_fuel_mix
      gridstatus.base.ISOBase.get_interconnection_queue
      gridstatus.base.ISOBase.get_load
      gridstatus.base.ISOBase.get_load_forecast
      gridstatus.base.ISOBase.get_raw_interconnection_queue
      gridstatus.base.ISOBase.get_status
      gridstatus.base.ISOBase.get_storage
      gridstatus.base.ISOBase.local_now
      gridstatus.base.ISOBase.safe_for_dst_transition_floor

   .. py:method:: get_fuel_mix(date, end=None, verbose=False)
      :abstractmethod:


   .. py:method:: get_interconnection_queue(verbose: bool = False)
      :abstractmethod:


   .. py:method:: get_load(date, end=None, verbose=False)
      :abstractmethod:


   .. py:method:: get_load_forecast(date, end=None, verbose=False)
      :abstractmethod:


   .. py:method:: get_raw_interconnection_queue(verbose: bool = False) -> BinaryIO
      :abstractmethod:


   .. py:method:: get_status(date, end=None, verbose=False)
      :abstractmethod:


   .. py:method:: get_storage(date, end=None, verbose=False)
      :abstractmethod:


   .. py:method:: local_now()

   .. py:method:: safe_for_dst_transition_floor(date: pandas.Timestamp, freq: str) -> pandas.Timestamp


.. py:class:: Markets

   Bases: :py:obj:`enum.StrEnum`

   Names of LMP Markets

   Initialize self.  See help(type(self)) for accurate signature.


   **Attributes**

   .. list-table::
      :widths: 15 85
      :header-rows: 0

      * - **DAY_AHEAD_HOURLY**
        - 'DAY_AHEAD_HOURLY'
      * - **DAY_AHEAD_HOURLY_EX_ANTE**
        - 'DAY_AHEAD_HOURLY_EX_ANTE'
      * - **DAY_AHEAD_HOURLY_EX_POST**
        - 'DAY_AHEAD_HOURLY_EX_POST'
      * - **REAL_TIME_15_MIN**
        - 'REAL_TIME_15_MIN'
      * - **REAL_TIME_5_MIN**
        - 'REAL_TIME_5_MIN'
      * - **REAL_TIME_5_MIN_EX_ANTE**
        - 'REAL_TIME_5_MIN_EX_ANTE'
      * - **REAL_TIME_5_MIN_EX_POST_FINAL**
        - 'REAL_TIME_5_MIN_EX_POST_FINAL'
      * - **REAL_TIME_5_MIN_EX_POST_PRELIM**
        - 'REAL_TIME_5_MIN_EX_POST_PRELIM'
      * - **REAL_TIME_5_MIN_FINAL**
        - 'REAL_TIME_5_MIN_FINAL'
      * - **REAL_TIME_HOURLY**
        - 'REAL_TIME_HOURLY'
      * - **REAL_TIME_HOURLY_EX_POST_FINAL**
        - 'REAL_TIME_HOURLY_EX_POST_FINAL'
      * - **REAL_TIME_HOURLY_EX_POST_PRELIM**
        - 'REAL_TIME_HOURLY_EX_POST_PRELIM'
      * - **REAL_TIME_HOURLY_FINAL**
        - 'REAL_TIME_HOURLY_FINAL'
      * - **REAL_TIME_HOURLY_PRELIM**
        - 'REAL_TIME_HOURLY_PRELIM'
      * - **REAL_TIME_SCED**
        - 'REAL_TIME_SCED'


   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.base.Markets.__contains__

   .. py:method:: __contains__(item)

      Return bool(key in self).



.. py:exception:: NoDataFoundException

   Bases: :py:obj:`Exception`

   Common base class for all non-exit exceptions.

   Initialize self.  See help(type(self)) for accurate signature.





.. py:exception:: NotSupported

   Bases: :py:obj:`Exception`

   Common base class for all non-exit exceptions.

   Initialize self.  See help(type(self)) for accurate signature.





.. py:exception:: RetiredDataException

   Bases: :py:obj:`Exception`

   Common base class for all non-exit exceptions.

   Initialize self.  See help(type(self)) for accurate signature.





