/holistics-python

Python library for Holistics (using Holistics API)

Primary LanguagePythonMIT LicenseMIT

Python Library for Holistics API

Our package (Holistics Package for Python) allow Python's user export report's data by inputting:

  • Your API-key
  • Report's ID
  • Dictionary of filters applied to that report

Installation

Package can be installed with pip:

pip install holistics

Alternatively, you can grab the latest source code from GitHub:

git clone git://github.com/holistics/holistics-python.git
cd holistics-python
python setup.py install

How to export data

Beginning by import holistics package

from holistics import HolisticsAPI

Next, creating an object of HolisticsAPI class with your API-key and Holistics server's url

obj = HolisticsAPI(api_key = 'aerg454hoiaKJGlgku', url = 'demo.holistics.io')

Args:

Finally, call export_data function with specific syntax:

export_data (report_id, path, filter_dict, _page_size, _page)

For example:

my_dataframe = obj.export_data(report_id='123456', path='C:/output.csv', 
                              filter_dict={'date': '2017-04-28', 'vat': 1.1}, 
                              _page_size = 12, _page = 5)

Args:

  • report_id (str): ID of report. Get from URL.
  • path (str) (optional): If you want to store export data to local path, set path variable.
    • Default value: None
    • E.g: 'D:/Data/output.csv'
  • filter_dict (dict) (optional): dictionary of filters that would be applied to report.
    • Default value: None
    • E.g.: {'tenant': 'holistics', 'date': '2017-04-28'}
  • _page_size (int) (optional): Set the page size of the response.
    • Default value: 10000000
  • _page (int) (optional): Set the page number of data to fetch.
    • Default value: 10000000

Return:

A DataFrame object. If path is not None, save object as .csv file at that path.

Raises:

  • HTTPError: Happen when the program cannot connect to target site and get data.
    • You should check your API key or Holistics's URL or the Internet connection.
  • RuntimeError: If returned status is Failure.
    • It could be caused by wrong SQL of your QueryReport.
  • ParserError: If program failed to parse downloaded data as DataFrame object.
    • It could be caused when downloaded data is None.