Skip to main content

wrapper over kavahq.com API

Project description

Installation

pip install kavahq-api

Usage

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:
dict(first_project_api)

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

dict(api.kavauser['akhavr'])
# {u'username': u'akhavr', u'is_active': True, ...}

dict(kava_project_api.estimate)
# {u'avg_time_per_cp': u'2.1'...}
kava_project_api.properties['owner']
# u'akhavr'

# as you can see api calls can be "chained":
api.projects.estimate  # ApiObject for /api/project/estimate
api.projects.properties  # 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')
dict(api.projects.get('kavyarnya').estimate)

Running tests

python setup.py nosetests

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

kavahq-api-0.2.13.tar.gz (5.6 kB view details)

Uploaded Source

File details

Details for the file kavahq-api-0.2.13.tar.gz.

File metadata

  • Download URL: kavahq-api-0.2.13.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kavahq-api-0.2.13.tar.gz
Algorithm Hash digest
SHA256 174e75d23da54d06adc6ce0bb42c45a719c00e05c485f3735c2d9ca456b522fd
MD5 9554ccbe2bd8248a572c7072a804f535
BLAKE2b-256 5ebbf636ceaab8d641fce98e7d12c529788caf8c71c35039f0f85c0fb1daf654

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page