{"id":24282,"library":"py-jama-rest-client","title":"py-jama-rest-client","description":"A Python client for the Jama Connect REST API. Current version 1.17.1. Released irregularly.","status":"active","version":"1.17.1","language":"python","source_language":"en","source_url":"https://github.com/JamaSoftware/py-jama-rest-client","tags":["jama","rest","api-client","test-management"],"install":[{"cmd":"pip install py-jama-rest-client","lang":"bash","label":"Default install"}],"dependencies":[{"reason":"HTTP requests","package":"requests","optional":false}],"imports":[{"note":"Client is located in jama.client module.","wrong":"import jama; client = jama.Client(...)","symbol":"Client","correct":"from jama.client import Client"},{"note":"For working with item types.","symbol":"AbstractItem","correct":"from jama.client import AbstractItem"},{"note":"Access constants like item types.","symbol":"constants","correct":"from jama import constants"}],"quickstart":{"code":"from jama.client import Client\n\nclient = Client(\n    base_url='https://myinstance.jamacloud.com',\n    username='user@domain.com',\n    password='password',\n    oauth=False\n)\nprojects = client.get_projects()\nprint(projects)","lang":"python","description":"Authenticate and list projects."},"warnings":[{"fix":"For OAuth: Client(base_url, oauth=True, access_token='...'). For basic auth: Client(base_url, username='...', password='...', oauth=False).","message":"The Client constructor expects password for basic auth; for oauth, pass oauth=True and use access_token parameter. Mixing these may cause silent auth failures.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Replace `from jama import JamaClient` with `from jama.client import Client`.","message":"In v1.0+, the old import path `from jama import JamaClient` is removed. Use `from jama.client import Client`.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Loop through pages using the 'links' key in response, e.g., while response.get('links', {}).get('next'): response = client.get(response['links']['next'])","message":"Methods may return paginated results. Forgetting to handle pagination can lead to incomplete data. Use `client.get(endpoint, params={'maxResults': ...})` and check for links.next.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `pip install py-jama-rest-client` and import as `from jama.client import Client`.","cause":"Package not installed or wrong import path.","error":"ModuleNotFoundError: No module named 'jama'"},{"fix":"Use `from jama.client import Client` instead.","cause":"Old import pattern used; JamaClient was removed in v1.0.","error":"AttributeError: module 'jama' has no attribute 'JamaClient'"},{"fix":"Client(base_url, oauth=True, access_token='...')","cause":"Using OAuth parameter without setting oauth=True.","error":"TypeError: __init__() got an unexpected keyword argument 'access_token'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}