{"id":21204,"library":"edx-rest-api-client","title":"edx-rest-api-client","description":"Client utilities for accessing various Open edX Platform REST APIs. Version 7.0.0 is the latest. Release cadence irregular, with major version bumps for Python/Django support.","status":"active","version":"7.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/edx-rest-api-client","tags":["edx","openedx","rest-api","client"],"install":[{"cmd":"pip install edx-rest-api-client","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client","package":"requests","optional":false},{"reason":"Used for auth and middleware","package":"django","optional":false}],"imports":[{"note":"Main client class.","symbol":"EdxRestApiClient","correct":"from edx_rest_api_client.client import EdxRestApiClient"},{"note":"OAuth2 authentication client.","symbol":"OAuth2Client","correct":"from edx_rest_api_client.auth import OAuth2Client"}],"quickstart":{"code":"from edx_rest_api_client.client import EdxRestApiClient\n\nclient = EdxRestApiClient(\n    url='https://api.example.com',\n    jwt='your-jwt-token'\n)\nresponse = client.courses.get()\nprint(response)","lang":"python","description":"Initialize the client with a JWT token and make a simple API call."},"warnings":[{"fix":"Consider migrating to plain `requests` calls with OAuth2 or JWT.","message":"In v6.0.0, the `EdxRestApiClient` class was deprecated in favor of using requests directly. The client still works but is no longer maintained.","severity":"breaking","affected_versions":">=6.0.0, <7.0.0"},{"fix":"Set `DJANGO_SETTINGS_MODULE` environment variable or configure Django settings early.","message":"Client depends on Django settings for OAuth2 authentication. Ensure `django.conf.settings` is configured before importing `OAuth2Client`.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use: from edx_rest_api_client.client import EdxRestApiClient","cause":"Incorrect import path after version 6.0.0 restructure.","error":"ImportError: cannot import name 'EdxRestApiClient'"},{"fix":"Use: from edx_rest_api_client.client import EdxRestApiClient","cause":"Trying to import from package root instead of submodule.","error":"AttributeError: module 'edx_rest_api_client' has no attribute 'EdxRestApiClient'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}