A Python library to access your sharesight portfolio information
Project description
Sharesight API
API to interface with Sharesight's v2 API
- Currently only supports push requests
- Currently only supports as single portfolio request per instance called
How to use
See the pytest.py file for an example
This whole thing is designed to be asynchronous
Added support for refresh token, no need to feed in clientID, clientSecret or authCode if token file exists
How to install
Do pip install SharesightAPI
How to get API token
Read here
Input/Output
To start, call and assign (like this)
sharesight = SharesightAPI.SharesightAPI(client_id, client_secret, authorization_code, redirect_uri, token_url, api_url_base, token_file, True)
Sharesight has some recommendations for defaults as seen here:
- redirect_uri = 'urn:ietf:wg:oauth:2.0:oob'
- token_url = 'https://api.sharesight.com/oauth2/token'
- api_url_base = 'https://api.sharesight.com/api/v2/'
I have assumed some things (if left blank):
- token_file = 'sharesight_token.txt'
- debugging = False
Setting token_file to be 'HA.txt' will append the client ID to sharesight_token. eg: sharesight_token_4123213214123.txt
Then; to get the existing data contained within the token file (optional), run this to get the values and store it within the constructor:
await sharesight.get_token_data()
To check the currently loaded token, run the .validate_token() call, if it will return if the token has passed, failed and why. and will store the token in a .txt file
This returns the current access_token, which can be passed in to use in API calls
access_token = await sharesight.validate_token()
To make an API call (get): call .get_api_request(endpoint, endpoint_list_version), making the endpoint being what part you want to call and the endpoint_list_version being ("v2" or "v3"). It will return a dictionary with the response. You are able to parse through the access_token, otherwise it will default to the current access token in the constructor
example: await sharesight.get_api_request("portfolios", "v2")
or
example: await sharesight.get_api_request("portfolios", "v2", access_token)
To make an API call (post): call .post_api_request, with the addition of parsing in a payload JSON to post
example: await sharesight.post_api_request("portfolios", "v2", "{ "portfolio": { "name": "My new Portfolio"}}")
you can see a full list of v2 endpoints here, and v3 endpoints here (including examples)
Call delete_token()
to remove the Token file from the instance (will cause a new auth_code to be needed)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for SharesightAPI-1.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9886e5e274ec34c70f6c469097ceed62cea43fa857c353d9102d783ade5d010 |
|
MD5 | 11b6b6e70b66faa334598c609b493fb1 |
|
BLAKE2b-256 | a55acfb8d92845a5f630d4daffa26844f96650c4c8bef1a37042de68225a8fd3 |