globus-cli 3.28.3__tar.gz → 3.30.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.
Files changed (268) hide show
  1. {globus_cli-3.28.3/src/globus_cli.egg-info → globus_cli-3.30.0}/PKG-INFO +3 -4
  2. {globus_cli-3.28.3 → globus_cli-3.30.0}/pyproject.toml +4 -35
  3. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/_warnings.py +1 -1
  4. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/api.py +3 -3
  5. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/__init__.py +1 -1
  6. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/create.py +1 -1
  7. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/delete.py +1 -1
  8. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/list.py +2 -2
  9. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/rename.py +1 -1
  10. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/show.py +1 -1
  11. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/cli_profile_list.py +1 -1
  12. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/__init__.py +1 -1
  13. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/__init__.py +1 -1
  14. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/guest.py +1 -1
  15. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/create/mapped.py +1 -1
  16. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/delete.py +1 -1
  17. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/list.py +22 -4
  18. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/show.py +2 -4
  19. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/update.py +2 -2
  20. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/delete.py +1 -3
  21. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/__init__.py +1 -1
  22. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/_common.py +3 -2
  23. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/activate.py +8 -57
  24. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/create.py +27 -27
  25. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/delete.py +1 -1
  26. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/local_id.py +1 -1
  27. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py +1 -1
  28. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/__init__.py +1 -1
  29. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/create.py +1 -1
  30. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/delete.py +1 -1
  31. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/list.py +1 -1
  32. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/show.py +1 -1
  33. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/update.py +1 -1
  34. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/__init__.py +1 -1
  35. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/_common.py +2 -1
  36. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/create.py +1 -1
  37. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/delete.py +1 -1
  38. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/list.py +1 -1
  39. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/role/show.py +1 -1
  40. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/search.py +1 -1
  41. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/__init__.py +1 -1
  42. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/add.py +1 -1
  43. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/delete.py +1 -1
  44. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/list.py +1 -1
  45. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/show.py +1 -1
  46. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/update.py +1 -1
  47. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/set_subscription_id.py +1 -1
  48. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/show.py +1 -1
  49. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/storage_gateway/__init__.py +1 -1
  50. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/storage_gateway/list.py +2 -2
  51. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/update.py +1 -1
  52. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/__init__.py +1 -1
  53. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/_common.py +3 -1
  54. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/__init__.py +1 -1
  55. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/from_json.py +5 -2
  56. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/posix.py +2 -2
  57. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/create/s3.py +7 -7
  58. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/delete.py +2 -2
  59. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/list.py +2 -2
  60. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/show.py +2 -2
  61. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/update/__init__.py +1 -1
  62. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/user_credential/update/from_json.py +2 -2
  63. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/__init__.py +1 -1
  64. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/create.py +1 -1
  65. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/delete.py +2 -2
  66. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/list.py +2 -2
  67. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/__init__.py +1 -1
  68. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/cancel.py +2 -2
  69. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/delete.py +2 -2
  70. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/list.py +1 -1
  71. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/resume.py +2 -4
  72. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show.py +2 -2
  73. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show_definition.py +1 -1
  74. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/show_logs.py +1 -1
  75. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/run/update.py +1 -1
  76. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/show.py +1 -1
  77. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/start.py +1 -1
  78. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/update.py +1 -1
  79. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/validate.py +1 -1
  80. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/__init__.py +1 -1
  81. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/__init__.py +1 -1
  82. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/_common.py +2 -1
  83. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/guest.py +1 -1
  84. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/create/mapped.py +1 -1
  85. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/set_subscription_id.py +1 -1
  86. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/__init__.py +1 -1
  87. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/guest.py +2 -2
  88. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcp/update/mapped.py +1 -1
  89. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/__init__.py +1 -1
  90. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/__init__.py +1 -1
  91. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/__init__.py +1 -1
  92. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/update.py +5 -2
  93. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/get_identities.py +3 -3
  94. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/__init__.py +1 -1
  95. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/_common.py +2 -1
  96. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/create.py +1 -1
  97. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/delete.py +1 -1
  98. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/get_by_subscription.py +8 -4
  99. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/__init__.py +1 -1
  100. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/accept.py +1 -1
  101. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/decline.py +1 -1
  102. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/join.py +1 -1
  103. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/leave.py +1 -1
  104. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/list.py +2 -2
  105. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/__init__.py +1 -1
  106. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/add.py +1 -1
  107. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/approve.py +1 -1
  108. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/invite.py +1 -1
  109. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/list.py +1 -1
  110. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/reject.py +1 -1
  111. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/member/remove.py +1 -1
  112. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/set_policies.py +1 -1
  113. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/show.py +1 -1
  114. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/list_commands.py +1 -1
  115. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/login.py +4 -2
  116. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/logout.py +1 -1
  117. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/ls.py +1 -3
  118. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/mkdir.py +2 -5
  119. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/rename.py +1 -1
  120. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/rm.py +2 -4
  121. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/__init__.py +1 -1
  122. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/_common.py +2 -1
  123. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/delete_by_query.py +2 -2
  124. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/__init__.py +1 -1
  125. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/create.py +1 -1
  126. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/delete.py +1 -1
  127. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/list.py +1 -1
  128. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/__init__.py +1 -1
  129. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/create.py +1 -1
  130. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/delete.py +1 -1
  131. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/role/list.py +1 -1
  132. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/index/show.py +1 -1
  133. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/ingest.py +4 -4
  134. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/query.py +2 -2
  135. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/__init__.py +2 -2
  136. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/delete.py +2 -1
  137. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/subject/show.py +2 -1
  138. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/__init__.py +1 -1
  139. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/list.py +2 -2
  140. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/search/task/show.py +1 -1
  141. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/__init__.py +1 -1
  142. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/consent.py +1 -1
  143. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/show.py +1 -1
  144. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/session/update.py +2 -2
  145. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/stat.py +1 -1
  146. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/__init__.py +1 -1
  147. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/_common.py +3 -1
  148. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/cancel.py +1 -1
  149. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/event_list.py +1 -1
  150. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/generate_submission_id.py +2 -2
  151. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/list.py +33 -31
  152. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/pause_info.py +1 -1
  153. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/show.py +1 -1
  154. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/update.py +2 -2
  155. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/task/wait.py +1 -1
  156. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/__init__.py +1 -1
  157. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/create/__init__.py +1 -1
  158. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/create/transfer.py +34 -18
  159. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/delete.py +1 -1
  160. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/list.py +1 -1
  161. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/pause.py +1 -1
  162. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/resume.py +2 -4
  163. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/show.py +1 -1
  164. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/transfer.py +9 -8
  165. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/update.py +1 -1
  166. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/version.py +1 -1
  167. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/whoami.py +1 -1
  168. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/entity_type.py +3 -1
  169. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/__init__.py +4 -4
  170. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/hooks.py +7 -10
  171. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/exception_handling/registry.py +51 -21
  172. globus_cli-3.30.0/src/globus_cli/globus_cli_flake8.py +179 -0
  173. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/auth_flows.py +2 -2
  174. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/manager.py +2 -7
  175. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/tokenstore.py +1 -1
  176. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/command_state.py +58 -38
  177. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/commands.py +1 -13
  178. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/mutex_group.py +4 -2
  179. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_classes.py +3 -1
  180. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/endpoint_plus_path.py +1 -1
  181. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/json_strorfile.py +10 -0
  182. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/__init__.py +10 -7
  183. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/endpointish.py +16 -15
  184. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/transfer_task_options.py +3 -1
  185. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/auth.py +1 -1
  186. globus_cli-3.30.0/src/globus_cli/services/gcs.py +26 -0
  187. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/__init__.py +0 -2
  188. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/activation.py +13 -20
  189. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/client.py +8 -3
  190. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/data.py +5 -2
  191. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/__init__.py +1 -1
  192. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/awscli_text.py +1 -1
  193. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/field.py +1 -1
  194. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/compound.py +9 -9
  195. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/printer.py +55 -49
  196. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/types.py +5 -1
  197. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/utils.py +4 -2
  198. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/version.py +1 -1
  199. {globus_cli-3.28.3 → globus_cli-3.30.0/src/globus_cli.egg-info}/PKG-INFO +3 -4
  200. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/SOURCES.txt +0 -1
  201. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/requires.txt +2 -3
  202. globus_cli-3.28.3/src/globus_cli/globus_cli_flake8.py +0 -104
  203. globus_cli-3.28.3/src/globus_cli/services/gcs.py +0 -89
  204. globus_cli-3.28.3/src/globus_cli/services/transfer/delegate_proxy.py +0 -245
  205. {globus_cli-3.28.3 → globus_cli-3.30.0}/LICENSE +0 -0
  206. {globus_cli-3.28.3 → globus_cli-3.30.0}/README.rst +0 -0
  207. {globus_cli-3.28.3 → globus_cli-3.30.0}/setup.cfg +0 -0
  208. {globus_cli-3.28.3 → globus_cli-3.30.0}/setup.py +0 -0
  209. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/__init__.py +0 -0
  210. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/__main__.py +0 -0
  211. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/__init__.py +0 -0
  212. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/_common.py +0 -0
  213. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/bookmark/_common.py +0 -0
  214. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/collection/_common.py +0 -0
  215. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/deactivate.py +0 -0
  216. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/is_activated.py +0 -0
  217. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/permission/_common.py +0 -0
  218. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/endpoint/server/_common.py +0 -0
  219. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/flows/_common.py +0 -0
  220. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/_common.py +0 -0
  221. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/_common.py +0 -0
  222. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/create.py +0 -0
  223. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/delete.py +0 -0
  224. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/list.py +0 -0
  225. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/role/show.py +0 -0
  226. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/set_subscription_id.py +0 -0
  227. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/gcs/endpoint/show.py +0 -0
  228. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/get_subscription_info.py +0 -0
  229. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/invite/_common.py +0 -0
  230. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/group/update.py +0 -0
  231. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/commands/timer/_common.py +0 -0
  232. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/constants.py +0 -0
  233. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/__init__.py +0 -0
  234. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/endpointish.py +0 -0
  235. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/endpointish/errors.py +0 -0
  236. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/__init__.py +0 -0
  237. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/_old_config.py +0 -0
  238. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/client_login.py +0 -0
  239. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/context.py +0 -0
  240. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/errors.py +0 -0
  241. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/local_server.py +0 -0
  242. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/scopes.py +0 -0
  243. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/login_manager/utils.py +0 -0
  244. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/__init__.py +0 -0
  245. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/__init__.py +0 -0
  246. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/delimited.py +0 -0
  247. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/identity_type.py +0 -0
  248. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/location.py +0 -0
  249. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/notify_param.py +0 -0
  250. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/nullable.py +0 -0
  251. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/task_path.py +0 -0
  252. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/param_types/timedelta.py +0 -0
  253. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_callbacks.py +0 -0
  254. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shared_options/id_args.py +0 -0
  255. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/parsing/shell_completion.py +0 -0
  256. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/reflect.py +0 -0
  257. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/__init__.py +0 -0
  258. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/services/transfer/recursive_ls.py +0 -0
  259. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/context.py +0 -0
  260. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/errors.py +0 -0
  261. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/__init__.py +0 -0
  262. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/auth.py +0 -0
  263. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/base.py +0 -0
  264. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/formatters/primitive.py +0 -0
  265. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli/termio/server_timing.py +0 -0
  266. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/dependency_links.txt +0 -0
  267. {globus_cli-3.28.3 → globus_cli-3.30.0}/src/globus_cli.egg-info/entry_points.txt +0 -0
  268. {globus_cli-3.28.3 → globus_cli-3.30.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.28.3
3
+ Version: 3.30.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
@@ -18,20 +18,19 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Requires-Python: >=3.8
19
19
  Description-Content-Type: text/x-rst
20
20
  License-File: LICENSE
21
- Requires-Dist: globus-sdk==3.41.0
21
+ Requires-Dist: globus-sdk==3.43.0
22
22
  Requires-Dist: click<9,>=8.1.4
23
23
  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.2; extra == "test"
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
 
@@ -28,7 +28,7 @@ classifiers = [
28
28
  ]
29
29
  requires-python = ">=3.8"
30
30
  dependencies = [
31
- "globus-sdk==3.41.0",
31
+ "globus-sdk==3.43.0",
32
32
  "click>=8.1.4,<9",
33
33
  "jmespath==1.0.1",
34
34
  "packaging>=17.0",
@@ -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.2",
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.
@@ -79,46 +78,16 @@ output_file = "changelog.adoc"
79
78
  entry_title_template = '{{ version }} ({{ date.strftime("%Y-%m-%d") }})'
80
79
 
81
80
  [tool.mypy]
82
- # the desired config here is
83
- # strict=true
84
- # however, strict=true does not play well with overrides (used below)
85
- # therefore, we explicitly declare a number of options which approach
86
- # `strict=true` in effect
87
- warn_unused_configs = true
88
-
89
- # TODO: enable disallow_any_generics (currently fails)
90
- # disallow_any_generics = true
91
- disallow_subclassing_any = true
92
-
93
- # do not disallow_untyped_calls, as we have untyped defs of our own
94
- # this rule causes too much chaos at present
95
- #
96
- # disallow_untyped_calls = true
97
-
98
- disallow_untyped_defs = true
99
- disallow_incomplete_defs = true
100
- check_untyped_defs = true
101
- disallow_untyped_decorators = true
102
- warn_redundant_casts = true
103
- warn_unused_ignores = true
104
- warn_return_any = true
105
- no_implicit_reexport = true
106
- strict_equality = true
107
- extra_checks = true
81
+ strict = true
108
82
 
109
83
  # additional settings (not part of strict=true)
110
84
  warn_unreachable = true
111
85
 
112
86
  [[tool.mypy.overrides]]
87
+ disallow_untyped_calls = false
113
88
  disallow_untyped_defs = false
114
89
  disallow_incomplete_defs = false
115
90
  module = [
116
- "globus_cli.services.gcs",
117
- "globus_cli.services.transfer.activation",
118
- "globus_cli.services.transfer.client",
119
- "globus_cli.services.transfer.delegate_proxy",
120
91
  "globus_cli.services.transfer.recursive_ls",
121
- "globus_cli.termio",
122
- "globus_cli.termio.printer",
123
92
  "globus_cli.termio.awscli_text",
124
93
  ]
@@ -11,7 +11,7 @@ def simplefilter(
11
11
  filterstr: t.Literal["default", "error", "ignore", "always", "module", "once"]
12
12
  ) -> None:
13
13
  """
14
- wrap `warnings.simplefilter` with a check on `_TEST_WARNING_CONTROL`
14
+ Wrap `warnings.simplefilter` with a check on `_TEST_WARNING_CONTROL`.
15
15
  """
16
16
  if not _TEST_WARNING_CONTROL:
17
17
  warnings.simplefilter(filterstr)
@@ -13,9 +13,9 @@ from globus_cli.login_manager import LoginManager, is_client_login
13
13
  from globus_cli.login_manager.scopes import CLI_SCOPE_REQUIREMENTS
14
14
  from globus_cli.parsing import command, endpoint_id_arg, group, mutex_option_group
15
15
  from globus_cli.termio import display
16
- from globus_cli.types import ServiceNameLiteral
16
+ from globus_cli.types import AnyCommand, ServiceNameLiteral
17
17
 
18
- C = t.TypeVar("C", bound=t.Union[t.Callable, click.Command])
18
+ C = t.TypeVar("C", bound=AnyCommand)
19
19
 
20
20
 
21
21
  class QueryParamType(click.ParamType):
@@ -345,7 +345,7 @@ def _handle_scope_string(
345
345
 
346
346
  @group("api")
347
347
  def api_command() -> None:
348
- """Make API calls to Globus services"""
348
+ """Make API calls to Globus services."""
349
349
 
350
350
 
351
351
  # note: this must be written as a separate call and not inlined into the loop body
@@ -12,4 +12,4 @@ from globus_cli.parsing import group
12
12
  },
13
13
  )
14
14
  def bookmark_command() -> None:
15
- """Manage endpoint bookmarks"""
15
+ """Manage endpoint bookmarks."""
@@ -32,7 +32,7 @@ $ globus bookmark create \
32
32
  -F unix --jmespath 'id'
33
33
  ----
34
34
  """,
35
- short_help="Create a bookmark for the current user",
35
+ short_help="Create a bookmark for the current user.",
36
36
  )
37
37
  @click.argument("endpoint_plus_path", type=ENDPOINT_PLUS_REQPATH)
38
38
  @click.argument("bookmark_name")
@@ -20,7 +20,7 @@ from ._common import resolve_id_or_name
20
20
  $ globus bookmark delete "Bookmark Name"
21
21
  ----
22
22
  """,
23
- short_help="Delete a bookmark",
23
+ short_help="Delete a bookmark.",
24
24
  )
25
25
  @click.argument("bookmark_id_or_name")
26
26
  @LoginManager.requires_login("transfer")
@@ -45,11 +45,11 @@ output:
45
45
  $ globus bookmark list --jmespath='DATA[*].[name, endpoint_id]' --format=unix
46
46
  ----
47
47
  """,
48
- short_help="List your bookmarks",
48
+ short_help="List your bookmarks.",
49
49
  )
50
50
  @LoginManager.requires_login("transfer")
51
51
  def bookmark_list(login_manager: LoginManager) -> None:
52
- """List all bookmarks for the current user"""
52
+ """List all bookmarks for the current user."""
53
53
  from globus_cli.services.transfer import iterable_response_to_dict
54
54
 
55
55
  transfer_client = login_manager.get_transfer_client()
@@ -28,7 +28,7 @@ $ globus bookmark rename oldname newname
28
28
  def bookmark_rename(
29
29
  login_manager: LoginManager, *, bookmark_id_or_name: str, new_bookmark_name: str
30
30
  ) -> None:
31
- """Change a bookmark's name"""
31
+ """Change a bookmark's name."""
32
32
  transfer_client = login_manager.get_transfer_client()
33
33
  bookmark_id = resolve_id_or_name(transfer_client, bookmark_id_or_name)["id"]
34
34
 
@@ -28,7 +28,7 @@ If *-v* or *--verbose* is given, output has the following fields:
28
28
  $ globus ls "$(globus bookmark show BOOKMARK_NAME)"
29
29
  ----
30
30
  """,
31
- short_help="Resolve a bookmark name or ID to an endpoint:path",
31
+ short_help="Resolve a bookmark name or ID to an endpoint:path.",
32
32
  )
33
33
  @click.argument("bookmark_id_or_name")
34
34
  @LoginManager.requires_login("transfer")
@@ -81,7 +81,7 @@ class ProfileIndicatorFormatter(formatters.FieldFormatter[bool]):
81
81
  @click.option("--all", is_flag=True, hidden=True)
82
82
  def cli_profile_list(*, all: bool) -> None:
83
83
  """
84
- List all CLI profiles which have been used
84
+ List all CLI profiles which have been used.
85
85
 
86
86
  These are the values for GLOBUS_PROFILE which have been recorded, as well as
87
87
  GLOBUS_CLI_CLIENT_ID values which have been used.
@@ -12,4 +12,4 @@ from globus_cli.parsing import group
12
12
  },
13
13
  )
14
14
  def collection_command() -> None:
15
- """Manage your Collections"""
15
+ """Manage your Collections."""
@@ -9,4 +9,4 @@ from globus_cli.parsing import group
9
9
  },
10
10
  )
11
11
  def collection_create() -> None:
12
- """Create a new Collection"""
12
+ """Create a new Collection."""
@@ -22,7 +22,7 @@ from globus_cli.services.gcs import CustomGCSClient
22
22
  from globus_cli.termio import display
23
23
 
24
24
 
25
- @command("guest", short_help="Create a GCSv5 Guest Collection")
25
+ @command("guest", short_help="Create a GCSv5 Guest Collection.")
26
26
  @click.argument("MAPPED_COLLECTION_ID", type=click.UUID)
27
27
  @click.argument("COLLECTION_BASE_PATH", type=str)
28
28
  @click.option(
@@ -43,7 +43,7 @@ def _posix_staging_policy_options_present(params: dict[str, t.Any]) -> bool:
43
43
  )
44
44
 
45
45
 
46
- @command("create", short_help="Create a new Mapped Collection")
46
+ @command("create", short_help="Create a new Mapped Collection.")
47
47
  @endpoint_id_arg
48
48
  @endpointish_params.create(name="collection")
49
49
  @identity_id_option
@@ -5,7 +5,7 @@ from globus_cli.parsing import collection_id_arg, command
5
5
  from globus_cli.termio import display
6
6
 
7
7
 
8
- @command("delete", short_help="Delete an existing Collection")
8
+ @command("delete", short_help="Delete an existing Collection.")
9
9
  @collection_id_arg
10
10
  @LoginManager.requires_login("transfer")
11
11
  def collection_delete(login_manager: LoginManager, *, collection_id: uuid.UUID) -> None:
@@ -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):
@@ -30,7 +32,7 @@ class ChoiceSlugified(click.Choice):
30
32
  return value.replace("-", "_")
31
33
 
32
34
 
33
- @command("list", short_help="List all Collections on an Endpoint")
35
+ @command("list", short_help="List all Collections on an Endpoint.")
34
36
  @endpoint_id_arg
35
37
  @click.option(
36
38
  "--filter",
@@ -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,9 +105,10 @@ def collection_list(
95
105
  ...,
96
106
  ],
97
107
  mapped_collection_id: uuid.UUID | None,
108
+ limit: int,
98
109
  ) -> None:
99
110
  """
100
- List the Collections on a given Globus Connect Server v5 Endpoint
111
+ List the Collections on a given Globus Connect Server v5 Endpoint.
101
112
  """
102
113
  gcs_client = login_manager.get_gcs_client(endpoint_id=endpoint_id)
103
114
  auth_client = login_manager.get_auth_client()
@@ -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
- res = gcs_client.get_collection_list(**params)
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
- res,
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
  )
@@ -27,7 +27,7 @@ PRIVATE_FIELDS: list[Field] = [
27
27
  ]
28
28
 
29
29
 
30
- @command("show", short_help="Show a Collection definition")
30
+ @command("show", short_help="Show a Collection definition.")
31
31
  @collection_id_arg
32
32
  @click.option(
33
33
  "--include-private-policies",
@@ -44,9 +44,7 @@ def collection_show(
44
44
  include_private_policies: bool,
45
45
  collection_id: uuid.UUID,
46
46
  ) -> None:
47
- """
48
- Display a Mapped or Guest Collection
49
- """
47
+ """Display a Mapped or Guest Collection."""
50
48
  gcs_client = login_manager.get_gcs_client(collection_id=collection_id)
51
49
 
52
50
  query_params = {}
@@ -30,7 +30,7 @@ class _FullDataField(Field):
30
30
  return super().get_value(data.full_data)
31
31
 
32
32
 
33
- @command("update", short_help="Update a Collection definition")
33
+ @command("update", short_help="Update a Collection definition.")
34
34
  @collection_id_arg
35
35
  @endpointish_params.update(name="collection")
36
36
  @click.option(
@@ -139,7 +139,7 @@ def collection_update(
139
139
  sharing_users_deny: list[str] | None,
140
140
  ) -> None:
141
141
  """
142
- Update a Mapped or Guest Collection
142
+ Update a Mapped or Guest Collection.
143
143
  """
144
144
  if isinstance(sharing_restrict_paths, ParsedJSONData) and not isinstance(
145
145
  sharing_restrict_paths.data, dict
@@ -21,7 +21,7 @@ from globus_cli.termio import Field, display, err_is_terminal, term_is_interacti
21
21
 
22
22
  @command(
23
23
  "delete",
24
- short_help="Submit a delete task (asynchronous)",
24
+ short_help="Submit a delete task (asynchronous).",
25
25
  adoc_examples="""Delete a single file.
26
26
 
27
27
  [source,bash]
@@ -117,8 +117,6 @@ def delete_command(
117
117
  \b
118
118
  If you use `--batch` and supply a PATH via the commandline, the commandline PATH is
119
119
  treated as a prefix to all of the paths read from the `--batch` input.
120
-
121
- {AUTOMATIC_ACTIVATION}
122
120
  """
123
121
  endpoint_id, path = endpoint_plus_path
124
122
  transfer_client = login_manager.get_transfer_client()
@@ -26,4 +26,4 @@ from globus_cli.parsing import group
26
26
  },
27
27
  )
28
28
  def endpoint_command() -> None:
29
- """Manage Globus endpoint definitions"""
29
+ """Manage Globus endpoint definitions."""
@@ -6,12 +6,13 @@ import click
6
6
 
7
7
  from globus_cli.constants import EXPLICIT_NULL
8
8
  from globus_cli.endpointish import EntityType
9
+ from globus_cli.types import AnyCommand
9
10
 
10
- C = t.TypeVar("C", bound=t.Union[t.Callable, click.Command])
11
+ C = t.TypeVar("C", bound=AnyCommand)
11
12
 
12
13
 
13
14
  def validate_endpoint_create_and_update_params(
14
- entity_type: EntityType, managed: bool, params: dict
15
+ entity_type: EntityType, managed: bool, params: dict[str, t.Any]
15
16
  ) -> None:
16
17
  """
17
18
  Given an endpoint type and option values
@@ -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 and --delegate-proxy.",
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 and --delegate-proxy.",
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", "--delegate-proxy")
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
- Activate an endpoint using Autoactivation, Myproxy, Delegate Proxy,
105
- or Web activation.
106
- Note that --web, --delegate-proxy, and --myproxy activation are mutually
84
+ Activate an endpoint.
85
+
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 or delegate_proxy):
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")
@@ -122,33 +122,33 @@ For GCS, use the globus-connect-server CLI from your Endpoint."""
122
122
 
123
123
  # build options into a dict for kwarg-expansion
124
124
  kwargs = ExplicitNullType.nullify_dict(
125
- dict(
126
- contact_email=contact_email,
127
- contact_info=contact_info,
128
- default_directory=default_directory,
129
- department=department,
130
- description=description,
131
- disable_verify=disable_verify,
132
- display_name=display_name,
133
- force_encryption=force_encryption,
134
- info_link=info_link,
135
- keywords=keywords,
136
- location=location,
137
- managed=managed,
138
- max_concurrency=max_concurrency,
139
- max_parallelism=max_parallelism,
140
- myproxy_dn=myproxy_dn,
141
- myproxy_server=myproxy_server,
142
- network_use=network_use,
143
- oauth_server=oauth_server,
144
- organization=organization,
145
- preferred_concurrency=preferred_concurrency,
146
- preferred_parallelism=preferred_parallelism,
147
- public=public,
148
- subscription_id=subscription_id,
149
- user_message=user_message,
150
- user_message_link=user_message_link,
151
- )
125
+ {
126
+ "contact_email": contact_email,
127
+ "contact_info": contact_info,
128
+ "default_directory": default_directory,
129
+ "department": department,
130
+ "description": description,
131
+ "disable_verify": disable_verify,
132
+ "display_name": display_name,
133
+ "force_encryption": force_encryption,
134
+ "info_link": info_link,
135
+ "keywords": keywords,
136
+ "location": location,
137
+ "managed": managed,
138
+ "max_concurrency": max_concurrency,
139
+ "max_parallelism": max_parallelism,
140
+ "myproxy_dn": myproxy_dn,
141
+ "myproxy_server": myproxy_server,
142
+ "network_use": network_use,
143
+ "oauth_server": oauth_server,
144
+ "organization": organization,
145
+ "preferred_concurrency": preferred_concurrency,
146
+ "preferred_parallelism": preferred_parallelism,
147
+ "public": public,
148
+ "subscription_id": subscription_id,
149
+ "user_message": user_message,
150
+ "user_message_link": user_message_link,
151
+ }
152
152
  )
153
153
  kwargs["is_globus_connect"] = personal or None
154
154
 
@@ -8,7 +8,7 @@ from globus_cli.termio import display
8
8
 
9
9
  @command(
10
10
  "delete",
11
- short_help="Delete an endpoint",
11
+ short_help="Delete an endpoint.",
12
12
  adoc_examples="""[source,bash]
13
13
  ----
14
14
  $ ep_id=aa752cea-8222-5bc8-acd9-555b090c0ccb
@@ -6,7 +6,7 @@ from globus_cli.parsing import command, one_use_option
6
6
 
7
7
  @command(
8
8
  "local-id",
9
- short_help="Display UUID of locally installed endpoint",
9
+ short_help="Display UUID of locally installed endpoint.",
10
10
  disable_options=["format", "map_http_status"],
11
11
  adoc_examples="""Do a Globus ls command on the current local endpoint.
12
12
 
@@ -7,7 +7,7 @@ from globus_cli.termio import display
7
7
 
8
8
  @command(
9
9
  "my-shared-endpoint-list",
10
- short_help="List all shared endpoints on an endpoint by the current user",
10
+ short_help="List the current user's shared endpoints.",
11
11
  adoc_examples="""[source,bash]
12
12
  ----
13
13
  $ ep_id=aa752cea-8222-5bc8-acd9-555b090c0ccb
@@ -12,4 +12,4 @@ from globus_cli.parsing import group
12
12
  },
13
13
  )
14
14
  def permission_command() -> None:
15
- """Manage endpoint permissions (Access Control Lists)"""
15
+ """Manage endpoint permissions (Access Control Lists)."""
@@ -12,7 +12,7 @@ from globus_cli.termio import Field, display
12
12
 
13
13
  @command(
14
14
  "create",
15
- short_help="Create an access control rule",
15
+ short_help="Create an access control rule.",
16
16
  adoc_examples="""Give anyone read access to a directory.
17
17
 
18
18
  [source,bash]
@@ -9,7 +9,7 @@ from globus_cli.termio import display
9
9
 
10
10
  @command(
11
11
  "delete",
12
- short_help="Delete an access control rule",
12
+ short_help="Delete an access control rule.",
13
13
  adoc_examples="""[source,bash]
14
14
  ----
15
15
  $ ep_id=aa752cea-8222-5bc8-acd9-555b090c0ccb