E3SM-Project / E3SM-Project/zstash

[Feature]: Further improve Globus integration via `globus_sdk.UserApp`

Open
#413 0 comments 0 reactions 0 assignees View on GitHub
Globus semver: small improvement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.