:py:mod:`SBTi.data` =================== .. py:module:: SBTi.data .. autoapi-nested-parse:: This module contains classes that create connections to data providers. Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 bloomberg/index.rst cdp/index.rst csv/index.rst data_provider/index.rst excel/index.rst iss/index.rst msci/index.rst sbti/index.rst trucost/index.rst urgentem/index.rst Package Contents ---------------- Classes ~~~~~~~ .. autoapisummary:: SBTi.data.DataProvider SBTi.data.CSVProvider SBTi.data.ExcelProvider SBTi.data.Bloomberg SBTi.data.CDP SBTi.data.ISS SBTi.data.Trucost SBTi.data.Urgentem .. py:class:: DataProvider(**kwargs) Bases: :py:obj:`abc.ABC` General data provider super class. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: CSVProvider(path: str, path_targets: str, encoding: str = 'utf-8') Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for CSV files. This class serves primarily for testing purposes only! :param config: A dictionary containing a "path" field that leads to the path of the CSV file .. py:method:: get_targets(self, company_ids: list) -> List[SBTi.interfaces.IDataProviderTarget] Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: _target_df_to_model(self, df_targets) transforms target Dataframe into list of IDataProviderTarget instances :param df_targets: pandas Dataframe with targets :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: list) -> List[SBTi.interfaces.IDataProviderCompany] Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: ExcelProvider(path: str, config: Type[SBTi.configs.ColumnsConfig] = ColumnsConfig) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for CSV files. This class serves primarily for testing purposes only! :param config: A dictionary containing a "path" field that leads to the path of the CSV file .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: _target_df_to_model(self, df_targets) transforms target Dataframe into list of IDataProviderTarget instances :param df_targets: pandas Dataframe with targets :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: Bloomberg(**kwargs) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for Bloomberg. .. py:method:: _request(self, endpoint: str, data: dict) -> Optional[object] Request data from the server. Note: This request does in no way reflect the actual implementation, this is only a stub to show what a potential API request COULD look like. :param endpoint: The endpoint of the API :param data: The data to send as a body :return: The returned data, None in case of an error. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: CDP(**kwargs) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for CDP. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: ISS(**kwargs) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for ISS. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: Trucost(**kwargs) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for Trucost. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :param companies: A list of companies. Each company should be a dict with a "company_name" and "company_id" field. :return: The original list, enriched with a field called "sbti_target_status" .. py:class:: Urgentem(**kwargs) Bases: :py:obj:`SBTi.data.data_provider.DataProvider` Data provider skeleton for Urgentem. .. py:method:: get_targets(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderTarget] :abstractmethod: Get all relevant targets for a list of company ids (ISIN). This method should return a list of IDataProviderTarget instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the targets .. py:method:: get_company_data(self, company_ids: List[str]) -> List[SBTi.interfaces.IDataProviderCompany] :abstractmethod: Get all relevant data for a list of company ids (ISIN). This method should return a list of IDataProviderCompany instances. :param company_ids: A list of company IDs (ISINs) :return: A list containing the company data .. py:method:: get_sbti_targets(self, companies: list) -> list :abstractmethod: For each of the companies, get the status of their target (Target set, Committed or No target) as it's known to the SBTi. :return: The original list, enriched with a field called "sbti_target_status"