This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
timetric /
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
LICENSE | ||
| |
MANIFEST.in | ||
| |
README | ||
| |
ez_setup.py | Tue Mar 10 10:58:11 -0700 2009 | |
| |
setup.py | ||
| |
test.py | ||
| |
timetric/ |
README
Python Timetric client ====================== 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()








