E3SM-Project / E3SM-Project/zstash
[Feature]: Further improve Globus integration via `globus_sdk.UserApp`
- Dominant language
- Python
- Stars
- 11
- Forks
- 10
- Avg merge
- 14h 18m
- Merged PRs (30d)
- 1
Description
### How will this affect the next version number?
Small improvement (increment PATCH version)
### Is your feature request related to a problem?
There have been several Globus authentication/integration issues to resolve. Some of these have fixes already, but in any case, `zstash` could benefit from improved Globus integration.
| Issue | Fix |
| --- | --- |
| Token timeout (step 6 from the list in #339) | #407 (potentially _already_ fixed on `main` via #380 & #397) |
| Tar files not deleting when `--non-blocking` is set: #374 | #405 (+ the test in #404) |
| `update` too slow for HR: #409 | #411 (closed), #412 |
| `check` too slow for HR: #410 | #411 (closed), #412 |
| Better handle token file (i.e., store multiple tokens, allow user to specify a token file): #398 | #408 |
| Support Globus 4.0: #395 | #406 |
Note: #409/#410 aren't actually Globus-specific.
### Describe the solution you'd like
@NickolausDS suggested using `globus_sdk.UserApp`. For example:
```
with globus_sdk.UserApp(
"detect-data-access-example", client_id=NATIVE_CLIENT_ID
) as app:
# Handles saving/loading tokens
transfer_client = globus_sdk.TransferClient(app=app)
```
It would also be useful to review https://globus-sdk-python.readthedocs.io/en/stable/user_guide/usage_patterns/data_transfer/detecting_data_access/index.html.
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
No repository files or tests are named. Start by locating the current Globus authentication and transfer-client entry points, then read the globus_sdk.UserApp example and linked data-transfer guide. Done means the integration uses the requested UserApp behavior while preserving the listed authentication, token-file, deletion, and transfer workflows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authentication, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100