box / box/box-python-sdk

Report helpful error message for missing "jwt" dependency

Open
#526 5 comments 5 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.