globus-cli 3.23.0__tar.gz → 3.25.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 (262) hide show
  1. {globus-cli-3.23.0/src/globus_cli.egg-info → globus-cli-3.25.0}/PKG-INFO +7 -8
  2. {globus-cli-3.23.0 → globus-cli-3.25.0}/pyproject.toml +6 -7
  3. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/_warnings.py +2 -7
  4. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/api.py +7 -13
  5. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/list.py +2 -8
  6. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/activate.py +4 -4
  7. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/create.py +3 -10
  8. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/create.py +2 -7
  9. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/update.py +2 -7
  10. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/create.py +2 -7
  11. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/search.py +2 -7
  12. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/add.py +2 -7
  13. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/delete.py +2 -8
  14. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/list.py +3 -3
  15. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/update.py +2 -7
  16. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/update.py +2 -7
  17. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/create.py +10 -0
  18. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/list.py +4 -9
  19. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/show.py +1 -0
  20. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcs/endpoint/__init__.py +3 -0
  21. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/_common.py +68 -0
  22. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/__init__.py +14 -0
  23. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/_common.py +17 -0
  24. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/create.py +59 -0
  25. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/delete.py +25 -0
  26. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/list.py +37 -0
  27. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/role/show.py +27 -0
  28. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcs/endpoint/set_subscription_id.py +1 -1
  29. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/show.py +22 -0
  30. globus-cli-3.25.0/src/globus_cli/commands/gcs/endpoint/update.py +244 -0
  31. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/invite/_common.py +2 -8
  32. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/add.py +2 -7
  33. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/invite.py +2 -7
  34. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/set_policies.py +3 -8
  35. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/ls.py +6 -12
  36. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/role/create.py +10 -33
  37. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/list.py +2 -8
  38. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/create/transfer.py +1 -7
  39. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/transfer.py +3 -9
  40. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/constants.py +1 -0
  41. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/endpointish/__init__.py +1 -0
  42. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/exception_handling/__init__.py +1 -0
  43. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/exception_handling/hooks.py +21 -17
  44. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/auth_flows.py +55 -5
  45. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/client_login.py +1 -0
  46. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/manager.py +5 -3
  47. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/scopes.py +2 -8
  48. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/tokenstore.py +8 -15
  49. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/commands.py +1 -0
  50. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/delimited.py +1 -7
  51. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/nullable.py +23 -0
  52. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shared_options/__init__.py +2 -0
  53. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shared_options/endpointish.py +9 -15
  54. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shared_options/id_args.py +1 -0
  55. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shared_options/transfer_task_options.py +4 -1
  56. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/reflect.py +1 -0
  57. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/auth.py +5 -13
  58. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/errors.py +3 -3
  59. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/formatters/auth.py +1 -2
  60. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/formatters/primitive.py +14 -8
  61. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/server_timing.py +1 -2
  62. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/types.py +2 -6
  63. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/utils.py +90 -0
  64. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/version.py +1 -1
  65. {globus-cli-3.23.0 → globus-cli-3.25.0/src/globus_cli.egg-info}/PKG-INFO +7 -8
  66. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli.egg-info/SOURCES.txt +9 -0
  67. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli.egg-info/requires.txt +5 -5
  68. {globus-cli-3.23.0 → globus-cli-3.25.0}/LICENSE +0 -0
  69. {globus-cli-3.23.0 → globus-cli-3.25.0}/README.rst +0 -0
  70. {globus-cli-3.23.0 → globus-cli-3.25.0}/setup.cfg +0 -0
  71. {globus-cli-3.23.0 → globus-cli-3.25.0}/setup.py +0 -0
  72. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/__init__.py +0 -0
  73. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/__main__.py +0 -0
  74. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/__init__.py +0 -0
  75. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/_common.py +0 -0
  76. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/__init__.py +0 -0
  77. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/_common.py +0 -0
  78. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/create.py +0 -0
  79. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/delete.py +0 -0
  80. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/list.py +0 -0
  81. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/rename.py +0 -0
  82. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/bookmark/show.py +0 -0
  83. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/cli_profile_list.py +0 -0
  84. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/__init__.py +0 -0
  85. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/_common.py +0 -0
  86. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/create/__init__.py +0 -0
  87. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/create/guest.py +0 -0
  88. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/create/mapped.py +0 -0
  89. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/delete.py +0 -0
  90. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/show.py +0 -0
  91. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/collection/update.py +0 -0
  92. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/delete.py +0 -0
  93. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/__init__.py +0 -0
  94. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/_common.py +0 -0
  95. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/deactivate.py +0 -0
  96. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/delete.py +0 -0
  97. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/is_activated.py +0 -0
  98. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/local_id.py +0 -0
  99. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/my_shared_endpoint_list.py +0 -0
  100. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/__init__.py +0 -0
  101. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/_common.py +0 -0
  102. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/delete.py +0 -0
  103. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/list.py +0 -0
  104. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/permission/show.py +0 -0
  105. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/__init__.py +0 -0
  106. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/_common.py +0 -0
  107. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/delete.py +0 -0
  108. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/list.py +0 -0
  109. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/role/show.py +0 -0
  110. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/__init__.py +0 -0
  111. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/_common.py +0 -0
  112. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/server/show.py +0 -0
  113. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/set_subscription_id.py +0 -0
  114. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/show.py +0 -0
  115. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/storage_gateway/__init__.py +0 -0
  116. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/storage_gateway/list.py +0 -0
  117. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/__init__.py +0 -0
  118. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/_common.py +0 -0
  119. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/create/__init__.py +0 -0
  120. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/create/from_json.py +0 -0
  121. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/create/posix.py +0 -0
  122. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/create/s3.py +0 -0
  123. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/delete.py +0 -0
  124. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/list.py +0 -0
  125. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/show.py +0 -0
  126. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/update/__init__.py +0 -0
  127. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/endpoint/user_credential/update/from_json.py +0 -0
  128. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/__init__.py +0 -0
  129. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/_common.py +0 -0
  130. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/delete.py +0 -0
  131. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/__init__.py +0 -0
  132. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/cancel.py +0 -0
  133. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/delete.py +0 -0
  134. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/list.py +0 -0
  135. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/resume.py +0 -0
  136. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/show.py +0 -0
  137. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/show_definition.py +0 -0
  138. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/show_logs.py +0 -0
  139. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/run/update.py +0 -0
  140. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/start.py +0 -0
  141. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/flows/update.py +0 -0
  142. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/__init__.py +0 -0
  143. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/create/__init__.py +0 -0
  144. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/create/_common.py +0 -0
  145. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/create/guest.py +0 -0
  146. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/create/mapped.py +0 -0
  147. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/set_subscription_id.py +0 -0
  148. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/update/__init__.py +0 -0
  149. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/update/guest.py +0 -0
  150. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcp/update/mapped.py +0 -0
  151. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/gcs/__init__.py +0 -0
  152. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/get_identities.py +0 -0
  153. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/__init__.py +0 -0
  154. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/_common.py +0 -0
  155. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/create.py +0 -0
  156. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/delete.py +0 -0
  157. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/invite/__init__.py +0 -0
  158. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/invite/accept.py +0 -0
  159. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/invite/decline.py +0 -0
  160. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/join.py +0 -0
  161. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/leave.py +0 -0
  162. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/list.py +0 -0
  163. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/__init__.py +0 -0
  164. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/approve.py +0 -0
  165. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/list.py +0 -0
  166. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/reject.py +0 -0
  167. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/member/remove.py +0 -0
  168. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/show.py +0 -0
  169. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/group/update.py +0 -0
  170. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/list_commands.py +0 -0
  171. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/login.py +0 -0
  172. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/logout.py +0 -0
  173. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/mkdir.py +0 -0
  174. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/rename.py +0 -0
  175. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/rm.py +0 -0
  176. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/__init__.py +0 -0
  177. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/_common.py +0 -0
  178. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/delete_by_query.py +0 -0
  179. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/__init__.py +0 -0
  180. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/create.py +0 -0
  181. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/delete.py +0 -0
  182. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/list.py +0 -0
  183. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/role/__init__.py +0 -0
  184. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/role/delete.py +0 -0
  185. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/role/list.py +0 -0
  186. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/index/show.py +0 -0
  187. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/ingest.py +0 -0
  188. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/query.py +0 -0
  189. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/subject/__init__.py +0 -0
  190. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/subject/delete.py +0 -0
  191. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/subject/show.py +0 -0
  192. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/task/__init__.py +0 -0
  193. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/task/list.py +0 -0
  194. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/search/task/show.py +0 -0
  195. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/session/__init__.py +0 -0
  196. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/session/consent.py +0 -0
  197. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/session/show.py +0 -0
  198. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/session/update.py +0 -0
  199. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/__init__.py +0 -0
  200. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/_common.py +0 -0
  201. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/cancel.py +0 -0
  202. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/event_list.py +0 -0
  203. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/generate_submission_id.py +0 -0
  204. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/pause_info.py +0 -0
  205. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/show.py +0 -0
  206. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/update.py +0 -0
  207. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/task/wait.py +0 -0
  208. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/__init__.py +0 -0
  209. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/_common.py +0 -0
  210. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/create/__init__.py +0 -0
  211. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/delete.py +0 -0
  212. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/list.py +0 -0
  213. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/pause.py +0 -0
  214. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/resume.py +0 -0
  215. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/timer/show.py +0 -0
  216. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/update.py +0 -0
  217. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/version.py +0 -0
  218. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/commands/whoami.py +0 -0
  219. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/endpointish/endpointish.py +0 -0
  220. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/endpointish/entity_type.py +0 -0
  221. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/endpointish/errors.py +0 -0
  222. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/exception_handling/registry.py +0 -0
  223. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/globus_cli_flake8.py +0 -0
  224. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/__init__.py +0 -0
  225. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/_old_config.py +0 -0
  226. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/context.py +0 -0
  227. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/errors.py +0 -0
  228. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/local_server.py +0 -0
  229. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/login_manager/utils.py +0 -0
  230. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/__init__.py +0 -0
  231. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/command_state.py +0 -0
  232. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/mutex_group.py +0 -0
  233. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_classes.py +0 -0
  234. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/__init__.py +0 -0
  235. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/endpoint_plus_path.py +0 -0
  236. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/identity_type.py +0 -0
  237. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/json_strorfile.py +0 -0
  238. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/location.py +0 -0
  239. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/notify_param.py +0 -0
  240. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/task_path.py +0 -0
  241. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/param_types/timedelta.py +0 -0
  242. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shared_callbacks.py +0 -0
  243. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/parsing/shell_completion.py +0 -0
  244. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/__init__.py +0 -0
  245. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/gcs.py +0 -0
  246. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/__init__.py +0 -0
  247. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/activation.py +0 -0
  248. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/client.py +0 -0
  249. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/data.py +0 -0
  250. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/delegate_proxy.py +0 -0
  251. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/services/transfer/recursive_ls.py +0 -0
  252. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/__init__.py +0 -0
  253. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/awscli_text.py +0 -0
  254. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/context.py +0 -0
  255. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/field.py +0 -0
  256. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/formatters/__init__.py +0 -0
  257. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/formatters/base.py +0 -0
  258. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/formatters/compound.py +0 -0
  259. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli/termio/printer.py +0 -0
  260. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli.egg-info/dependency_links.txt +0 -0
  261. {globus-cli-3.23.0 → globus-cli-3.25.0}/src/globus_cli.egg-info/entry_points.txt +0 -0
  262. {globus-cli-3.23.0 → globus-cli-3.25.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.23.0
3
+ Version: 3.25.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
@@ -10,16 +10,15 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: License :: OSI Approved :: Apache Software License
11
11
  Classifier: Operating System :: POSIX
12
12
  Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3.7
14
13
  Classifier: Programming Language :: Python :: 3.8
15
14
  Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
- Requires-Python: >=3.7
18
+ Requires-Python: >=3.8
20
19
  Description-Content-Type: text/x-rst
21
20
  License-File: LICENSE
22
- Requires-Dist: globus-sdk==3.34.0
21
+ Requires-Dist: globus-sdk==3.37.0
23
22
  Requires-Dist: click<9,>=8.1.4
24
23
  Requires-Dist: jmespath==1.0.1
25
24
  Requires-Dist: packaging>=17.0
@@ -29,11 +28,11 @@ Requires-Dist: cryptography>=3.3.1
29
28
  Provides-Extra: test
30
29
  Requires-Dist: coverage>=7; extra == "test"
31
30
  Requires-Dist: pytest>=7; extra == "test"
32
- Requires-Dist: pytest-xdist<3; extra == "test"
33
- Requires-Dist: pytest-timeout<2; extra == "test"
31
+ Requires-Dist: pytest-xdist<4; extra == "test"
32
+ Requires-Dist: pytest-timeout<3; extra == "test"
34
33
  Requires-Dist: click-type-test==0.0.7; python_version >= "3.10" and extra == "test"
35
- Requires-Dist: responses==0.23.3; extra == "test"
36
- Requires-Dist: ruamel.yaml==0.17.32; extra == "test"
34
+ Requires-Dist: responses==0.25.0; extra == "test"
35
+ Requires-Dist: ruamel.yaml==0.18.6; extra == "test"
37
36
  Requires-Dist: setuptools; python_version >= "3.12" and extra == "test"
38
37
 
39
38
  .. image:: https://github.com/globus/globus-cli/workflows/build/badge.svg?event=push
@@ -20,16 +20,15 @@ classifiers = [
20
20
  "License :: OSI Approved :: Apache Software License",
21
21
  "Operating System :: POSIX",
22
22
  "Programming Language :: Python",
23
- "Programming Language :: Python :: 3.7",
24
23
  "Programming Language :: Python :: 3.8",
25
24
  "Programming Language :: Python :: 3.9",
26
25
  "Programming Language :: Python :: 3.10",
27
26
  "Programming Language :: Python :: 3.11",
28
27
  "Programming Language :: Python :: 3.12",
29
28
  ]
30
- requires-python = ">=3.7"
29
+ requires-python = ">=3.8"
31
30
  dependencies = [
32
- "globus-sdk==3.34.0",
31
+ "globus-sdk==3.37.0",
33
32
  "click>=8.1.4,<9",
34
33
  "jmespath==1.0.1",
35
34
  "packaging>=17.0",
@@ -48,12 +47,12 @@ homepage = "https://github.com/globus/globus-cli"
48
47
  test = [
49
48
  "coverage>=7",
50
49
  "pytest>=7",
51
- "pytest-xdist<3",
52
- "pytest-timeout<2",
50
+ "pytest-xdist<4",
51
+ "pytest-timeout<3",
53
52
  "click-type-test==0.0.7;python_version>='3.10'",
54
- "responses==0.23.3",
53
+ "responses==0.25.0",
55
54
  # loading test fixture data
56
- "ruamel.yaml==0.17.32",
55
+ "ruamel.yaml==0.18.6",
57
56
  # Python 3.12 needs setuptools.
58
57
  "setuptools;python_version>='3.12'",
59
58
  ]
@@ -1,11 +1,6 @@
1
- import sys
1
+ import typing as t
2
2
  import warnings
3
3
 
4
- if sys.version_info >= (3, 8):
5
- from typing import Literal
6
- else:
7
- from typing_extensions import Literal
8
-
9
4
  # this bool turns off all warning controls, handing control of python
10
5
  # warnings to the testsuite
11
6
  # this ensures that `pytest --filterwarnings error` works
@@ -13,7 +8,7 @@ _TEST_WARNING_CONTROL: bool = False
13
8
 
14
9
 
15
10
  def simplefilter(
16
- filterstr: Literal["default", "error", "ignore", "always", "module", "once"]
11
+ filterstr: t.Literal["default", "error", "ignore", "always", "module", "once"]
17
12
  ) -> None:
18
13
  """
19
14
  wrap `warnings.simplefilter` with a check on `_TEST_WARNING_CONTROL`
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import json
4
- import sys
5
4
  import typing as t
6
5
  import uuid
7
6
  from collections import defaultdict
@@ -16,11 +15,6 @@ from globus_cli.parsing import command, endpoint_id_arg, group, mutex_option_gro
16
15
  from globus_cli.termio import display
17
16
  from globus_cli.types import ServiceNameLiteral
18
17
 
19
- if sys.version_info >= (3, 8):
20
- from typing import Literal
21
- else:
22
- from typing_extensions import Literal
23
-
24
18
  C = t.TypeVar("C", bound=t.Union[t.Callable, click.Command])
25
19
 
26
20
 
@@ -255,13 +249,13 @@ def _service_command_params(cmd: C) -> C:
255
249
  def _execute_service_command(
256
250
  client: globus_sdk.BaseClient,
257
251
  *,
258
- method: Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
252
+ method: t.Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
259
253
  path: str,
260
254
  query_param: tuple[tuple[str, str], ...],
261
255
  header: tuple[tuple[str, str], ...],
262
256
  body: str | None,
263
257
  body_file: t.TextIO | None,
264
- content_type: Literal["json", "form", "text", "none", "auto"],
258
+ content_type: t.Literal["json", "form", "text", "none", "auto"],
265
259
  allow_errors: bool,
266
260
  allow_redirects: bool,
267
261
  no_retry: bool,
@@ -356,7 +350,7 @@ def api_command() -> None:
356
350
 
357
351
  # note: this must be written as a separate call and not inlined into the loop body
358
352
  # this ensures that it acts as a closure over 'service_name'
359
- def build_command(service_name: ServiceNameLiteral | Literal["gcs"]) -> click.Command:
353
+ def build_command(service_name: ServiceNameLiteral | t.Literal["gcs"]) -> click.Command:
360
354
  helptext = f"""\
361
355
  Make API calls to Globus {service_name.title()}
362
356
 
@@ -377,13 +371,13 @@ sends a 'GET' request to '{_get_url(service_name)}foo/bar'
377
371
  def service_command(
378
372
  login_manager: LoginManager,
379
373
  *,
380
- method: Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
374
+ method: t.Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
381
375
  path: str,
382
376
  query_param: tuple[tuple[str, str], ...],
383
377
  header: tuple[tuple[str, str], ...],
384
378
  body: str | None,
385
379
  body_file: t.TextIO | None,
386
- content_type: Literal["json", "form", "text", "none", "auto"],
380
+ content_type: t.Literal["json", "form", "text", "none", "auto"],
387
381
  allow_errors: bool,
388
382
  allow_redirects: bool,
389
383
  no_retry: bool,
@@ -419,13 +413,13 @@ sends a 'GET' request to '{_get_url(service_name)}foo/bar'
419
413
  login_manager: LoginManager,
420
414
  *,
421
415
  endpoint_id: uuid.UUID,
422
- method: Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
416
+ method: t.Literal["HEAD", "GET", "PUT", "POST", "PATCH", "DELETE"],
423
417
  path: str,
424
418
  query_param: tuple[tuple[str, str], ...],
425
419
  header: tuple[tuple[str, str], ...],
426
420
  body: str | None,
427
421
  body_file: t.TextIO | None,
428
- content_type: Literal["json", "form", "text", "none", "auto"],
422
+ content_type: t.Literal["json", "form", "text", "none", "auto"],
429
423
  allow_errors: bool,
430
424
  allow_redirects: bool,
431
425
  no_retry: bool,
@@ -1,6 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
4
3
  import typing as t
5
4
  import uuid
6
5
 
@@ -10,11 +9,6 @@ from globus_cli.login_manager import LoginManager
10
9
  from globus_cli.parsing import command, endpoint_id_arg
11
10
  from globus_cli.termio import Field, TextMode, display, formatters
12
11
 
13
- if sys.version_info >= (3, 8):
14
- from typing import Literal
15
- else:
16
- from typing_extensions import Literal
17
-
18
12
 
19
13
  class ChoiceSlugified(click.Choice):
20
14
  """
@@ -23,7 +17,7 @@ class ChoiceSlugified(click.Choice):
23
17
  """
24
18
 
25
19
  def get_type_annotation(self, param: click.Parameter) -> type:
26
- return t.cast(type, Literal[tuple(self._slugify(c) for c in self.choices)])
20
+ return t.cast(type, t.Literal[tuple(self._slugify(c) for c in self.choices)])
27
21
 
28
22
  def convert(
29
23
  self, value: t.Any, param: click.Parameter | None, ctx: click.Context | None
@@ -95,7 +89,7 @@ def collection_list(
95
89
  endpoint_id: uuid.UUID,
96
90
  include_private_policies: bool,
97
91
  filters: tuple[
98
- Literal[
92
+ t.Literal[
99
93
  "mapped_collections", "guest_collections", "managed_by_me", "created_by_me"
100
94
  ],
101
95
  ...,
@@ -37,7 +37,7 @@ from globus_cli.termio import TextMode, display
37
37
  @click.option(
38
38
  "--myproxy-username",
39
39
  "-U",
40
- help=("Give a username to use with --myproxy"),
40
+ help="Give a username to use with --myproxy",
41
41
  )
42
42
  @click.option("--myproxy-password", "-P", hidden=True)
43
43
  @click.option(
@@ -171,9 +171,9 @@ def endpoint_activate(
171
171
 
172
172
  # check if endpoint is already activated unless --force
173
173
  if not force:
174
- res: (
175
- dict[str, str] | globus_sdk.GlobusHTTPResponse
176
- ) = transfer_client.endpoint_autoactivate(endpoint_id, if_expires_in=60)
174
+ res: dict[str, str] | globus_sdk.GlobusHTTPResponse = (
175
+ transfer_client.endpoint_autoactivate(endpoint_id, if_expires_in=60)
176
+ )
177
177
 
178
178
  if "AlreadyActivated" == res["code"]:
179
179
  display(
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  from globus_cli.constants import ExplicitNullType
@@ -17,11 +17,6 @@ from globus_cli.termio import Field, TextMode, display, print_command_hint
17
17
 
18
18
  from ._common import validate_endpoint_create_and_update_params
19
19
 
20
- if sys.version_info >= (3, 8):
21
- from typing import Literal
22
- else:
23
- from typing_extensions import Literal
24
-
25
20
  COMMON_FIELDS = [Field("Message", "message"), Field("Endpoint ID", "id")]
26
21
 
27
22
  GCP_FIELDS = [Field("Setup Key", "globus_connect_setup_key")]
@@ -81,7 +76,7 @@ def endpoint_create(
81
76
  max_parallelism: int | None,
82
77
  myproxy_dn: str | None,
83
78
  myproxy_server: str | None,
84
- network_use: Literal["normal", "minimal", "aggressive", "custom"] | None,
79
+ network_use: t.Literal["normal", "minimal", "aggressive", "custom"] | None,
85
80
  oauth_server: str | None,
86
81
  organization: str | None | ExplicitNullType,
87
82
  preferred_concurrency: int | None,
@@ -122,9 +117,7 @@ For GCS, use the globus-connect-server CLI from your Endpoint."""
122
117
  endpoint_type = (
123
118
  EntityType.GCP_MAPPED
124
119
  if personal
125
- else EntityType.GCSV4_HOST
126
- if server
127
- else EntityType.GCSV4_SHARE
120
+ else EntityType.GCSV4_HOST if server else EntityType.GCSV4_SHARE
128
121
  )
129
122
 
130
123
  # build options into a dict for kwarg-expansion
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  import click
@@ -9,11 +9,6 @@ from globus_cli.login_manager import LoginManager
9
9
  from globus_cli.parsing import ENDPOINT_PLUS_REQPATH, command, security_principal_opts
10
10
  from globus_cli.termio import Field, TextMode, display
11
11
 
12
- if sys.version_info >= (3, 8):
13
- from typing import Literal
14
- else:
15
- from typing_extensions import Literal
16
-
17
12
 
18
13
  @command(
19
14
  "create",
@@ -60,7 +55,7 @@ def create_command(
60
55
  login_manager: LoginManager,
61
56
  *,
62
57
  principal: tuple[str, str],
63
- permissions: Literal["r", "rw"],
58
+ permissions: t.Literal["r", "rw"],
64
59
  endpoint_plus_path: tuple[uuid.UUID, str | None],
65
60
  notify_email: str | None,
66
61
  notify_message: str | None,
@@ -1,4 +1,4 @@
1
- import sys
1
+ import typing as t
2
2
  import uuid
3
3
 
4
4
  import click
@@ -7,11 +7,6 @@ from globus_cli.login_manager import LoginManager
7
7
  from globus_cli.parsing import command, endpoint_id_arg
8
8
  from globus_cli.termio import TextMode, display
9
9
 
10
- if sys.version_info >= (3, 8):
11
- from typing import Literal
12
- else:
13
- from typing_extensions import Literal
14
-
15
10
 
16
11
  @command(
17
12
  "update",
@@ -38,7 +33,7 @@ $ globus endpoint permission update $ep_id $rule_id --permissions r
38
33
  def update_command(
39
34
  login_manager: LoginManager,
40
35
  *,
41
- permissions: Literal["r", "rw"],
36
+ permissions: t.Literal["r", "rw"],
42
37
  rule_id: str,
43
38
  endpoint_id: uuid.UUID,
44
39
  ) -> None:
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  import click
@@ -9,11 +9,6 @@ from globus_cli.login_manager import LoginManager
9
9
  from globus_cli.parsing import command, endpoint_id_arg, security_principal_opts
10
10
  from globus_cli.termio import display
11
11
 
12
- if sys.version_info >= (3, 8):
13
- from typing import Literal
14
- else:
15
- from typing_extensions import Literal
16
-
17
12
 
18
13
  @command(
19
14
  "create",
@@ -47,7 +42,7 @@ $ globus endpoint role create 'aa752cea-8222-5bc8-acd9-555b090c0ccb' \
47
42
  def role_create(
48
43
  login_manager: LoginManager,
49
44
  *,
50
- role: Literal[
45
+ role: t.Literal[
51
46
  "administrator", "access_manager", "activity_manager", "activity_monitor"
52
47
  ],
53
48
  principal: tuple[str, str],
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
 
5
5
  import click
6
6
  from globus_sdk.paging import Paginator
@@ -10,11 +10,6 @@ from globus_cli.parsing import command
10
10
  from globus_cli.termio import display
11
11
  from globus_cli.utils import PagingWrapper
12
12
 
13
- if sys.version_info >= (3, 8):
14
- from typing import Literal
15
- else:
16
- from typing_extensions import Literal
17
-
18
13
 
19
14
  @command(
20
15
  "search",
@@ -81,7 +76,7 @@ def endpoint_search(
81
76
  filter_fulltext: str | None,
82
77
  limit: int,
83
78
  filter_owner_id: str | None,
84
- filter_scope: Literal[
79
+ filter_scope: t.Literal[
85
80
  "all",
86
81
  "administered-by-me",
87
82
  "my-endpoints",
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  from globus_cli.login_manager import LoginManager
@@ -9,11 +9,6 @@ from globus_cli.termio import TextMode, display
9
9
 
10
10
  from ._common import server_add_opts
11
11
 
12
- if sys.version_info >= (3, 8):
13
- from typing import Literal
14
- else:
15
- from typing_extensions import Literal
16
-
17
12
 
18
13
  @command(
19
14
  "add",
@@ -37,7 +32,7 @@ def server_add(
37
32
  endpoint_id: uuid.UUID,
38
33
  subject: str | None,
39
34
  port: int,
40
- scheme: Literal["gsiftp", "ftp"],
35
+ scheme: t.Literal["gsiftp", "ftp"],
41
36
  hostname: str,
42
37
  incoming_data_ports: tuple[int | None, int | None] | None,
43
38
  outgoing_data_ports: tuple[int | None, int | None] | None,
@@ -1,6 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
4
3
  import typing as t
5
4
  import uuid
6
5
  from textwrap import dedent
@@ -12,16 +11,11 @@ from globus_cli.login_manager import LoginManager
12
11
  from globus_cli.parsing import command, endpoint_id_arg
13
12
  from globus_cli.termio import TextMode, display
14
13
 
15
- if sys.version_info >= (3, 8):
16
- from typing import Literal
17
- else:
18
- from typing_extensions import Literal
19
-
20
14
 
21
15
  def _spec_to_matches(
22
16
  server_list: globus_sdk.IterableTransferResponse,
23
17
  server_spec: str,
24
- mode: Literal["uri", "hostname", "hostname_port"],
18
+ mode: t.Literal["uri", "hostname", "hostname_port"],
25
19
  ) -> list[t.Mapping[str, t.Any]]:
26
20
  """
27
21
  mode is in {uri, hostname, hostname_port}
@@ -47,7 +41,7 @@ def _spec_to_matches(
47
41
  return [server_doc for server_doc in server_list if match(server_doc)]
48
42
 
49
43
 
50
- def _detect_mode(server: str) -> Literal["id", "uri", "hostname", "hostname_port"]:
44
+ def _detect_mode(server: str) -> t.Literal["id", "uri", "hostname", "hostname_port"]:
51
45
  try:
52
46
  int(server)
53
47
  return "id"
@@ -38,9 +38,9 @@ def server_list(login_manager: LoginManager, *, endpoint_id: uuid.UUID) -> None:
38
38
  # raises usage error on shares for us
39
39
  endpoint_w_server_list = transfer_client.get_endpoint_w_server_list(endpoint_id)
40
40
  endpoint = endpoint_w_server_list[0]
41
- server_list: (
42
- str | dict[str, t.Any] | globus_sdk.GlobusHTTPResponse
43
- ) = endpoint_w_server_list[1]
41
+ server_list: str | dict[str, t.Any] | globus_sdk.GlobusHTTPResponse = (
42
+ endpoint_w_server_list[1]
43
+ )
44
44
 
45
45
  if server_list == "S3": # not GCS -- this is an S3 endpoint
46
46
  server_list = {"s3_url": endpoint["s3_url"]}
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  from globus_cli.login_manager import LoginManager
@@ -9,11 +9,6 @@ from globus_cli.termio import TextMode, display
9
9
 
10
10
  from ._common import server_id_arg, server_update_opts
11
11
 
12
- if sys.version_info >= (3, 8):
13
- from typing import Literal
14
- else:
15
- from typing_extensions import Literal
16
-
17
12
 
18
13
  @command(
19
14
  "update",
@@ -40,7 +35,7 @@ def server_update(
40
35
  server_id: str,
41
36
  subject: str | None,
42
37
  port: int | None,
43
- scheme: Literal["gsiftp", "ftp"] | None,
38
+ scheme: t.Literal["gsiftp", "ftp"] | None,
44
39
  hostname: str | None,
45
40
  incoming_data_ports: tuple[int | None, int | None] | None,
46
41
  outgoing_data_ports: tuple[int | None, int | None] | None,
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
  import uuid
5
5
 
6
6
  import click
@@ -18,11 +18,6 @@ from globus_cli.termio import TextMode, display
18
18
 
19
19
  from ._common import validate_endpoint_create_and_update_params
20
20
 
21
- if sys.version_info >= (3, 8):
22
- from typing import Literal
23
- else:
24
- from typing_extensions import Literal
25
-
26
21
 
27
22
  @command("update")
28
23
  @endpoint_id_arg
@@ -58,7 +53,7 @@ def endpoint_update(
58
53
  max_parallelism: int | None,
59
54
  myproxy_dn: str | None,
60
55
  myproxy_server: str | None,
61
- network_use: Literal["normal", "minimal", "aggressive", "custom"] | None,
56
+ network_use: t.Literal["normal", "minimal", "aggressive", "custom"] | None,
62
57
  no_default_directory: bool | None,
63
58
  oauth_server: str | None,
64
59
  organization: str | None | ExplicitNullType,
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import uuid
4
+
3
5
  import click
4
6
 
5
7
  from globus_cli.commands.flows._common import (
@@ -36,6 +38,11 @@ ROLE_TYPES = ("flow_viewer", "flow_starter", "flow_administrator", "flow_owner")
36
38
  @starters_option
37
39
  @viewers_option
38
40
  @keywords_option
41
+ @click.option(
42
+ "--subscription-id",
43
+ help="Set a subscription_id for the flow, marking it as subscription tier.",
44
+ type=click.UUID,
45
+ )
39
46
  @LoginManager.requires_login("flows")
40
47
  def create_command(
41
48
  login_manager: LoginManager,
@@ -49,6 +56,7 @@ def create_command(
49
56
  starters: tuple[str, ...],
50
57
  viewers: tuple[str, ...],
51
58
  keywords: tuple[str, ...],
59
+ subscription_id: uuid.UUID | None,
52
60
  ) -> None:
53
61
  """
54
62
  Create a new flow.
@@ -98,6 +106,7 @@ def create_command(
98
106
  flow_starters=list(starters),
99
107
  flow_administrators=list(administrators),
100
108
  keywords=list(keywords),
109
+ subscription_id=subscription_id,
101
110
  )
102
111
 
103
112
  # Configure formatters for principals
@@ -114,6 +123,7 @@ def create_command(
114
123
  Field("Description", "description"),
115
124
  Field("Keywords", "keywords", formatter=formatters.ArrayFormatter()),
116
125
  Field("Owner", "flow_owner", formatter=principal_formatter),
126
+ Field("Subscription ID", "subscription_id"),
117
127
  Field("Created At", "created_at", formatter=formatters.Date),
118
128
  Field("Updated At", "updated_at", formatter=formatters.Date),
119
129
  Field(
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- import sys
3
+ import typing as t
4
4
 
5
5
  import click
6
6
  from globus_sdk.paging import Paginator
@@ -10,11 +10,6 @@ from globus_cli.parsing import ColonDelimitedChoiceTuple, command
10
10
  from globus_cli.termio import Field, display, formatters
11
11
  from globus_cli.utils import PagingWrapper
12
12
 
13
- if sys.version_info >= (3, 8):
14
- from typing import Literal
15
- else:
16
- from typing_extensions import Literal
17
-
18
13
  ROLE_TYPES = ("flow_viewer", "flow_starter", "flow_administrator", "flow_owner")
19
14
  ORDER_BY_FIELDS = (
20
15
  "id",
@@ -77,19 +72,19 @@ def list_command(
77
72
  login_manager: LoginManager,
78
73
  *,
79
74
  filter_role: (
80
- Literal["flow_viewer", "flow_starter", "flow_administrator", "flow_owner"]
75
+ t.Literal["flow_viewer", "flow_starter", "flow_administrator", "flow_owner"]
81
76
  | None
82
77
  ),
83
78
  orderby: tuple[
84
79
  tuple[
85
- Literal[
80
+ t.Literal[
86
81
  "id",
87
82
  "scope_string",
88
83
  "title",
89
84
  "created_at",
90
85
  "updated_at",
91
86
  ],
92
- Literal["ASC", "DESC"],
87
+ t.Literal["ASC", "DESC"],
93
88
  ],
94
89
  ...,
95
90
  ],
@@ -30,6 +30,7 @@ def show_command(login_manager: LoginManager, *, flow_id: uuid.UUID) -> None:
30
30
  Field("Title", "title"),
31
31
  Field("Keywords", "keywords", formatter=formatters.ArrayFormatter()),
32
32
  Field("Owner", "flow_owner", formatter=principal_formatter),
33
+ Field("Subscription ID", "subscription_id"),
33
34
  Field("Created At", "created_at", formatter=formatters.Date),
34
35
  Field("Updated At", "updated_at", formatter=formatters.Date),
35
36
  Field(
@@ -4,7 +4,10 @@ from globus_cli.parsing import group
4
4
  @group(
5
5
  "endpoint",
6
6
  lazy_subcommands={
7
+ "role": (".role", "role_command"),
7
8
  "set-subscription-id": (".set_subscription_id", "set_subscription_id_command"),
9
+ "show": (".show", "show_command"),
10
+ "update": (".update", "update_command"),
8
11
  },
9
12
  )
10
13
  def endpoint_command() -> None: