smartsheet-python-sdk 3.1.0__tar.gz → 3.2.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 (258) hide show
  1. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/ADVANCED.md +1 -0
  2. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/CHANGELOG.md +10 -0
  3. {smartsheet-python-sdk-3.1.0/smartsheet_python_sdk.egg-info → smartsheet-python-sdk-3.2.0}/PKG-INFO +1 -1
  4. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/docs-source/index.rst +5 -1
  5. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/__init__.py +1 -0
  6. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/__init__.py +1 -0
  7. smartsheet-python-sdk-3.2.0/smartsheet/models/enums/seat_type.py +17 -0
  8. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/token_paginated_result.py +15 -4
  9. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/user_model.py +28 -0
  10. smartsheet-python-sdk-3.2.0/smartsheet/models/user_plan.py +68 -0
  11. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/users.py +94 -1
  12. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/version.py +2 -2
  13. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0/smartsheet_python_sdk.egg-info}/PKG-INFO +1 -1
  14. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet_python_sdk.egg-info/SOURCES.txt +2 -0
  15. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.gitchangelog.rc +0 -0
  16. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.gitchangelog.tpl +0 -0
  17. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/pull_request_template.md +0 -0
  20. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/workflows/publish-distribution.yaml +0 -0
  21. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/workflows/publish-documentation.yaml +0 -0
  22. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.github/workflows/test-build.yaml +0 -0
  23. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.gitignore +0 -0
  24. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/.markdownlint.json +0 -0
  25. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/CONTRIBUTING.md +0 -0
  26. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/LICENSE.md +0 -0
  27. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/Makefile +0 -0
  28. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/NOTICE +0 -0
  29. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/README.md +0 -0
  30. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/docs-source/Makefile +0 -0
  31. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/docs-source/conf.py +0 -0
  32. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/pylintrc +0 -0
  33. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/setup.cfg +0 -0
  34. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/setup.py +0 -0
  35. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/__init__.py +0 -0
  36. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/attachments.py +0 -0
  37. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/cells.py +0 -0
  38. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/contacts.py +0 -0
  39. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/discussions.py +0 -0
  40. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/events.py +0 -0
  41. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/exceptions.py +0 -0
  42. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/favorites.py +0 -0
  43. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/folders.py +0 -0
  44. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/groups.py +0 -0
  45. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/home.py +0 -0
  46. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/images.py +0 -0
  47. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/access_token.py +0 -0
  48. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/account.py +0 -0
  49. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/alternate_email.py +0 -0
  50. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/attachment.py +0 -0
  51. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/auto_number_format.py +0 -0
  52. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/automation_action.py +0 -0
  53. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/automation_rule.py +0 -0
  54. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/boolean_object_value.py +0 -0
  55. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/bulk_item_failure.py +0 -0
  56. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/bulk_item_result.py +0 -0
  57. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cell.py +0 -0
  58. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cell_data_item.py +0 -0
  59. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cell_history.py +0 -0
  60. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cell_link.py +0 -0
  61. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cell_link_widget_content.py +0 -0
  62. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/chart_widget_content.py +0 -0
  63. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/column.py +0 -0
  64. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/comment.py +0 -0
  65. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/contact.py +0 -0
  66. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/contact_object_value.py +0 -0
  67. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/container_destination.py +0 -0
  68. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/copy_or_move_row_destination.py +0 -0
  69. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/copy_or_move_row_directive.py +0 -0
  70. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/copy_or_move_row_result.py +0 -0
  71. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/criteria.py +0 -0
  72. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/cross_sheet_reference.py +0 -0
  73. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/currency.py +0 -0
  74. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/date_object_value.py +0 -0
  75. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/datetime_object_value.py +0 -0
  76. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/discussion.py +0 -0
  77. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/downloaded_file.py +0 -0
  78. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/duration.py +0 -0
  79. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/email.py +0 -0
  80. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/access_level.py +0 -0
  81. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/attachment_parent_type.py +0 -0
  82. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/attachment_sub_type.py +0 -0
  83. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/attachment_type.py +0 -0
  84. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/automation_action_frequency.py +0 -0
  85. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/automation_action_type.py +0 -0
  86. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/automation_rule_disabled_reason.py +0 -0
  87. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/cell_link_status.py +0 -0
  88. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/column_type.py +0 -0
  89. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/criteria_target.py +0 -0
  90. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/cross_sheet_reference_status.py +0 -0
  91. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/currency_code.py +0 -0
  92. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/day_descriptors.py +0 -0
  93. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/day_ordinal.py +0 -0
  94. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/event_action.py +0 -0
  95. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/event_obejct_type.py +0 -0
  96. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/event_source.py +0 -0
  97. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/global_template.py +0 -0
  98. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/operator.py +0 -0
  99. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/paper_type.py +0 -0
  100. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/predecessor_type.py +0 -0
  101. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/publish_accessible_by.py +0 -0
  102. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/schedule_type.py +0 -0
  103. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/share_scope.py +0 -0
  104. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/share_type.py +0 -0
  105. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/sheet_email_format.py +0 -0
  106. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/sheet_filter_operator.py +0 -0
  107. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/sheet_filter_type.py +0 -0
  108. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/sort_direction.py +0 -0
  109. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/symbol.py +0 -0
  110. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/system_column_type.py +0 -0
  111. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/update_request_status.py +0 -0
  112. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/user_status.py +0 -0
  113. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/enums/widget_type.py +0 -0
  114. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/error.py +0 -0
  115. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/error_result.py +0 -0
  116. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/event.py +0 -0
  117. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/event_result.py +0 -0
  118. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/explicit_null.py +0 -0
  119. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/favorite.py +0 -0
  120. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/folder.py +0 -0
  121. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/font_family.py +0 -0
  122. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/format_details.py +0 -0
  123. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/format_tables.py +0 -0
  124. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/group.py +0 -0
  125. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/group_member.py +0 -0
  126. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/home.py +0 -0
  127. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/hyperlink.py +0 -0
  128. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/image.py +0 -0
  129. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/image_url.py +0 -0
  130. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/image_url_map.py +0 -0
  131. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/image_widget_content.py +0 -0
  132. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/index_result.py +0 -0
  133. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/json_object.py +0 -0
  134. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/multi_contact_object_value.py +0 -0
  135. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/multi_picklist_object_value.py +0 -0
  136. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/multi_row_email.py +0 -0
  137. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/number_object_value.py +0 -0
  138. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/o_auth_error.py +0 -0
  139. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/object_value.py +0 -0
  140. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/paginated_children_result.py +0 -0
  141. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/predecessor.py +0 -0
  142. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/predecessor_list.py +0 -0
  143. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/primitive_object_value.py +0 -0
  144. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/profile_image.py +0 -0
  145. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/project_settings.py +0 -0
  146. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/recipient.py +0 -0
  147. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report.py +0 -0
  148. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report_cell.py +0 -0
  149. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report_column.py +0 -0
  150. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report_publish.py +0 -0
  151. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report_row.py +0 -0
  152. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/report_widget_content.py +0 -0
  153. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/result.py +0 -0
  154. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/row.py +0 -0
  155. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/row_email.py +0 -0
  156. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/row_mapping.py +0 -0
  157. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/schedule.py +0 -0
  158. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/scope.py +0 -0
  159. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/search_result.py +0 -0
  160. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/search_result_item.py +0 -0
  161. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/selection_range.py +0 -0
  162. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sent_update_request.py +0 -0
  163. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/server_info.py +0 -0
  164. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/share.py +0 -0
  165. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet.py +0 -0
  166. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_email.py +0 -0
  167. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_filter.py +0 -0
  168. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_filter_details.py +0 -0
  169. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_publish.py +0 -0
  170. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_summary.py +0 -0
  171. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_user_permissions.py +0 -0
  172. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sheet_user_settings.py +0 -0
  173. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/shortcut_data_item.py +0 -0
  174. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/shortcut_widget_content.py +0 -0
  175. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sight.py +0 -0
  176. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sight_publish.py +0 -0
  177. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sort_criterion.py +0 -0
  178. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/sort_specifier.py +0 -0
  179. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/source.py +0 -0
  180. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/string_object_value.py +0 -0
  181. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/summary_field.py +0 -0
  182. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/template.py +0 -0
  183. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/title_rich_text_widget_content.py +0 -0
  184. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/update_request.py +0 -0
  185. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/user.py +0 -0
  186. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/user_profile.py +0 -0
  187. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/version.py +0 -0
  188. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/web_content_widget_content.py +0 -0
  189. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/webhook.py +0 -0
  190. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/webhook_secret.py +0 -0
  191. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/webhook_stats.py +0 -0
  192. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/webhook_subscope.py +0 -0
  193. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/widget.py +0 -0
  194. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/widget_content.py +0 -0
  195. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/widget_hyperlink.py +0 -0
  196. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/models/workspace.py +0 -0
  197. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/object_value.py +0 -0
  198. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/passthrough.py +0 -0
  199. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/reports.py +0 -0
  200. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/search.py +0 -0
  201. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/server.py +0 -0
  202. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/session.py +0 -0
  203. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/sheets.py +0 -0
  204. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/sights.py +0 -0
  205. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/smartsheet.py +0 -0
  206. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/templates.py +0 -0
  207. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/token.py +0 -0
  208. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/types.py +0 -0
  209. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/util.py +0 -0
  210. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/webhooks.py +0 -0
  211. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet/workspaces.py +0 -0
  212. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet_python_sdk.egg-info/dependency_links.txt +0 -0
  213. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet_python_sdk.egg-info/requires.txt +0 -0
  214. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/smartsheet_python_sdk.egg-info/top_level.txt +0 -0
  215. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/README.md +0 -0
  216. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/conftest.py +0 -0
  217. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/calling_all_curs.txt +0 -0
  218. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/curly.jpg +0 -0
  219. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/moe-curly.jpg +0 -0
  220. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/quote.txt +0 -0
  221. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/stooges_v1.jpg +0 -0
  222. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/fixtures/stooges_v2.jpg +0 -0
  223. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_attachments.py +0 -0
  224. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_columns.py +0 -0
  225. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_contacts.py +0 -0
  226. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_cross_sheet_references.py +0 -0
  227. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_discussions.py +0 -0
  228. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_events.py +0 -0
  229. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_favorites.py +0 -0
  230. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_folders.py +0 -0
  231. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_groups.py +0 -0
  232. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_home.py +0 -0
  233. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_model_attributes.py +0 -0
  234. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_multi_picklist.py +0 -0
  235. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_object_value.py +0 -0
  236. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_passthrough.py +0 -0
  237. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_regression.py +0 -0
  238. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_reports.py +0 -0
  239. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_rows.py +0 -0
  240. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_server_info.py +0 -0
  241. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_sheet_summary.py +0 -0
  242. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_sheets.py +0 -0
  243. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_templates.py +0 -0
  244. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_update_requests.py +0 -0
  245. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_users.py +0 -0
  246. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_webhooks.py +0 -0
  247. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_workspaces.py +0 -0
  248. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/integration/test_zsearch.py +0 -0
  249. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/mock_api_test_helper.py +0 -0
  250. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_automation_rules.py +0 -0
  251. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_columns.py +0 -0
  252. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_folders.py +0 -0
  253. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_rows.py +0 -0
  254. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_sheets.py +0 -0
  255. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_sights.py +0 -0
  256. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_api_workspaces.py +0 -0
  257. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_change_agent.py +0 -0
  258. {smartsheet-python-sdk-3.1.0 → smartsheet-python-sdk-3.2.0}/tests/mock_api/test_mock_serialization.py +0 -0
@@ -134,6 +134,7 @@ using the same `stream_position` value until the next list of events is retrieve
134
134
  Many events have additional information available as a part of the event. That information can be accessed using
135
135
  the Python dictionary stored in the `additional_details` property (Note that values of the `additional_details`
136
136
  dictionary use camelCase/JSON names, e.g. `sheetName` not `sheet_name`). Information about the additional details
137
+
137
138
  provided can be found on the [Events Description](https://smartsheet.redoc.ly/tag/eventsDescription) page of the API Documentation.
138
139
 
139
140
  ```python
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.2.0] - 2025-09-25
9
+
10
+ ### Added
11
+
12
+ - Support for POST /2.0/users/{userId}/plans/{planId}/downgrade
13
+ - Support for POST /2.0/users/{userId}/plans/{planId}/upgrade
14
+ - Support for GET /2.0/users/{userId}/plans
15
+ - Support for GET /2.0/users?planId={planId}&seatType={seatType}
16
+ - Support for DELETE /2.0/users/{userId}/plans/{planId}
17
+
8
18
  ## [3.1.0] - 2025-08-28
9
19
 
10
20
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: smartsheet-python-sdk
3
- Version: 3.1.0
3
+ Version: 3.2.0
4
4
  Summary: Library that uses Python to connect to Smartsheet services (using API 2.0).
5
5
  Home-page: http://smartsheet-platform.github.io/api-docs/
6
6
  Author: Smartsheet
@@ -7,7 +7,11 @@
7
7
  Smartsheet Python SDK Documentation
8
8
  ===================================
9
9
 
10
- Release v\ |version|.
10
+ * Release v\ |version|
11
+
12
+ * `GitHub repository <https://github.com/smartsheet/smartsheet-python-sdk>`_
13
+
14
+ * `Changelog <https://github.com/smartsheet/smartsheet-python-sdk/blob/mainline/CHANGELOG.md>`_
11
15
 
12
16
  Quickstart
13
17
  ----------
@@ -121,3 +121,4 @@ from .webhook_subscope import WebhookSubscope
121
121
  from .widget import Widget
122
122
  from .widget_content import WidgetContent
123
123
  from .workspace import Workspace
124
+ from .user_plan import UserPlan
@@ -52,3 +52,4 @@ from .system_column_type import SystemColumnType
52
52
  from .update_request_status import UpdateRequestStatus
53
53
  from .user_status import UserStatus
54
54
  from .widget_type import WidgetType
55
+ from .seat_type import SeatType, DowngradeSeatType, UpgradeSeatType
@@ -0,0 +1,17 @@
1
+ from enum import Enum
2
+
3
+ class SeatType(str, Enum):
4
+ VIEWER = 'VIEWER'
5
+ GUEST = 'GUEST'
6
+ MEMBER = 'MEMBER'
7
+ PROVISIONAL_MEMBER = 'PROVISIONAL_MEMBER'
8
+
9
+
10
+ class DowngradeSeatType(str, Enum):
11
+ VIEWER = 'VIEWER'
12
+ GUEST = 'GUEST'
13
+
14
+
15
+ class UpgradeSeatType(str, Enum):
16
+ GUEST = 'GUEST'
17
+ MEMBER = 'MEMBER'
@@ -18,7 +18,7 @@
18
18
  from __future__ import absolute_import
19
19
 
20
20
  from typing import TypeVar, Generic, List
21
- from ..types import String, json
21
+ from ..types import String, json, TypedList, importlib
22
22
  from ..util import deserialize, serialize
23
23
 
24
24
  T = TypeVar('T')
@@ -27,13 +27,17 @@ T = TypeVar('T')
27
27
  class TokenPaginatedResult(Generic[T]):
28
28
  """Smartsheet TokenPaginatedResult data model with generic type support."""
29
29
 
30
- def __init__(self, props=None, base_obj=None):
30
+ def __init__(self, props=None, dynamic_data_type=None, base_obj=None):
31
31
  """Initialize the TokenPaginatedResult model."""
32
32
  self._base = None
33
33
  if base_obj is not None:
34
34
  self._base = base_obj
35
35
 
36
- self._data = []
36
+ self._dynamic_data_type = None
37
+ if dynamic_data_type is not None:
38
+ self._dynamic_data_type = dynamic_data_type
39
+
40
+ self._data = TypedList(object)
37
41
  self._last_key = String()
38
42
 
39
43
  if props:
@@ -48,7 +52,14 @@ class TokenPaginatedResult(Generic[T]):
48
52
 
49
53
  @data.setter
50
54
  def data(self, value):
51
- self._data = value
55
+ class_ = getattr(
56
+ importlib.import_module("smartsheet.models"), self._dynamic_data_type
57
+ )
58
+ if isinstance(value, list):
59
+ self._data = [class_(x, self._base) for x in value]
60
+ else:
61
+ self._data = class_(value, self._base)
62
+
52
63
 
53
64
  @property
54
65
  def last_key(self):
@@ -19,6 +19,7 @@ from __future__ import absolute_import
19
19
 
20
20
  from ..types import (Boolean, EnumeratedValue, Number, String, Timestamp,
21
21
  TypedList, TypedObject, json)
22
+ from ..models.enums import SeatType
22
23
  from ..util import deserialize, serialize
23
24
  from .alternate_email import AlternateEmail
24
25
  from .enums import UserStatus
@@ -44,6 +45,7 @@ class UserModel:
44
45
  self._first_name = String()
45
46
  self._group_admin = Boolean()
46
47
  self._id_ = Number()
48
+ self._is_internal = Boolean()
47
49
  self._last_login = Timestamp()
48
50
  self._last_name = String()
49
51
  self._licensed_sheet_creator = Boolean()
@@ -51,6 +53,8 @@ class UserModel:
51
53
  self._profile_image = TypedObject(ProfileImage)
52
54
  self._resource_viewer = Boolean()
53
55
  self._role = String()
56
+ self._seat_type = EnumeratedValue(SeatType)
57
+ self._seat_type_last_changed_at = Timestamp()
54
58
  self._sheet_count = Number()
55
59
  self._status = EnumeratedValue(UserStatus)
56
60
  self._title = String()
@@ -145,6 +149,14 @@ class UserModel:
145
149
  def id_(self, value):
146
150
  self._id_.value = value
147
151
 
152
+ @property
153
+ def is_internal(self):
154
+ return self._is_internal.value
155
+
156
+ @is_internal.setter
157
+ def is_internal(self, value):
158
+ self._is_internal.value = value
159
+
148
160
  @property
149
161
  def last_login(self):
150
162
  return self._last_login.value
@@ -201,6 +213,22 @@ class UserModel:
201
213
  def role(self, value):
202
214
  self._role.value = value
203
215
 
216
+ @property
217
+ def seat_type(self):
218
+ return self._seat_type
219
+
220
+ @seat_type.setter
221
+ def seat_type(self, value):
222
+ self._seat_type.set(value)
223
+
224
+ @property
225
+ def seat_type_last_changed_at(self):
226
+ return self._seat_type_last_changed_at.value
227
+
228
+ @seat_type_last_changed_at.setter
229
+ def seat_type_last_changed_at(self, value):
230
+ self._seat_type_last_changed_at.value = value
231
+
204
232
  @property
205
233
  def sheet_count(self):
206
234
  return self._sheet_count.value
@@ -0,0 +1,68 @@
1
+ from __future__ import absolute_import
2
+
3
+ from ..types import (Boolean, EnumeratedValue, Number, String, Timestamp,
4
+ TypedList, TypedObject, json)
5
+ from ..models.enums import SeatType
6
+ from ..util import deserialize, serialize
7
+
8
+
9
+ class UserPlan:
10
+
11
+ """Smartsheet Plan for a User data model."""
12
+
13
+ def __init__(self, props=None, base_obj=None):
14
+ """Initialize the UserPlan model."""
15
+ self._base = None
16
+ if base_obj is not None:
17
+ self._base = base_obj
18
+
19
+ self._plan_id = Number()
20
+ self._seat_type = EnumeratedValue(SeatType)
21
+ self._seat_type_last_changed_at = Timestamp()
22
+ self._is_internal = Boolean()
23
+
24
+ if props:
25
+ deserialize(self, props)
26
+
27
+ self.__initialized = True
28
+
29
+ @property
30
+ def plan_id(self):
31
+ return self._plan_id.value
32
+
33
+ @plan_id.setter
34
+ def plan_id(self, value):
35
+ self._plan_id.value = value
36
+
37
+ @property
38
+ def seat_type(self):
39
+ return self._seat_type
40
+
41
+ @seat_type.setter
42
+ def seat_type(self, value):
43
+ self._seat_type.set(value)
44
+
45
+ @property
46
+ def seat_type_last_changed_at(self):
47
+ return self._seat_type_last_changed_at.value
48
+
49
+ @seat_type_last_changed_at.setter
50
+ def seat_type_last_changed_at(self, value):
51
+ self._seat_type_last_changed_at.value = value
52
+
53
+ @property
54
+ def is_internal(self):
55
+ return self._is_internal.value
56
+
57
+ @is_internal.setter
58
+ def is_internal(self, value):
59
+ self._is_internal.value = value
60
+
61
+ def to_dict(self):
62
+ return serialize(self)
63
+
64
+ def to_json(self):
65
+ return json.dumps(self.to_dict())
66
+
67
+ def __str__(self):
68
+ return self.to_json()
@@ -21,6 +21,7 @@ import logging
21
21
  from datetime import datetime
22
22
 
23
23
  from . import fresh_operation
24
+ from .models.enums.seat_type import SeatType
24
25
 
25
26
 
26
27
  class Users:
@@ -254,7 +255,8 @@ class Users:
254
255
  return response
255
256
 
256
257
  def list_users(
257
- self, email=None, page_size=None, page=None, include_all=None, include=None
258
+ self, email=None, page_size=None, page=None, include_all=None, include=None,
259
+ plan_id=None, seat_type=None
258
260
  ):
259
261
  """Get the list of Users in the organization.
260
262
 
@@ -268,6 +270,10 @@ class Users:
268
270
  (i.e. do not paginate).
269
271
  include(list[str]): optional include parameter, only current
270
272
  accepted value is 'lastLogin'
273
+ plan_id(int): optional plan_id parameter, returns users
274
+ in the selected plan.
275
+ seat_type(SeatType): optional seat_type parameter, filters users
276
+ by their seat type.
271
277
 
272
278
  Returns:
273
279
  IndexResult
@@ -280,6 +286,8 @@ class Users:
280
286
  _op["query_params"]["pageSize"] = page_size
281
287
  _op["query_params"]["page"] = page
282
288
  _op["query_params"]["includeAll"] = include_all
289
+ _op["query_params"]["planId"] = plan_id
290
+ _op["query_params"]["seatType"] = seat_type
283
291
 
284
292
  expected = ["IndexResult", "User"]
285
293
 
@@ -358,6 +366,91 @@ class Users:
358
366
 
359
367
  return response
360
368
 
369
+ def upgrade_user(self, user_id, plan_id, seat_type):
370
+ """Upgrades a user for a plan.
371
+
372
+ Args:
373
+ user_id (int): User ID
374
+ plan_id (int): Plan ID
375
+ seat_type (UpgradeSeatType): Seat type to upgrade to
376
+
377
+ Returns:
378
+ dict: Result
379
+ """
380
+ _op = fresh_operation("upgrade_user")
381
+ _op["method"] = "POST"
382
+ _op["path"] = f"/users/{user_id}/plans/{plan_id}/upgrade"
383
+ _op["json"] = {"seatType": seat_type}
384
+
385
+ expected = ["Result", None]
386
+
387
+ prepped_request = self._base.prepare_request(_op)
388
+ response = self._base.request(prepped_request, expected, _op)
389
+
390
+ return response
391
+
392
+ def downgrade_user(self, user_id, plan_id, seat_type):
393
+ """Downgrades a user for a plan.
394
+
395
+ Args:
396
+ user_id (int): User ID
397
+ plan_id (int): Plan ID
398
+ seat_type (DowngradeSeatType): Seat type to downgrade to
399
+
400
+ Returns:
401
+ dict: Result
402
+ """
403
+ _op = fresh_operation("downgrade_user")
404
+ _op["method"] = "POST"
405
+ _op["path"] = f"/users/{user_id}/plans/{plan_id}/downgrade"
406
+ _op["json"] = {"seatType": seat_type}
407
+
408
+ expected = ["Result", None]
409
+
410
+ prepped_request = self._base.prepare_request(_op)
411
+ response = self._base.request(prepped_request, expected, _op)
412
+
413
+ return response
414
+
415
+ def list_user_plans(self, user_id, last_key=None, max_items=None):
416
+ """List user's plans.
417
+ Args:
418
+ user_id (int): User ID
419
+ Returns:
420
+ TokenPaginatedResult
421
+ """
422
+ _op = fresh_operation("list_user_plans")
423
+ _op["method"] = "GET"
424
+ _op["path"] = f"/users/{user_id}/plans"
425
+ _op["query_params"]["lastKey"] = last_key
426
+ _op["query_params"]["maxItems"] = max_items
427
+
428
+ expected = ["TokenPaginatedResult", "UserPlan"]
429
+
430
+ prepped_request = self._base.prepare_request(_op)
431
+ response = self._base.request(prepped_request, expected, _op)
432
+
433
+ return response
434
+
435
+ def remove_user_from_plan(self, user_id, plan_id):
436
+ """Remove user from plan.
437
+ Args:
438
+ user_id (int): User ID
439
+ plan_id (int): Plan ID
440
+ Returns:
441
+ Result
442
+ """
443
+ _op = fresh_operation("remove_user_from_plan")
444
+ _op["method"] = "DELETE"
445
+ _op["path"] = f"/users/{user_id}/plans/{plan_id}"
446
+
447
+ expected = ["Result", None]
448
+
449
+ prepped_request = self._base.prepare_request(_op)
450
+ response = self._base.request(prepped_request, expected, _op)
451
+
452
+ return response
453
+
361
454
  def add_profile_image(self, user_id, file, file_type):
362
455
  """Uploads a profile image for the specified user.
363
456
 
@@ -1,4 +1,4 @@
1
1
  # file generated by setuptools_scm
2
2
  # don't change, don't track in version control
3
- __version__ = version = '3.1.0'
4
- __version_tuple__ = version_tuple = (3, 1, 0)
3
+ __version__ = version = '3.2.0'
4
+ __version_tuple__ = version_tuple = (3, 2, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: smartsheet-python-sdk
3
- Version: 3.1.0
3
+ Version: 3.2.0
4
4
  Summary: Library that uses Python to connect to Smartsheet services (using API 2.0).
5
5
  Home-page: http://smartsheet-platform.github.io/api-docs/
6
6
  Author: Smartsheet
@@ -158,6 +158,7 @@ smartsheet/models/token_paginated_result.py
158
158
  smartsheet/models/update_request.py
159
159
  smartsheet/models/user.py
160
160
  smartsheet/models/user_model.py
161
+ smartsheet/models/user_plan.py
161
162
  smartsheet/models/user_profile.py
162
163
  smartsheet/models/version.py
163
164
  smartsheet/models/web_content_widget_content.py
@@ -193,6 +194,7 @@ smartsheet/models/enums/paper_type.py
193
194
  smartsheet/models/enums/predecessor_type.py
194
195
  smartsheet/models/enums/publish_accessible_by.py
195
196
  smartsheet/models/enums/schedule_type.py
197
+ smartsheet/models/enums/seat_type.py
196
198
  smartsheet/models/enums/share_scope.py
197
199
  smartsheet/models/enums/share_type.py
198
200
  smartsheet/models/enums/sheet_email_format.py