Client library for Timetric (http://timetric.com/)
Project description
A client for Timetric (http://timetric.com).
Requirements (easy-installable, listed as prereqs in setup.py):
httplib2
python-dateutil
simplejson
Optionally, if you want to use OAuth authentication:
oauth
This is not listed as a prereq, so it won’t be installed by default.
Authentication setup
You’ll provide authentication information to the TimetricClient in a config dict. Timetric supports two types of authentication: OAuth and API tokens. You can choose a method using the 'authtype' key to the config dict. The value of this key can be 'oauth' or 'apitoken'; if not given it defaults to 'oauth'.
If an API token is being used, there must be keys for:
‘apitoken_key’
‘apitoken_secret’
If OAuth is being used, there must also be keys for:
‘consumer_key’
‘consumer_secret’
and if you have already done the necessary key exchange, then this can also contain:
‘access_key’
‘access_token’
OAuth setup
The first time you use the OAuth protocol, you’ll need to do some key exchange with Timetric to set up your tokens.
>>> import timetric# You need a config dict with at minimum your secret and key from Timetric # (see the “Applications” pane of the settings page). In a real app you’ll # want to make this config persistant (the shelve module is a lightweight # place to start) because the library will store OAuth authentication # information back to this config. >>> conf = {‘authtype’:’oauth’, … ‘consumer_key: ‘XXX’, … ‘consumer_secret’: ‘XXX’} >>> client = timetric.TimetricClient(conf)
# The first time through you’ll need to authorize your key with Timetric # by sending the user to an authorization request page. >> token = client.get_request_token() >>> import webbrowser >>> webbrowser.open(client.get_authorize_url(token))
# Once the user has authorized at that page, you can continue. >>> access_token = client.get_access_token(token)
# You can now re-authorize to use this token: >>> conf.update({‘oauth_key’:access_token.key, … ‘oauth_secret’:access_token.secret}) >>> client = timetric.TimetricClient(conf)
API token setup
>>> import timetric# Having got your config dict from somewhere: >>> conf = {‘authtype’:’apitoken’, … ‘apitoken_key’: ‘XXX’, .. ‘apitoken-secret’: ‘XXX’}
# you initialize the timetric client: >>> client = timetric.TimetricClient(conf)
Usage
# There's no API method to get a list of a particular # user's series, so you need to somehow "know" the series ID. >>> series = client.series('p-DpewL0TO-iBE4nMBCTsQ') # Get the latest value >>> series.latest() (1236707269.0, 2.0) # Iterate over the whole dataset >>> for (timestamp, value) in series: ... print timestamp, value 1236463646.39 3.0 1236486562.94 5.0 1236493503.37 6.0 # Update given a single value >>> series.update(14) # Update given an iterable of (time, value) pairs >>> import time >>> data = [(time.time() - 100, 11), (time.time() + 100, 15)] >>> series.update(data) # Update given a file of CSV data >>> series.update(open('/tmp/data.csv')) # Clear all the data out of the series >>> series.delete()
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
File details
Details for the file timetric-1.3.tar.gz
.
File metadata
- Download URL: timetric-1.3.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52aff270fa4177c6e3860eebfe1328c30182a641391108252ab36290808aa6f4 |
|
MD5 | d09c3a5b14d4962eaac60a136b6b3765 |
|
BLAKE2b-256 | e4bda833511bffa32e14f5291e33cf50778ce5468225cc5b7fe249180d1ebcd4 |