Report helpful error message for missing "jwt" dependency
- Dominant language
- Python
- Stars
- 459
- Forks
- 223
- Avg merge
- 8h 57m
- Merged PRs (30d)
- 13
Description
### Is your feature request related to a problem? Please describe.
As is known from closed issue (https://github.com/box/box-python-sdk/issues/387) if you don't `pip install "boxsdk[jwt]"`, and use the JWT authorization, you get a somewhat confusing message:
```
File "/Users/first.last/workspace/repo_name/box/../lib/box.py", line 70, in get_jwt_client
auth = boxsdk.JWTAuth.from_settings_file(load_config(self.app_name))
AttributeError: 'NoneType' object has no attribute 'from_settings_file'
```
### Describe the solution you'd like
Return an error message instead that at least suggests "Did you try pip install boxsdk[jwt]?" when JWTAuth isn't going to work.
### Additional context
Using sdk version `boxsdk 2.9.0`
Contributor guide
Research direction
Start by tracing the JWTAuth.from_settings_file call shown in the report and inspect how the optional jwt dependency is loaded. Reproduce the missing-dependency case without installing boxsdk[jwt], then make the failure suggest pip install boxsdk[jwt] and verify that the existing JWT path still works when the dependency is installed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authentication
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100