Skip to main content

wrapper over API

Project description


import kavahq
import keyring
import getpass

SERVICE = 'kavahq-api'
username = 'imposeren'
password = keyring.get_password(SERVICE, username)
if password is None:
    password = getpass.getpass()
    keyring.set_password(SERVICE, username, password)

api = kavahq.KavaApi(username=username, password=password, company_name='42 Coffee Cups')

# almost all attributes of Api return instances of ApiObject which do not query results until they are required:
projects_api = api.projects  # no requests made
first_project_api = projects_api.children[0]  # project list api called but project details are not
first_project_estimate_api = first_project_api.estimate  # zero apis called
first_project_api.estimate['avg_time_per_cp']  # estimates api called and result is returned

# you can also get all results of api as a dict:

# you can also get specific project api by it's slug:
kava_project_api = api.projects.get('kavyarnya')
# {u'days_num_bugs_showing': X, ...}

# {u'avg_time_per_cp': u'2.1'...}['owner']
# u'akhavr'

# as you can see api calls can be "chained":
api.projects.estimate  # ApiObject for /api/project/estimate  # ApiObject for /api/project/properties

# but some attributes of ApiObject "break chaining":
api.projects.children[0].estimate.response  # returns dict with response from API
api.projects.get  # method to get projects by slug, (see examples above)
api.projects.keys()  # will return keys of response dict

# alternate way to call specific api:
dict(api.projects.estimate.get(project='kavyarnya', company='42 Coffee Cups'))
# this is equivivalent to:
api.company_name = '42 Coffee Cups')

Running tests

python nosetests

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kavahq-api, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size kavahq-api-0.1.0.linux-x86_64.tar.gz (8.1 kB) File type Dumb Binary Python version any Upload date Hashes View
Filename, size kavahq-api-0.1.0.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page