Utils
==========================

.. py:module:: gridstatus.utils


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



Functions
~~~~~~~~~

.. autoapisummary::
   :nosignatures:

   gridstatus.utils.convert_bool_to_emoji
   gridstatus.utils.download_csvs_from_zip_url
   gridstatus.utils.filter_lmp_locations
   gridstatus.utils.format_interconnection_df
   gridstatus.utils.get_interconnection_queues
   gridstatus.utils.get_iso
   gridstatus.utils.get_response_blob
   gridstatus.utils.get_zip_file
   gridstatus.utils.get_zip_folder
   gridstatus.utils.is_dst_end
   gridstatus.utils.is_today
   gridstatus.utils.is_within_last_days
   gridstatus.utils.list_isos
   gridstatus.utils.load_folder
   gridstatus.utils.make_availability_df
   gridstatus.utils.make_availability_table
   gridstatus.utils.make_lmp_availability_df
   gridstatus.utils.make_lmp_availability_table
   gridstatus.utils.move_cols_to_front



Attributes Summary
~~~~~~~~~~~~~~~~~~~

.. autoapisummary::

   gridstatus.utils.all_isos
   gridstatus.utils.GREEN_CHECKMARK_HTML_ENTITY
   gridstatus.utils.LMP_METHOD_NAMES
   gridstatus.utils.RED_X_HTML_ENTITY


Contents
~~~~~~~~~~~~~~~~~~~
.. py:data:: all_isos

   

.. py:function:: convert_bool_to_emoji(value)

   If value is boolean, convert to Green Checkmark or Red X. Otherwise, leave be.


.. py:function:: download_csvs_from_zip_url(url, process_csv=None, verbose=False)


.. py:function:: filter_lmp_locations(df, locations=None, location_type=None)

   Filters DataFrame by locations, which can be a list, "ALL" or None

   :param df: DataFrame to filter
   :type df: pandas.DataFrame
   :param locations: "ALL" or list of locations to filter "Location" column by


.. py:function:: format_interconnection_df(queue, rename, extra=None, missing=None)

   Format interconnection queue data


.. py:function:: get_interconnection_queues()

   Get interconnection queue data for all ISOs


.. py:function:: get_iso(iso_id)

   Get an ISO by its id


.. py:function:: get_response_blob(resp: requests.Response) -> io.BytesIO


.. py:function:: get_zip_file(url, verbose=False)


.. py:function:: get_zip_folder(url, verbose=False)


.. py:data:: GREEN_CHECKMARK_HTML_ENTITY
   :value: '&#x2705;'

   

.. py:function:: is_dst_end(date)


.. py:function:: is_today(date, tz)


.. py:function:: is_within_last_days(date, days, tz)

   Returns whether date is within N days


.. py:function:: list_isos()

   List available ISOs


.. py:data:: LMP_METHOD_NAMES
   :value: ['get_lmp', 'get_spp']

   

.. py:function:: load_folder(path, time_zone=None, verbose=True)

   Load a single DataFrame for same schema csv files in a folder

   :param path: path to folder
   :type path: str
   :param time_zone: time zone to localize to timestamps.
                     By default returns as UTC
   :type time_zone: str
   :param verbose: print verbose output. Defaults to True.
   :type verbose: bool, optional

   :returns: A DataFrame of all files
   :rtype: pandas.DataFrame


.. py:function:: make_availability_df()


.. py:function:: make_availability_table()


.. py:function:: make_lmp_availability_df()


.. py:function:: make_lmp_availability_table()


.. py:function:: move_cols_to_front(df, cols_to_move)

   Move columns to front of DataFrame


.. py:data:: RED_X_HTML_ENTITY
   :value: '&#10060;'

   

