Decorators
===============================

.. py:module:: gridstatus.decorators


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

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

.. autoapisummary::

   gridstatus.decorators.DayBeginOffset
   gridstatus.decorators.FiveMinOffset
   gridstatus.decorators.MonthBeginOffset
   gridstatus.decorators.support_date_range
   gridstatus.decorators.YearBeginOffset




Functions
~~~~~~~~~

.. autoapisummary::
   :nosignatures:

   gridstatus.decorators.date_range_maker
   gridstatus.decorators.pjm_update_dates



Contents
~~~~~~~~~~~~~~~~~~~
.. py:function:: date_range_maker(start, end, freq, inclusive='neither')

   Generate a date range based on start and end dates and a frequency.


.. py:class:: DayBeginOffset




   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.decorators.DayBeginOffset.__ladd__
      gridstatus.decorators.DayBeginOffset.__radd__

   .. py:method:: __ladd__(other)


   .. py:method:: __radd__(other)



.. py:class:: FiveMinOffset




   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.decorators.FiveMinOffset.__ladd__
      gridstatus.decorators.FiveMinOffset.__radd__

   .. py:method:: __ladd__(other)


   .. py:method:: __radd__(other)



.. py:class:: MonthBeginOffset




   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.decorators.MonthBeginOffset.__ladd__
      gridstatus.decorators.MonthBeginOffset.__radd__

   .. py:method:: __ladd__(other)


   .. py:method:: __radd__(other)



.. py:function:: pjm_update_dates(dates, args_dict)

   PJM has a weird API. This method updates the date range list to account
   for the following restrictions:

    - date ranges cannot span year boundaries
    - date ranges cannot span archive / standard boundaries
    - date range is inclusive of start and end dates


.. py:class:: support_date_range(frequency, update_dates=None)

   
   Maximum frequency of ranges. if None, then no new ranges are created.




   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.decorators.support_date_range.__call__

   .. py:method:: __call__(f)



.. py:class:: YearBeginOffset




   **Methods**

   .. autoapisummary::
      :nosignatures:

      gridstatus.decorators.YearBeginOffset.__ladd__
      gridstatus.decorators.YearBeginOffset.__radd__

   .. py:method:: __ladd__(other)


   .. py:method:: __radd__(other)



