globus-cli 3.28.3__tar.gz → 3.29.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {globus_cli-3.28.3/src/globus_cli.egg-info → globus_cli-3.29.0}/PKG-INFO +2 -3
- {globus_cli-3.28.3 → globus_cli-3.29.0}/pyproject.toml +1 -5
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/list.py +20 -2
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/activate.py +6 -55
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/login.py +3 -1
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/command_state.py +56 -37
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/json_strorfile.py +10 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shared_options/__init__.py +2 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/transfer/__init__.py +0 -2
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/transfer/activation.py +13 -20
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/transfer/client.py +8 -3
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/version.py +1 -1
- {globus_cli-3.28.3 → globus_cli-3.29.0/src/globus_cli.egg-info}/PKG-INFO +2 -3
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli.egg-info/SOURCES.txt +0 -1
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli.egg-info/requires.txt +1 -2
- globus_cli-3.28.3/src/globus_cli/services/transfer/delegate_proxy.py +0 -245
- {globus_cli-3.28.3 → globus_cli-3.29.0}/LICENSE +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/README.rst +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/setup.cfg +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/setup.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/__main__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/_warnings.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/api.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/rename.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/bookmark/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/cli_profile_list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/create/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/create/guest.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/create/mapped.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/collection/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/deactivate.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/is_activated.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/local_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/permission/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/role/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/search.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/add.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/server/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/set_subscription_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/storage_gateway/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/storage_gateway/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/create/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/create/from_json.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/create/posix.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/create/s3.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/update/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/endpoint/user_credential/update/from_json.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/cancel.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/resume.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/show_definition.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/show_logs.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/run/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/start.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/flows/validate.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/create/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/create/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/create/guest.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/create/mapped.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/set_subscription_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/update/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/update/guest.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcp/update/mapped.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/role/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/set_subscription_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/gcs/endpoint/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/get_identities.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/get_by_subscription.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/get_subscription_info.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/invite/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/invite/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/invite/accept.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/invite/decline.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/join.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/leave.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/add.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/approve.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/invite.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/reject.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/member/remove.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/set_policies.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/group/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/list_commands.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/logout.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/ls.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/mkdir.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/rename.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/rm.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/delete_by_query.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/role/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/role/create.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/role/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/role/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/index/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/ingest.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/query.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/subject/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/subject/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/subject/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/task/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/task/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/search/task/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/session/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/session/consent.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/session/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/session/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/stat.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/cancel.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/event_list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/generate_submission_id.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/pause_info.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/task/wait.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/_common.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/create/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/create/transfer.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/delete.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/list.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/pause.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/resume.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/timer/show.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/transfer.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/update.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/version.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/commands/whoami.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/constants.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/endpointish/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/endpointish/endpointish.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/endpointish/entity_type.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/endpointish/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/exception_handling/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/exception_handling/hooks.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/exception_handling/registry.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/globus_cli_flake8.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/_old_config.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/auth_flows.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/client_login.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/context.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/local_server.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/manager.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/scopes.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/tokenstore.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/login_manager/utils.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/commands.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/mutex_group.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_classes.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/delimited.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/endpoint_plus_path.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/identity_type.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/location.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/notify_param.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/nullable.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/task_path.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/timedelta.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shared_callbacks.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shared_options/endpointish.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shared_options/id_args.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shared_options/transfer_task_options.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/shell_completion.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/reflect.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/auth.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/gcs.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/transfer/data.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/services/transfer/recursive_ls.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/awscli_text.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/context.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/errors.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/field.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/formatters/__init__.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/formatters/auth.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/formatters/base.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/formatters/compound.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/formatters/primitive.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/printer.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/termio/server_timing.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/types.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/utils.py +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli.egg-info/dependency_links.txt +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli.egg-info/entry_points.txt +0 -0
- {globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: globus-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.29.0
|
|
4
4
|
Summary: Globus CLI
|
|
5
5
|
Author-email: Stephen Rosen <sirosen@globus.org>
|
|
6
6
|
Project-URL: homepage, https://github.com/globus/globus-cli
|
|
@@ -24,14 +24,13 @@ Requires-Dist: jmespath==1.0.1
|
|
|
24
24
|
Requires-Dist: packaging>=17.0
|
|
25
25
|
Requires-Dist: typing_extensions>=4.0; python_version < "3.11"
|
|
26
26
|
Requires-Dist: requests<3.0.0,>=2.19.1
|
|
27
|
-
Requires-Dist: cryptography>=3.3.1
|
|
28
27
|
Provides-Extra: test
|
|
29
28
|
Requires-Dist: coverage>=7; extra == "test"
|
|
30
29
|
Requires-Dist: pytest>=7; extra == "test"
|
|
31
30
|
Requires-Dist: pytest-xdist<4; extra == "test"
|
|
32
31
|
Requires-Dist: pytest-timeout<3; extra == "test"
|
|
33
32
|
Requires-Dist: click-type-test==0.0.7; python_version >= "3.10" and extra == "test"
|
|
34
|
-
Requires-Dist: responses==0.25.
|
|
33
|
+
Requires-Dist: responses==0.25.3; extra == "test"
|
|
35
34
|
Requires-Dist: ruamel.yaml==0.18.6; extra == "test"
|
|
36
35
|
Requires-Dist: setuptools; python_version >= "3.12" and extra == "test"
|
|
37
36
|
|
|
@@ -36,7 +36,6 @@ dependencies = [
|
|
|
36
36
|
# these are dependencies of the SDK, but they are used directly in the CLI
|
|
37
37
|
# declare them here in case the underlying lib ever changes
|
|
38
38
|
"requests>=2.19.1,<3.0.0",
|
|
39
|
-
"cryptography>=3.3.1",
|
|
40
39
|
]
|
|
41
40
|
dynamic = ["version"]
|
|
42
41
|
|
|
@@ -50,7 +49,7 @@ test = [
|
|
|
50
49
|
"pytest-xdist<4",
|
|
51
50
|
"pytest-timeout<3",
|
|
52
51
|
"click-type-test==0.0.7;python_version>='3.10'",
|
|
53
|
-
"responses==0.25.
|
|
52
|
+
"responses==0.25.3",
|
|
54
53
|
# loading test fixture data
|
|
55
54
|
"ruamel.yaml==0.18.6",
|
|
56
55
|
# Python 3.12 needs setuptools.
|
|
@@ -114,9 +113,6 @@ disallow_untyped_defs = false
|
|
|
114
113
|
disallow_incomplete_defs = false
|
|
115
114
|
module = [
|
|
116
115
|
"globus_cli.services.gcs",
|
|
117
|
-
"globus_cli.services.transfer.activation",
|
|
118
|
-
"globus_cli.services.transfer.client",
|
|
119
|
-
"globus_cli.services.transfer.delegate_proxy",
|
|
120
116
|
"globus_cli.services.transfer.recursive_ls",
|
|
121
117
|
"globus_cli.termio",
|
|
122
118
|
"globus_cli.termio.printer",
|
|
@@ -4,10 +4,12 @@ import typing as t
|
|
|
4
4
|
import uuid
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
|
+
from globus_sdk.paging import Paginator
|
|
7
8
|
|
|
8
9
|
from globus_cli.login_manager import LoginManager
|
|
9
10
|
from globus_cli.parsing import command, endpoint_id_arg
|
|
10
11
|
from globus_cli.termio import Field, display, formatters
|
|
12
|
+
from globus_cli.utils import PagingWrapper
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
class ChoiceSlugified(click.Choice):
|
|
@@ -82,6 +84,14 @@ created-by-me:
|
|
|
82
84
|
"the ID of the Mapped Collection"
|
|
83
85
|
),
|
|
84
86
|
)
|
|
87
|
+
@click.option(
|
|
88
|
+
"--limit",
|
|
89
|
+
default=25,
|
|
90
|
+
show_default=True,
|
|
91
|
+
metavar="N",
|
|
92
|
+
type=click.IntRange(1),
|
|
93
|
+
help="The maximum number of results to return.",
|
|
94
|
+
)
|
|
85
95
|
@LoginManager.requires_login("auth", "transfer")
|
|
86
96
|
def collection_list(
|
|
87
97
|
login_manager: LoginManager,
|
|
@@ -95,6 +105,7 @@ def collection_list(
|
|
|
95
105
|
...,
|
|
96
106
|
],
|
|
97
107
|
mapped_collection_id: uuid.UUID | None,
|
|
108
|
+
limit: int,
|
|
98
109
|
) -> None:
|
|
99
110
|
"""
|
|
100
111
|
List the Collections on a given Globus Connect Server v5 Endpoint
|
|
@@ -109,9 +120,15 @@ def collection_list(
|
|
|
109
120
|
params["filter"] = ",".join(filters)
|
|
110
121
|
if include_private_policies:
|
|
111
122
|
params["include"] = "private_policies"
|
|
112
|
-
|
|
123
|
+
|
|
124
|
+
paginator = Paginator.wrap(gcs_client.get_collection_list)
|
|
125
|
+
paginated_call = paginator(**params)
|
|
126
|
+
paging_wrapper = PagingWrapper(
|
|
127
|
+
paginated_call.items(), json_conversion_key="DATA", limit=limit
|
|
128
|
+
)
|
|
129
|
+
|
|
113
130
|
display(
|
|
114
|
-
|
|
131
|
+
paging_wrapper,
|
|
115
132
|
text_mode=display.TABLE,
|
|
116
133
|
fields=[
|
|
117
134
|
Field("ID", "id"),
|
|
@@ -124,4 +141,5 @@ def collection_list(
|
|
|
124
141
|
Field("Collection Type", "collection_type"),
|
|
125
142
|
Field("Storage Gateway ID", "storage_gateway_id"),
|
|
126
143
|
],
|
|
144
|
+
json_converter=paging_wrapper.json_converter,
|
|
127
145
|
)
|
|
@@ -16,7 +16,7 @@ from globus_cli.termio import display
|
|
|
16
16
|
"--web",
|
|
17
17
|
is_flag=True,
|
|
18
18
|
default=False,
|
|
19
|
-
help="Use web activation. Mutually exclusive with --myproxy
|
|
19
|
+
help="Use web activation. Mutually exclusive with --myproxy.",
|
|
20
20
|
)
|
|
21
21
|
@click.option(
|
|
22
22
|
"--no-browser",
|
|
@@ -32,7 +32,7 @@ from globus_cli.termio import display
|
|
|
32
32
|
"--myproxy",
|
|
33
33
|
is_flag=True,
|
|
34
34
|
default=False,
|
|
35
|
-
help="Use myproxy activation. Mutually exclusive with --web
|
|
35
|
+
help="Use myproxy activation. Mutually exclusive with --web.",
|
|
36
36
|
)
|
|
37
37
|
@click.option(
|
|
38
38
|
"--myproxy-username",
|
|
@@ -50,24 +50,6 @@ from globus_cli.termio import display
|
|
|
50
50
|
"lifetime which it will use if this value is too high"
|
|
51
51
|
),
|
|
52
52
|
)
|
|
53
|
-
@click.option(
|
|
54
|
-
"--delegate-proxy",
|
|
55
|
-
metavar="X.509_PEM_FILE",
|
|
56
|
-
help=(
|
|
57
|
-
"Use delegate proxy activation, takes an X.509 "
|
|
58
|
-
"certificate in pem format as an argument. Mutually "
|
|
59
|
-
"exclusive with --web and --myproxy."
|
|
60
|
-
),
|
|
61
|
-
)
|
|
62
|
-
@click.option(
|
|
63
|
-
"--proxy-lifetime",
|
|
64
|
-
type=int,
|
|
65
|
-
default=None,
|
|
66
|
-
help=(
|
|
67
|
-
"Set a lifetime in hours for the proxy generated with "
|
|
68
|
-
"--delegate-proxy. [default: 12]"
|
|
69
|
-
),
|
|
70
|
-
)
|
|
71
53
|
@click.option(
|
|
72
54
|
"--no-autoactivate",
|
|
73
55
|
is_flag=True,
|
|
@@ -83,7 +65,7 @@ from globus_cli.termio import display
|
|
|
83
65
|
default=False,
|
|
84
66
|
help="Force activation even if endpoint is already activated.",
|
|
85
67
|
)
|
|
86
|
-
@mutex_option_group("--web", "--myproxy"
|
|
68
|
+
@mutex_option_group("--web", "--myproxy")
|
|
87
69
|
@LoginManager.requires_login("transfer")
|
|
88
70
|
def endpoint_activate(
|
|
89
71
|
login_manager: LoginManager,
|
|
@@ -95,15 +77,13 @@ def endpoint_activate(
|
|
|
95
77
|
myproxy_lifetime: int | None,
|
|
96
78
|
web: bool,
|
|
97
79
|
no_browser: bool,
|
|
98
|
-
delegate_proxy: str | None,
|
|
99
|
-
proxy_lifetime: int | None,
|
|
100
80
|
no_autoactivate: bool,
|
|
101
81
|
force: bool,
|
|
102
82
|
) -> None:
|
|
103
83
|
"""
|
|
104
84
|
Activate an endpoint using Autoactivation, Myproxy, Delegate Proxy,
|
|
105
85
|
or Web activation.
|
|
106
|
-
Note that --web
|
|
86
|
+
Note that --web and --myproxy activation are mutually
|
|
107
87
|
exclusive options.
|
|
108
88
|
|
|
109
89
|
\b
|
|
@@ -130,28 +110,13 @@ def endpoint_activate(
|
|
|
130
110
|
prompted to hide your inputs and keep your password out of your
|
|
131
111
|
command history, but you may pass your password with the hidden
|
|
132
112
|
--myproxy-password or -P options.
|
|
133
|
-
|
|
134
|
-
\b
|
|
135
|
-
To use Delegate Proxy activation use the --delegate-proxy option with a
|
|
136
|
-
file containing an X.509 certificate as an argument (e.g. an X.509
|
|
137
|
-
gotten from the myproxy-logon command). This certificate must
|
|
138
|
-
be a valid credential or proxy credential for the user from an identity
|
|
139
|
-
provider accepted by the endpoint being activated, and the endpoint must be
|
|
140
|
-
configured with a gridmap that will match the globus user using this
|
|
141
|
-
command with the local user the certificate was made to. Note if the X.509
|
|
142
|
-
is valid, but the endpoint does not recognize the identity provider or the
|
|
143
|
-
user the error will not be detected until the user attempts to perform an
|
|
144
|
-
operation on the endpoint.
|
|
145
113
|
"""
|
|
146
|
-
from globus_cli.services.transfer import
|
|
147
|
-
activation_requirements_help_text,
|
|
148
|
-
fill_delegate_proxy_activation_requirements,
|
|
149
|
-
)
|
|
114
|
+
from globus_cli.services.transfer import activation_requirements_help_text
|
|
150
115
|
|
|
151
116
|
transfer_client = login_manager.get_transfer_client()
|
|
152
117
|
|
|
153
118
|
# validate options
|
|
154
|
-
if no_autoactivate and not (myproxy or web
|
|
119
|
+
if no_autoactivate and not (myproxy or web):
|
|
155
120
|
raise click.UsageError(
|
|
156
121
|
"--no-autoactivate requires another activation method be given."
|
|
157
122
|
)
|
|
@@ -166,8 +131,6 @@ def endpoint_activate(
|
|
|
166
131
|
raise click.UsageError("--myproxy-lifetime requires --myproxy.")
|
|
167
132
|
if no_browser and not web:
|
|
168
133
|
raise click.UsageError("--no-browser requires --web.")
|
|
169
|
-
if proxy_lifetime and not delegate_proxy:
|
|
170
|
-
raise click.UsageError("--proxy-lifetime requires --delegate-proxy.")
|
|
171
134
|
|
|
172
135
|
# check if endpoint is already activated unless --force
|
|
173
136
|
if not force:
|
|
@@ -261,17 +224,5 @@ def endpoint_activate(
|
|
|
261
224
|
webbrowser.open(url, new=1)
|
|
262
225
|
res = {"message": "Browser opened to web activation page", "url": url}
|
|
263
226
|
|
|
264
|
-
# delegate proxy activation
|
|
265
|
-
elif delegate_proxy:
|
|
266
|
-
requirements_data = transfer_client.endpoint_get_activation_requirements(
|
|
267
|
-
endpoint_id
|
|
268
|
-
).data
|
|
269
|
-
filled_requirements_data = fill_delegate_proxy_activation_requirements(
|
|
270
|
-
requirements_data, delegate_proxy, lifetime_hours=proxy_lifetime or 12
|
|
271
|
-
)
|
|
272
|
-
res = transfer_client.endpoint_activate(
|
|
273
|
-
endpoint_id, requirements_data=filled_requirements_data
|
|
274
|
-
)
|
|
275
|
-
|
|
276
227
|
# output
|
|
277
228
|
display(res, text_mode=display.RAW, response_key="message")
|
|
@@ -10,6 +10,7 @@ from globus_sdk.services.flows import SpecificFlowClient
|
|
|
10
10
|
|
|
11
11
|
from globus_cli.login_manager import LoginManager, is_client_login
|
|
12
12
|
from globus_cli.parsing import command, no_local_server_option
|
|
13
|
+
from globus_cli.termio import verbosity
|
|
13
14
|
|
|
14
15
|
_SHARED_EPILOG = """\
|
|
15
16
|
|
|
@@ -184,7 +185,8 @@ def login_command(
|
|
|
184
185
|
|
|
185
186
|
# if not forcing, stop if user already logged in
|
|
186
187
|
if not force and manager.is_logged_in():
|
|
187
|
-
|
|
188
|
+
if verbosity() >= 0:
|
|
189
|
+
click.echo(_LOGGED_IN_RESPONSE)
|
|
188
190
|
return
|
|
189
191
|
|
|
190
192
|
manager.run_login_flow(
|
|
@@ -66,6 +66,35 @@ class CommandState:
|
|
|
66
66
|
def is_verbose(self) -> bool:
|
|
67
67
|
return self.verbosity > 0
|
|
68
68
|
|
|
69
|
+
def is_quiet(self) -> bool:
|
|
70
|
+
return self.verbosity < 0
|
|
71
|
+
|
|
72
|
+
def set_verbosity(self, value: int) -> None:
|
|
73
|
+
# short-circuit if verbosity is already below 0 -- this makes `--quiet` higher
|
|
74
|
+
# precedence than `--verbose` regardless of the order of application
|
|
75
|
+
if self.verbosity < 0:
|
|
76
|
+
return
|
|
77
|
+
|
|
78
|
+
self.verbosity = value
|
|
79
|
+
|
|
80
|
+
# min verbosity level: never warn, never log normal events
|
|
81
|
+
# (covers quiet modes, e.g. `--quiet`)
|
|
82
|
+
if value <= 0:
|
|
83
|
+
_warnings.simplefilter("ignore")
|
|
84
|
+
_setup_logging(level="CRITICAL")
|
|
85
|
+
# verbosity level 1: warn minimally, log errors
|
|
86
|
+
elif value == 1:
|
|
87
|
+
_warnings.simplefilter("once")
|
|
88
|
+
_setup_logging(level="ERROR")
|
|
89
|
+
# verbosity level 2: warn once per usage, log info
|
|
90
|
+
elif value == 2:
|
|
91
|
+
_warnings.simplefilter("default")
|
|
92
|
+
_setup_logging(level="INFO")
|
|
93
|
+
# verbosity level 3+: warn always, log debug
|
|
94
|
+
elif value >= 3:
|
|
95
|
+
_warnings.simplefilter("always")
|
|
96
|
+
_setup_logging(level="DEBUG")
|
|
97
|
+
|
|
69
98
|
|
|
70
99
|
def format_option(f: F) -> F:
|
|
71
100
|
def callback(ctx: click.Context, param: click.Parameter, value: t.Any) -> None:
|
|
@@ -118,16 +147,13 @@ def format_option(f: F) -> F:
|
|
|
118
147
|
|
|
119
148
|
|
|
120
149
|
def debug_option(f: F) -> F:
|
|
121
|
-
def callback(ctx: click.Context, param: click.Parameter, value:
|
|
122
|
-
if not value
|
|
123
|
-
# turn off warnings altogether
|
|
124
|
-
_warnings.simplefilter("ignore")
|
|
150
|
+
def callback(ctx: click.Context, param: click.Parameter, value: bool) -> None:
|
|
151
|
+
if not value:
|
|
125
152
|
return
|
|
126
153
|
|
|
127
|
-
_warnings.simplefilter("default")
|
|
128
154
|
state = ctx.ensure_object(CommandState)
|
|
155
|
+
state.set_verbosity(max(state.verbosity, 3))
|
|
129
156
|
state.debug = True
|
|
130
|
-
_setup_logging(level="DEBUG")
|
|
131
157
|
|
|
132
158
|
return click.option(
|
|
133
159
|
"--debug",
|
|
@@ -140,48 +166,41 @@ def debug_option(f: F) -> F:
|
|
|
140
166
|
|
|
141
167
|
|
|
142
168
|
def verbose_option(f: F) -> F:
|
|
143
|
-
def callback(ctx: click.Context, param: click.Parameter, value:
|
|
169
|
+
def callback(ctx: click.Context, param: click.Parameter, value: int) -> None:
|
|
144
170
|
# set state verbosity value from option
|
|
145
171
|
state = ctx.ensure_object(CommandState)
|
|
146
|
-
state.verbosity
|
|
172
|
+
state.set_verbosity(state.verbosity + value)
|
|
147
173
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
174
|
+
return click.option(
|
|
175
|
+
"--verbose",
|
|
176
|
+
"-v",
|
|
177
|
+
count=True,
|
|
178
|
+
expose_value=False,
|
|
179
|
+
callback=callback,
|
|
180
|
+
is_eager=True,
|
|
181
|
+
help="Control level of output, make it more verbose.",
|
|
182
|
+
)(f)
|
|
153
183
|
|
|
154
|
-
# verbosity level 1
|
|
155
|
-
# warnings set to once
|
|
156
|
-
# logging set to error
|
|
157
|
-
if value == 1:
|
|
158
|
-
_warnings.simplefilter("once")
|
|
159
|
-
_setup_logging(level="ERROR")
|
|
160
184
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
_warnings.simplefilter("default")
|
|
166
|
-
_setup_logging(level="INFO")
|
|
185
|
+
def quiet_option(f: F) -> F:
|
|
186
|
+
def callback(ctx: click.Context, param: click.Parameter, value: bool) -> None:
|
|
187
|
+
if not value:
|
|
188
|
+
return
|
|
167
189
|
|
|
168
|
-
# verbosity
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
# sets debug flag to true
|
|
172
|
-
if value >= 3:
|
|
173
|
-
_warnings.simplefilter("always")
|
|
174
|
-
state.debug = True
|
|
175
|
-
_setup_logging(level="DEBUG")
|
|
190
|
+
# set state verbosity value from option
|
|
191
|
+
state = ctx.ensure_object(CommandState)
|
|
192
|
+
state.set_verbosity(-1)
|
|
176
193
|
|
|
177
194
|
return click.option(
|
|
178
|
-
"--
|
|
179
|
-
"-v",
|
|
180
|
-
count=True,
|
|
195
|
+
"--quiet",
|
|
181
196
|
expose_value=False,
|
|
182
197
|
callback=callback,
|
|
198
|
+
is_flag=True,
|
|
183
199
|
is_eager=True,
|
|
184
|
-
help=
|
|
200
|
+
help=(
|
|
201
|
+
"Suppress non-essential output. "
|
|
202
|
+
"This is higher precedence than `--verbose`."
|
|
203
|
+
),
|
|
185
204
|
)(f)
|
|
186
205
|
|
|
187
206
|
|
{globus_cli-3.28.3 → globus_cli-3.29.0}/src/globus_cli/parsing/param_types/json_strorfile.py
RENAMED
|
@@ -11,6 +11,9 @@ import click
|
|
|
11
11
|
from globus_cli.constants import EXPLICIT_NULL, ExplicitNullType
|
|
12
12
|
from globus_cli.types import JsonValue
|
|
13
13
|
|
|
14
|
+
if t.TYPE_CHECKING:
|
|
15
|
+
from click.shell_completion import CompletionItem
|
|
16
|
+
|
|
14
17
|
|
|
15
18
|
@dataclasses.dataclass
|
|
16
19
|
class ParsedJSONData:
|
|
@@ -57,6 +60,13 @@ class JSONStringOrFile(click.ParamType):
|
|
|
57
60
|
def get_metavar(self, param: click.Parameter) -> str:
|
|
58
61
|
return "[JSON_FILE|JSON|file:JSON_FILE]"
|
|
59
62
|
|
|
63
|
+
def shell_complete(
|
|
64
|
+
self, ctx: click.Context, param: click.Parameter, incomplete: str
|
|
65
|
+
) -> list[CompletionItem]:
|
|
66
|
+
from click.shell_completion import CompletionItem
|
|
67
|
+
|
|
68
|
+
return [CompletionItem(incomplete, type="file")]
|
|
69
|
+
|
|
60
70
|
def get_type_annotation(self, param: click.Parameter) -> type:
|
|
61
71
|
if self.null is not None:
|
|
62
72
|
return t.cast(type, t.Union[ParsedJSONData, ExplicitNullType])
|
|
@@ -11,6 +11,7 @@ from globus_cli.parsing.command_state import (
|
|
|
11
11
|
debug_option,
|
|
12
12
|
format_option,
|
|
13
13
|
map_http_status_option,
|
|
14
|
+
quiet_option,
|
|
14
15
|
show_server_timing_option,
|
|
15
16
|
verbose_option,
|
|
16
17
|
)
|
|
@@ -46,6 +47,7 @@ def common_options(*, disable_options: list[str] | None = None) -> t.Callable[[C
|
|
|
46
47
|
f = debug_option(f)
|
|
47
48
|
f = show_server_timing_option(f)
|
|
48
49
|
f = verbose_option(f)
|
|
50
|
+
f = quiet_option(f)
|
|
49
51
|
f = click.help_option("-h", "--help")(f)
|
|
50
52
|
|
|
51
53
|
# if the format option is being allowed, it needs to be applied to `f`
|
|
@@ -10,7 +10,6 @@ from .data import (
|
|
|
10
10
|
display_name_or_cname,
|
|
11
11
|
iterable_response_to_dict,
|
|
12
12
|
)
|
|
13
|
-
from .delegate_proxy import fill_delegate_proxy_activation_requirements
|
|
14
13
|
from .recursive_ls import RecursiveLsResponse
|
|
15
14
|
|
|
16
15
|
|
|
@@ -34,7 +33,6 @@ __all__ = (
|
|
|
34
33
|
"RecursiveLsResponse",
|
|
35
34
|
"supported_activation_methods",
|
|
36
35
|
"activation_requirements_help_text",
|
|
37
|
-
"fill_delegate_proxy_activation_requirements",
|
|
38
36
|
"display_name_or_cname",
|
|
39
37
|
"iterable_response_to_dict",
|
|
40
38
|
"assemble_generic_doc",
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import uuid
|
|
4
|
+
|
|
5
|
+
import globus_sdk
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def supported_activation_methods(
|
|
9
|
+
res: globus_sdk.GlobusHTTPResponse,
|
|
10
|
+
) -> list[str]:
|
|
2
11
|
"""
|
|
3
12
|
Given an activation_requirements document
|
|
4
13
|
returns a list of activation methods supported by this endpoint.
|
|
@@ -18,14 +27,12 @@ def supported_activation_methods(res):
|
|
|
18
27
|
):
|
|
19
28
|
supported.append("myproxy")
|
|
20
29
|
|
|
21
|
-
# delegate_proxy
|
|
22
|
-
if req["type"] == "delegate_proxy" and req["name"] == "public_key":
|
|
23
|
-
supported.append("delegate_proxy")
|
|
24
|
-
|
|
25
30
|
return supported
|
|
26
31
|
|
|
27
32
|
|
|
28
|
-
def activation_requirements_help_text(
|
|
33
|
+
def activation_requirements_help_text(
|
|
34
|
+
res: globus_sdk.GlobusHTTPResponse, ep_id: str | uuid.UUID
|
|
35
|
+
) -> str:
|
|
29
36
|
"""
|
|
30
37
|
Given an activation requirements document and an endpoint_id
|
|
31
38
|
returns a string of help text for how to activate the endpoint
|
|
@@ -54,20 +61,6 @@ def activation_requirements_help_text(res, ep_id):
|
|
|
54
61
|
if "oauth" in methods
|
|
55
62
|
else ""
|
|
56
63
|
),
|
|
57
|
-
(
|
|
58
|
-
"For delegate proxy activation use:\n"
|
|
59
|
-
"'globus endpoint activate --delegate-proxy "
|
|
60
|
-
"X.509_PEM_FILE {}'\n".format(ep_id)
|
|
61
|
-
if "delegate_proxy" in methods
|
|
62
|
-
else ""
|
|
63
|
-
),
|
|
64
|
-
(
|
|
65
|
-
"Delegate proxy activation requires an additional dependency on "
|
|
66
|
-
"cryptography. See the docs for details:\n"
|
|
67
|
-
"https://docs.globus.org/cli/reference/endpoint_activate/\n"
|
|
68
|
-
if "delegate_proxy" in methods
|
|
69
|
-
else ""
|
|
70
|
-
),
|
|
71
64
|
]
|
|
72
65
|
|
|
73
66
|
return "".join(lines)
|
|
@@ -44,8 +44,13 @@ def _retry_client_consent(ctx: RetryContext) -> RetryCheckResult:
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
class CustomTransferClient(globus_sdk.TransferClient):
|
|
47
|
-
def __init__(
|
|
48
|
-
|
|
47
|
+
def __init__(
|
|
48
|
+
self,
|
|
49
|
+
*,
|
|
50
|
+
authorizer: globus_sdk.GlobusAuthorizer,
|
|
51
|
+
app_name: str,
|
|
52
|
+
) -> None:
|
|
53
|
+
super().__init__(authorizer=authorizer, app_name=app_name)
|
|
49
54
|
self.transport.register_retry_check(_retry_client_consent)
|
|
50
55
|
|
|
51
56
|
# TODO: Remove this function when endpoints natively support recursive ls
|
|
@@ -78,7 +83,7 @@ class CustomTransferClient(globus_sdk.TransferClient):
|
|
|
78
83
|
return RecursiveLsResponse(self, endpoint_id, params, max_depth=depth)
|
|
79
84
|
|
|
80
85
|
def get_endpoint_w_server_list(
|
|
81
|
-
self, endpoint_id
|
|
86
|
+
self, endpoint_id: str | uuid.UUID
|
|
82
87
|
) -> tuple[
|
|
83
88
|
globus_sdk.GlobusHTTPResponse, str | globus_sdk.IterableTransferResponse
|
|
84
89
|
]:
|
|
@@ -7,7 +7,7 @@ if t.TYPE_CHECKING:
|
|
|
7
7
|
|
|
8
8
|
# single source of truth for package version,
|
|
9
9
|
# see https://packaging.python.org/en/latest/single_source_version/
|
|
10
|
-
__version__ = "3.
|
|
10
|
+
__version__ = "3.29.0"
|
|
11
11
|
|
|
12
12
|
# app name to send as part of SDK requests
|
|
13
13
|
app_name = f"Globus CLI v{__version__}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: globus-cli
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.29.0
|
|
4
4
|
Summary: Globus CLI
|
|
5
5
|
Author-email: Stephen Rosen <sirosen@globus.org>
|
|
6
6
|
Project-URL: homepage, https://github.com/globus/globus-cli
|
|
@@ -24,14 +24,13 @@ Requires-Dist: jmespath==1.0.1
|
|
|
24
24
|
Requires-Dist: packaging>=17.0
|
|
25
25
|
Requires-Dist: typing_extensions>=4.0; python_version < "3.11"
|
|
26
26
|
Requires-Dist: requests<3.0.0,>=2.19.1
|
|
27
|
-
Requires-Dist: cryptography>=3.3.1
|
|
28
27
|
Provides-Extra: test
|
|
29
28
|
Requires-Dist: coverage>=7; extra == "test"
|
|
30
29
|
Requires-Dist: pytest>=7; extra == "test"
|
|
31
30
|
Requires-Dist: pytest-xdist<4; extra == "test"
|
|
32
31
|
Requires-Dist: pytest-timeout<3; extra == "test"
|
|
33
32
|
Requires-Dist: click-type-test==0.0.7; python_version >= "3.10" and extra == "test"
|
|
34
|
-
Requires-Dist: responses==0.25.
|
|
33
|
+
Requires-Dist: responses==0.25.3; extra == "test"
|
|
35
34
|
Requires-Dist: ruamel.yaml==0.18.6; extra == "test"
|
|
36
35
|
Requires-Dist: setuptools; python_version >= "3.12" and extra == "test"
|
|
37
36
|
|
|
@@ -248,7 +248,6 @@ src/globus_cli/services/transfer/__init__.py
|
|
|
248
248
|
src/globus_cli/services/transfer/activation.py
|
|
249
249
|
src/globus_cli/services/transfer/client.py
|
|
250
250
|
src/globus_cli/services/transfer/data.py
|
|
251
|
-
src/globus_cli/services/transfer/delegate_proxy.py
|
|
252
251
|
src/globus_cli/services/transfer/recursive_ls.py
|
|
253
252
|
src/globus_cli/termio/__init__.py
|
|
254
253
|
src/globus_cli/termio/awscli_text.py
|
|
@@ -3,7 +3,6 @@ click<9,>=8.1.4
|
|
|
3
3
|
jmespath==1.0.1
|
|
4
4
|
packaging>=17.0
|
|
5
5
|
requests<3.0.0,>=2.19.1
|
|
6
|
-
cryptography>=3.3.1
|
|
7
6
|
|
|
8
7
|
[:python_version < "3.11"]
|
|
9
8
|
typing_extensions>=4.0
|
|
@@ -13,7 +12,7 @@ coverage>=7
|
|
|
13
12
|
pytest>=7
|
|
14
13
|
pytest-xdist<4
|
|
15
14
|
pytest-timeout<3
|
|
16
|
-
responses==0.25.
|
|
15
|
+
responses==0.25.3
|
|
17
16
|
ruamel.yaml==0.18.6
|
|
18
17
|
|
|
19
18
|
[test:python_version >= "3.10"]
|