Exist API client implementation
Project description
python-exist
Exist API Python Client Implementation
Requirements
Python >= 2.6, Python >= 3.2, or PyPy. You can download it from https://www.python.org/
Pip. If you have Python >= 2.7.9 or >= 3.4 then you already have pip. Otherwise, please follow these instructions : https://pip.pypa.io/en/latest/installing.html
Installing
Once you have satisfied the requirements listed above, install by running the following command from them terminal:
pip install exist
Quick Start
Install with pip install exist
python-exist can be used with one of three authorization types; basic, oauth, or an api_token
To use basic authorization and store the returned token, add your “username” and “password” in the following command:
exist authorize –username=<username> –password=<password>
If you already have a token, add it to the following command:
exist authorize –api_token=<token>
To use OAuth authorizations and store the returned token add your “App key”, “App secret” and “Redirect URL” (optional) in the following command (Note: this requires app to registered directly with Exist):
exist authorize –client_id=<app_key> –client_secret=<app_secret> –redirect_uri=<redirect_uri>
That will save the necessary credentials for making further API calls to a file called “exist.cfg”. These credentials should be kept private. You can use same the command-line client to access everything in the Exist API (http://developer.exist.io). You can also access the same resources using the Python API:
>>> from exist import Exist >>> exist = Exist(<client_id>, <client_secret>, <access_token>) >>> print(exist.user()) { "id": 1, "username": "josh", "first_name": "Josh", "last_name": "Sharp", "bio": "I made this thing you're using.", "url": "http://hellocode.co/", "avatar": "https://exist.io/static/media/avatars/josh_2.png", "timezone": "Australia/Melbourne", "local_time": "2020-07-31T22:33:49.359+10:00", "private": false, "imperial_units": false, "attributes": [ { "group": "steps", "priority": 1, "items": [ { "attribute": "steps", "label": "Steps", "value": 258, "service": "Fitbit", "priority": 1, "private": false, "value_type": 0, "value_type_description": "Integer" }, { "attribute": "floors", "label": "Floors", "value": 2, "service": "Fitbit", "priority": 2, "private": false, "value_type": 0, "value_type_description": "Integer" } ] } ] }
More commands are available as per the help section of the exist command from exist --help
Roadmap
Tests (next)
Write API connectivitiy (in progress)