Skip to main content

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

Metadata

Release files for kavahq-api 0.2.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kavahq-api 0.2.13
File Size Uploaded Provenance
kavahq-api-0.2.13.tar.gz 5.6 kB Without provenance Details

Release files / kavahq-api-0.2.13.tar.gz

Download URL kavahq-api-0.2.13.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
174e75d23da54d06adc6ce0bb42c45a719c00e05c485f3735c2d9ca456b522fd
BLAKE2b-256 checksum
How to use checksums
5ebbf636ceaab8d641fce98e7d12c529788caf8c71c35039f0f85c0fb1daf654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for kavahq-api 0.2.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page