Metadata-Version: 2.1
Name: sustainalytics
Version: 0.0.3
Summary: This is a package that helps clients access and QA sustainalytics data
Home-page: https://github.com/Kienka/sustainalytics
Author: Kienka Cromwell Kio
Author-email: kienka.kio@sustainalytics.com
License: UNKNOWN
Description: 
        ### Introduction
        
        This python package provides access to Sustainalytics API (Application Programming Interface) service which provides developers with 24x7 programmatic access to Sustainalyticsâ€™ data. The API has been developed based on market standards with a primary focus on secure connectivity and ease of use. It allows users to retrieve and integrate Sustainalytics data into their own internal systems and custom or third-party applications
        
        This document is meant to provide developers sample code with python about Sustainalyticsâ€™ API service.
        Technical documentation can also be found on the dedicated [website](https://api.sustainalytics.com/swagger/ui/index/index.html) for the API.
        
        ![Figure1](Markdown/Figure1.png "Figure 1 - API Service Diagram")
        
        #### Installation
        <p>Install the package via pip with code below:</p>
        <pre><code> <b> > pip install sustainalytics</b></code></pre>
        To Upgrade
        <pre><code> <b> > pip install --upgrade sustainalytics</b></code></pre>
        
        #### Connection
        To access the API a clientid and a secret key must be provided by the Sustainalytics Team.
        See connection via python
        
        
        ```python
        from sustainalytics.api import API
        
        #Access
        client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        client_secret_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        
        api = API(client_id,client_secret_key)
        
        #To verify print token or access headers
        print(api.access_headers)
        ```
        
        ### Endpoints
        
        #### Get Product Structure & Definitions
        
        Each product is built from __data packages__ and each data package is built from __field clusters__. The __datafields__ are the smallest components of the product structure. 
        
        The Product Structure service provides an overview  of the data fields available in the  Sustainalytics API and the unique __FieldIds__ linked to each of these data fields. Within this service there are three endpoints, as described below.
        
        ![Figure2](Markdown/Figure2.png "Figure 2 â€“ Swagger page")
        
        The code below shows you how to extract data from these endpoints
        
        
        ```python
        #### FieldDefinitions
        field_definitions = api.get_fieldDefinitions(dtype='dataframe') #by default dtype='json'
        print(field_definitions)
        
        #### FieldMappings
        field_mappings = api.get_fieldMappings(dtype='dataframe') #by default dtype='json'
        print(field_mappings)
        
        #### FieldMappingDefinitions
        field_mapping_definition = api.get_fieldMappingDefinition(dtype='dataframe') #by default dtype='json'
        print(field_mapping_definition)
        ```
        
        ####  Get Reports
        
        The ReportService endpoint allows users to retrieve a list of all available PDF report types by ReportId, ReportType, and ReportName for companies belonging to the universe of access.
        
        ![Figure3](Markdown/Figure3.png "Figure 3 â€“ Swagger page")
        
        The code below shows you how to extract data from these endpoints
        
        
        ```python
        ####ReportService
        #gives all the available report fieldIDs (reportids)
        report_info = api.get_pdfReportInfo(dtype='dataframe') #by default dtype='json'
        print(report_info)
        
        ####ReportService(identifier)(reportid)
        #replace x with any EntityId (or another security identifier) and y with any reportid. 
        #Multiple values for identifiers and reportids can also be used
        #returns the url to given pdf report for specified companies (if available)
        
        report_identifier_reportid = api.get_pdfReportUrl(identifier='x', reportId='y') 
        print(report_identifier_reportid)
        ```
        
        ####  Universe of Access
        
        The UniverseOfAccess endpoint allows users to determine thelist ofEntityIds contained inthe universe of access (all permissioned securities lists).
        
        ![Figure4](Markdown/Figure4.png "Figure 4 â€“ Swagger page")
        
        
        ```python
        ####UniverseofAccess
        universe = api.get_universe_access(dtype='dataframe') #by default dtype='json'
        #gets all universe constituents
        print(universe)
        ```
        
        
        ```python
        #UniverseOfAcesss EntityIds
        entityIds = api.get_universe_entityIds(keep_duplicates=True)
        ```
        
        #### Get Sustainalytics data
        
        The DataService enables the user to call the research data associated with the companies in the universe of access. Within this service there are two endpoints, as described below.
        
        ![Figure5](Markdown/Figure5.png "Figure 5 â€“ Swagger page")
        
        The code below shows you how to extract data from these endpoints
        
        #### GetData
        Retrieves data from the Data Service endpoint by passing the following paramenters below.<br>
        <strong>You can only combine identifiers argument with ONE of the the other arguments </strong>
        
        * identifiers : A list of security or entity identifiers separated by comma.You can obtain list of EntityIds from the <strong>api.get_universe_entityIds(keep_duplicates=True)</strong>
        * productIds : A list of product ids separated by comma.You can obtain list of ProductIds from the <strong>api.get_productIds()</strong>
        * packageIds : A list of package ids separated by comma.You can obtain list of PackageIds from the <strong>api.get_packageIds()</strong>
        * fieldClusterIds : A list of field cluster ids separated by comma.You can obtain list of FieldClusterIds from the <strong>api.get_fieldClusterIds()</strong>
        * fieldIds : A list of field ids separated by comma.You can obtain list of FieldIds from the <strong>api.get_fieldIds()</strong>
        
        
        ```python
        # a = identifierlist, b = productIdlist , c = packageIdList, d = fieldClusterList, fieldIdList
        data = api.get_data(identifiers='a', productIds='b', packageIds='c', fieldClusterIds='d', fieldIds='e')
        print(data)
        ```
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
