smartsheet-python-sdk 3.5.4__tar.gz → 3.5.5__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 (275) hide show
  1. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/workflows/publish-distribution.yaml +7 -4
  2. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/workflows/publish-documentation.yaml +6 -3
  3. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/workflows/test-build.yaml +18 -20
  4. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/CHANGELOG.md +18 -0
  5. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/PKG-INFO +21 -19
  6. smartsheet_python_sdk-3.5.5/pyproject.toml +127 -0
  7. smartsheet_python_sdk-3.5.5/setup.cfg +4 -0
  8. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/asset_share.py +28 -1
  9. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/smartsheet.py +1 -1
  10. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/util.py +6 -3
  11. smartsheet_python_sdk-3.5.5/smartsheet/version.py +34 -0
  12. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet_python_sdk.egg-info/PKG-INFO +21 -19
  13. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet_python_sdk.egg-info/SOURCES.txt +3 -3
  14. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet_python_sdk.egg-info/requires.txt +14 -0
  15. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_sharing.py +24 -3
  16. smartsheet_python_sdk-3.5.5/tests/mock_api/users/test_remove_user_from_plan.py +68 -0
  17. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/users/test_user_upgrade_downgrade.py +19 -0
  18. smartsheet_python_sdk-3.5.5/tests/test_util_serialize_dict.py +362 -0
  19. smartsheet_python_sdk-3.5.4/pylintrc +0 -14
  20. smartsheet_python_sdk-3.5.4/setup.cfg +0 -38
  21. smartsheet_python_sdk-3.5.4/setup.py +0 -89
  22. smartsheet_python_sdk-3.5.4/smartsheet/version.py +0 -4
  23. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.gitchangelog.rc +0 -0
  24. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.gitchangelog.tpl +0 -0
  25. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  26. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  27. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.github/pull_request_template.md +0 -0
  28. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.gitignore +0 -0
  29. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/.markdownlint.json +0 -0
  30. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/ADVANCED.md +0 -0
  31. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/CONTRIBUTING.md +0 -0
  32. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/LICENSE.md +0 -0
  33. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/Makefile +0 -0
  34. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/NOTICE +0 -0
  35. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/README.md +0 -0
  36. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/docs-source/Makefile +0 -0
  37. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/docs-source/conf.py +0 -0
  38. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/docs-source/index.rst +0 -0
  39. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/__init__.py +0 -0
  40. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/attachments.py +0 -0
  41. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/cells.py +0 -0
  42. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/contacts.py +0 -0
  43. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/discussions.py +0 -0
  44. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/events.py +0 -0
  45. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/exceptions.py +0 -0
  46. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/favorites.py +0 -0
  47. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/folders.py +0 -0
  48. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/groups.py +0 -0
  49. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/home.py +0 -0
  50. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/images.py +0 -0
  51. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/__init__.py +0 -0
  52. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/access_token.py +0 -0
  53. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/account.py +0 -0
  54. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/alternate_email.py +0 -0
  55. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/asset_shares_paginated_result.py +0 -0
  56. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/attachment.py +0 -0
  57. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/auto_number_format.py +0 -0
  58. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/automation_action.py +0 -0
  59. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/automation_rule.py +0 -0
  60. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/boolean_object_value.py +0 -0
  61. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/bulk_item_failure.py +0 -0
  62. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/bulk_item_result.py +0 -0
  63. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cell.py +0 -0
  64. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cell_data_item.py +0 -0
  65. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cell_history.py +0 -0
  66. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cell_link.py +0 -0
  67. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cell_link_widget_content.py +0 -0
  68. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/chart_widget_content.py +0 -0
  69. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/column.py +0 -0
  70. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/comment.py +0 -0
  71. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/contact.py +0 -0
  72. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/contact_object_value.py +0 -0
  73. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/container_destination.py +0 -0
  74. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/copy_or_move_row_destination.py +0 -0
  75. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/copy_or_move_row_directive.py +0 -0
  76. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/copy_or_move_row_result.py +0 -0
  77. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/criteria.py +0 -0
  78. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/cross_sheet_reference.py +0 -0
  79. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/currency.py +0 -0
  80. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/date_object_value.py +0 -0
  81. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/datetime_object_value.py +0 -0
  82. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/discussion.py +0 -0
  83. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/downloaded_file.py +0 -0
  84. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/duration.py +0 -0
  85. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/email.py +0 -0
  86. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/__init__.py +0 -0
  87. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/access_level.py +0 -0
  88. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/asset_type.py +0 -0
  89. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/attachment_parent_type.py +0 -0
  90. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/attachment_sub_type.py +0 -0
  91. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/attachment_type.py +0 -0
  92. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/automation_action_frequency.py +0 -0
  93. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/automation_action_type.py +0 -0
  94. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/automation_rule_disabled_reason.py +0 -0
  95. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/cell_link_status.py +0 -0
  96. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/column_type.py +0 -0
  97. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/criteria_target.py +0 -0
  98. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/cross_sheet_reference_status.py +0 -0
  99. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/currency_code.py +0 -0
  100. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/day_descriptors.py +0 -0
  101. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/day_ordinal.py +0 -0
  102. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/event_action.py +0 -0
  103. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/event_obejct_type.py +0 -0
  104. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/event_source.py +0 -0
  105. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/global_template.py +0 -0
  106. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/operator.py +0 -0
  107. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/paper_type.py +0 -0
  108. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/predecessor_type.py +0 -0
  109. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/publish_accessible_by.py +0 -0
  110. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/schedule_type.py +0 -0
  111. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/seat_type.py +0 -0
  112. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/share_scope.py +0 -0
  113. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/share_type.py +0 -0
  114. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/sheet_email_format.py +0 -0
  115. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/sheet_filter_operator.py +0 -0
  116. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/sheet_filter_type.py +0 -0
  117. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/sort_direction.py +0 -0
  118. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/symbol.py +0 -0
  119. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/system_column_type.py +0 -0
  120. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/update_request_status.py +0 -0
  121. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/user_status.py +0 -0
  122. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/enums/widget_type.py +0 -0
  123. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/error.py +0 -0
  124. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/error_result.py +0 -0
  125. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/event.py +0 -0
  126. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/event_result.py +0 -0
  127. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/explicit_null.py +0 -0
  128. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/favorite.py +0 -0
  129. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/folder.py +0 -0
  130. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/font_family.py +0 -0
  131. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/format_details.py +0 -0
  132. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/format_tables.py +0 -0
  133. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/group.py +0 -0
  134. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/group_member.py +0 -0
  135. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/home.py +0 -0
  136. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/hyperlink.py +0 -0
  137. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/image.py +0 -0
  138. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/image_url.py +0 -0
  139. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/image_url_map.py +0 -0
  140. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/image_widget_content.py +0 -0
  141. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/index_result.py +0 -0
  142. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/json_object.py +0 -0
  143. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/multi_contact_object_value.py +0 -0
  144. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/multi_picklist_object_value.py +0 -0
  145. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/multi_row_email.py +0 -0
  146. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/number_object_value.py +0 -0
  147. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/o_auth_error.py +0 -0
  148. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/object_value.py +0 -0
  149. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/paginated_children_result.py +0 -0
  150. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/predecessor.py +0 -0
  151. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/predecessor_list.py +0 -0
  152. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/primitive_object_value.py +0 -0
  153. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/profile_image.py +0 -0
  154. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/project_settings.py +0 -0
  155. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/recipient.py +0 -0
  156. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report.py +0 -0
  157. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report_cell.py +0 -0
  158. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report_column.py +0 -0
  159. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report_publish.py +0 -0
  160. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report_row.py +0 -0
  161. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/report_widget_content.py +0 -0
  162. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/result.py +0 -0
  163. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/row.py +0 -0
  164. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/row_email.py +0 -0
  165. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/row_mapping.py +0 -0
  166. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/schedule.py +0 -0
  167. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/scope.py +0 -0
  168. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/search_result.py +0 -0
  169. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/search_result_item.py +0 -0
  170. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/selection_range.py +0 -0
  171. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sent_update_request.py +0 -0
  172. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/server_info.py +0 -0
  173. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/share.py +0 -0
  174. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet.py +0 -0
  175. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_email.py +0 -0
  176. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_filter.py +0 -0
  177. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_filter_details.py +0 -0
  178. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_publish.py +0 -0
  179. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_summary.py +0 -0
  180. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_user_permissions.py +0 -0
  181. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sheet_user_settings.py +0 -0
  182. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/shortcut_data_item.py +0 -0
  183. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/shortcut_widget_content.py +0 -0
  184. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sight.py +0 -0
  185. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sight_publish.py +0 -0
  186. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sort_criterion.py +0 -0
  187. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/sort_specifier.py +0 -0
  188. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/source.py +0 -0
  189. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/string_object_value.py +0 -0
  190. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/summary_field.py +0 -0
  191. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/template.py +0 -0
  192. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/title_rich_text_widget_content.py +0 -0
  193. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/token_paginated_result.py +0 -0
  194. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/update_request.py +0 -0
  195. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/user.py +0 -0
  196. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/user_model.py +0 -0
  197. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/user_plan.py +0 -0
  198. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/user_profile.py +0 -0
  199. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/version.py +0 -0
  200. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/web_content_widget_content.py +0 -0
  201. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/webhook.py +0 -0
  202. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/webhook_secret.py +0 -0
  203. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/webhook_stats.py +0 -0
  204. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/webhook_subscope.py +0 -0
  205. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/widget.py +0 -0
  206. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/widget_content.py +0 -0
  207. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/widget_hyperlink.py +0 -0
  208. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/models/workspace.py +0 -0
  209. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/object_value.py +0 -0
  210. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/passthrough.py +0 -0
  211. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/reports.py +0 -0
  212. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/search.py +0 -0
  213. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/server.py +0 -0
  214. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/session.py +0 -0
  215. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/sharing.py +0 -0
  216. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/sheets.py +0 -0
  217. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/sights.py +0 -0
  218. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/templates.py +0 -0
  219. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/token.py +0 -0
  220. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/types.py +0 -0
  221. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/users.py +0 -0
  222. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/webhooks.py +0 -0
  223. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet/workspaces.py +0 -0
  224. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet_python_sdk.egg-info/dependency_links.txt +0 -0
  225. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/smartsheet_python_sdk.egg-info/top_level.txt +0 -0
  226. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/__init__.py +0 -0
  227. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/README.md +0 -0
  228. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/conftest.py +0 -0
  229. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/calling_all_curs.txt +0 -0
  230. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/curly.jpg +0 -0
  231. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/moe-curly.jpg +0 -0
  232. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/quote.txt +0 -0
  233. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/stooges_v1.jpg +0 -0
  234. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/fixtures/stooges_v2.jpg +0 -0
  235. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_attachments.py +0 -0
  236. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_columns.py +0 -0
  237. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_contacts.py +0 -0
  238. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_cross_sheet_references.py +0 -0
  239. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_discussions.py +0 -0
  240. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_events.py +0 -0
  241. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_favorites.py +0 -0
  242. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_folders.py +0 -0
  243. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_groups.py +0 -0
  244. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_home.py +0 -0
  245. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_model_attributes.py +0 -0
  246. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_multi_picklist.py +0 -0
  247. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_object_value.py +0 -0
  248. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_passthrough.py +0 -0
  249. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_regression.py +0 -0
  250. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_reports.py +0 -0
  251. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_rows.py +0 -0
  252. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_server_info.py +0 -0
  253. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_sharing.py +0 -0
  254. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_sheet_summary.py +0 -0
  255. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_sheets.py +0 -0
  256. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_templates.py +0 -0
  257. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_update_requests.py +0 -0
  258. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_users.py +0 -0
  259. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_webhooks.py +0 -0
  260. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_workspaces.py +0 -0
  261. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/integration/test_zsearch.py +0 -0
  262. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/__init__.py +0 -0
  263. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/mock_api_test_helper.py +0 -0
  264. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_automation_rules.py +0 -0
  265. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_columns.py +0 -0
  266. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_folders.py +0 -0
  267. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_rows.py +0 -0
  268. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_sheets.py +0 -0
  269. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_sights.py +0 -0
  270. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_api_workspaces.py +0 -0
  271. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_change_agent.py +0 -0
  272. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/test_mock_serialization.py +0 -0
  273. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/users/common_test_constants.py +0 -0
  274. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/users/test_list_user_plans.py +0 -0
  275. {smartsheet_python_sdk-3.5.4 → smartsheet_python_sdk-3.5.5}/tests/mock_api/users/test_list_users.py +0 -0
@@ -10,16 +10,19 @@ jobs:
10
10
 
11
11
  steps:
12
12
  - uses: actions/checkout@v4
13
- - name: Set up Python 3.10
13
+ - name: Set up Python 3.14
14
14
  uses: actions/setup-python@v4
15
15
  with:
16
- python-version: '3.10'
16
+ python-version: '3.14'
17
17
  - name: Install build packages
18
18
  run: |
19
- pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine sphinx sphinx_rtd_theme
19
+ pip install build
20
+ - name: Install packaging dependencies
21
+ run: |
22
+ pip install .[packaging]
20
23
  - name: Build distribution
21
24
  run: |
22
- python setup.py sdist bdist_wheel
25
+ python -m build
23
26
  - name: Archive distribution artifacts
24
27
  uses: actions/upload-artifact@v4
25
28
  with:
@@ -10,13 +10,16 @@ jobs:
10
10
 
11
11
  steps:
12
12
  - uses: actions/checkout@v4
13
- - name: Set up Python 3.10
13
+ - name: Set up Python 3.14
14
14
  uses: actions/setup-python@v4
15
15
  with:
16
- python-version: '3.10'
16
+ python-version: '3.14'
17
17
  - name: Install build packages
18
18
  run: |
19
- pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine sphinx sphinx_rtd_theme
19
+ pip install build
20
+ - name: Install documentation dependencies
21
+ run: |
22
+ pip install .[docs]
20
23
  - name: Generate documentation
21
24
  run: |
22
25
  sphinx-apidoc -o docs-source smartsheet
@@ -10,33 +10,27 @@ jobs:
10
10
  - name: Set up Python
11
11
  uses: actions/setup-python@v4
12
12
  with:
13
- python-version: '3.10'
13
+ python-version: '3.14'
14
14
  - name: Install dependencies
15
15
  run: |
16
- pip install pylint requests six python-dateutil
16
+ pip install build
17
+ - name: Install project and lint dependencies
18
+ run: |
19
+ pip install .[develop]
17
20
  - name: Run Markdown Lint
18
21
  uses: articulate/actions-markdownlint@v1
19
22
  with:
20
23
  ignore: ./LICENSE.md
21
24
  - name: Run Pylint
22
25
  run: |
23
- pylint smartsheet --rcfile pylintrc
26
+ pylint smartsheet
24
27
 
25
28
  mock-api-test:
26
29
  needs: lint
27
- runs-on: ${{ matrix.os }}
30
+ runs-on: ubuntu-latest
28
31
  strategy:
29
32
  matrix:
30
- python-version: ["3.7", "3.8", "3.9", "3.10"]
31
- include:
32
- - python-version: "3.7"
33
- os: ubuntu-22.04
34
- - python-version: "3.8"
35
- os: ubuntu-latest
36
- - python-version: "3.9"
37
- os: ubuntu-latest
38
- - python-version: "3.10"
39
- os: ubuntu-latest
33
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
40
34
 
41
35
  steps:
42
36
  - uses: actions/checkout@v4
@@ -44,12 +38,13 @@ jobs:
44
38
  uses: actions/setup-python@v4
45
39
  with:
46
40
  python-version: ${{ matrix.python-version }}
47
- os: ${{ matrix.os }}
48
41
  - name: Install Python dependencies
49
42
  run: |
50
43
  python -m pip install --upgrade pip
51
- pip install certifi enum34 requests six python-dateutil coverage coveralls[yaml] pytest pytest-instafail requests-toolbelt setuptools-scm
52
- if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
44
+ pip install build
45
+ - name: Install test dependencies
46
+ run: |
47
+ pip install .[test]
53
48
  - name: Clone smartsheet/smartsheet-sdk-tests PUBLIC repository
54
49
  uses: GuillaumeFalourd/clone-github-repo-action@v2
55
50
  with:
@@ -79,10 +74,10 @@ jobs:
79
74
  uses: actions/setup-python@v4
80
75
  - name: Install build packages
81
76
  run: |
82
- pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine
77
+ pip install build
83
78
  - name: Build distribution
84
79
  run: |
85
- python setup.py sdist bdist_wheel
80
+ python -m build
86
81
  - name: Archive distribution artifacts
87
82
  uses: actions/upload-artifact@v4
88
83
  with:
@@ -97,7 +92,10 @@ jobs:
97
92
  - uses: actions/checkout@v4
98
93
  - name: Install documentation tools
99
94
  run: |
100
- pip install sphinx sphinx_rtd_theme setuptools-scm
95
+ pip install build
96
+ - name: Install documentation dependencies
97
+ run: |
98
+ pip install .[docs]
101
99
  - name: Generate API documentation
102
100
  run: sphinx-apidoc -o docs-source smartsheet
103
101
  - name: Generate HTML
@@ -5,6 +5,24 @@ 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.5.5] - 2025-11-11
9
+
10
+ ### Fixed
11
+
12
+ - Fix response body logging. When the response Content-Type is application/json the response body is logged.
13
+
14
+ ### Added
15
+
16
+ - WiremMock integration tests for contract testing for GET /2.0/users/{userId}/plans and GET /2.0/users endpoints
17
+ - WireMock integration tests for contract testing for POST /2.0/users/{userId}/plans/{planId}/upgrade and POST /2.0/users/{userId}/plans/{planId}/downgrade
18
+ - WireMock integration tests for contract testing for DELETE /{userId}/plans/{planId} endpoint
19
+ - Add dict serialization tests
20
+ - Add missing properties from [AssetShare](smartsheet/models/asset_share.py): `cc_me`, `message`, `subject`.
21
+
22
+ ### Updated
23
+
24
+ - Folder structure for the Users related WireMock tests
25
+
8
26
  ## [3.5.4] - 2025-10-31
9
27
 
10
28
  ### Fixed
@@ -1,24 +1,25 @@
1
1
  Metadata-Version: 2.4
2
- Name: smartsheet_python_sdk
3
- Version: 3.5.4
2
+ Name: smartsheet-python-sdk
3
+ Version: 3.5.5
4
4
  Summary: Library that uses Python to connect to Smartsheet services (using API 2.0).
5
- Home-page: http://smartsheet-platform.github.io/api-docs/
6
- Author: Smartsheet
7
- Author-email: sdk@smartsheet.com
8
- License: Apache-2.0
9
- Keywords: Smartsheet,Collaboration,Project Management,Excel,spreadsheet
5
+ License-Expression: Apache-2.0
10
6
  Classifier: Development Status :: 5 - Production/Stable
11
7
  Classifier: Intended Audience :: Developers
12
8
  Classifier: Natural Language :: English
13
9
  Classifier: Operating System :: OS Independent
14
- Classifier: License :: OSI Approved :: Apache Software License
15
10
  Classifier: Programming Language :: Python
16
11
  Classifier: Programming Language :: Python :: 3.7
17
12
  Classifier: Programming Language :: Python :: 3.8
18
13
  Classifier: Programming Language :: Python :: 3.9
19
14
  Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: 3.15
20
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
21
  Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
22
+ Requires-Python: >=3.7
22
23
  Description-Content-Type: text/markdown
23
24
  License-File: LICENSE.md
24
25
  License-File: NOTICE
@@ -31,23 +32,24 @@ Provides-Extra: test
31
32
  Requires-Dist: coverage; extra == "test"
32
33
  Requires-Dist: coveralls; extra == "test"
33
34
  Requires-Dist: pytest; extra == "test"
35
+ Requires-Dist: pytest-rerunfailures; extra == "test"
36
+ Requires-Dist: requests-toolbelt; extra == "test"
34
37
  Provides-Extra: develop
35
38
  Requires-Dist: coverage; extra == "develop"
36
39
  Requires-Dist: coveralls[yaml]; extra == "develop"
37
40
  Requires-Dist: pytest; extra == "develop"
38
41
  Requires-Dist: pytest-instafail; extra == "develop"
39
- Dynamic: author
40
- Dynamic: author-email
41
- Dynamic: classifier
42
- Dynamic: description
43
- Dynamic: description-content-type
44
- Dynamic: home-page
45
- Dynamic: keywords
46
- Dynamic: license
42
+ Requires-Dist: pylint; extra == "develop"
43
+ Provides-Extra: docs
44
+ Requires-Dist: sphinx; extra == "docs"
45
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
46
+ Requires-Dist: setuptools_scm; extra == "docs"
47
+ Provides-Extra: packaging
48
+ Requires-Dist: wheel; extra == "packaging"
49
+ Requires-Dist: twine; extra == "packaging"
50
+ Requires-Dist: gitchangelog; extra == "packaging"
51
+ Requires-Dist: mako; extra == "packaging"
47
52
  Dynamic: license-file
48
- Dynamic: provides-extra
49
- Dynamic: requires-dist
50
- Dynamic: summary
51
53
 
52
54
  # Smartsheet Python SDK
53
55
 
@@ -0,0 +1,127 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "setuptools_scm>=7.0.1"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "smartsheet-python-sdk"
7
+ description = "Library that uses Python to connect to Smartsheet services (using API 2.0)."
8
+ dynamic = ["version"]
9
+ license = "Apache-2.0"
10
+ license-files = ["LICENSE.md", "NOTICE"]
11
+ readme = "README.md"
12
+ requires-python = ">=3.7"
13
+ dependencies = [
14
+ "requests",
15
+ "requests-toolbelt",
16
+ "six>=1.9",
17
+ "certifi",
18
+ "python-dateutil"
19
+ ]
20
+ classifiers = [
21
+ "Development Status :: 5 - Production/Stable",
22
+ "Intended Audience :: Developers",
23
+ "Natural Language :: English",
24
+ "Operating System :: OS Independent",
25
+ "Programming Language :: Python",
26
+ "Programming Language :: Python :: 3.7",
27
+ "Programming Language :: Python :: 3.8",
28
+ "Programming Language :: Python :: 3.9",
29
+ "Programming Language :: Python :: 3.10",
30
+ "Programming Language :: Python :: 3.11",
31
+ "Programming Language :: Python :: 3.12",
32
+ "Programming Language :: Python :: 3.13",
33
+ "Programming Language :: Python :: 3.14",
34
+ "Programming Language :: Python :: 3.15",
35
+ "Topic :: Software Development :: Libraries :: Python Modules",
36
+ "Topic :: Office/Business :: Financial :: Spreadsheet"
37
+ ]
38
+
39
+ [project.optional-dependencies]
40
+ test = [
41
+ "coverage",
42
+ "coveralls",
43
+ "pytest",
44
+ "pytest-rerunfailures",
45
+ "requests-toolbelt"
46
+ ]
47
+ develop = [
48
+ "coverage",
49
+ "coveralls[yaml]",
50
+ "pytest",
51
+ "pytest-instafail",
52
+ "pylint"
53
+ ]
54
+ docs = [
55
+ "sphinx",
56
+ "sphinx_rtd_theme",
57
+ "setuptools_scm"
58
+ ]
59
+ packaging = [
60
+ "wheel",
61
+ "twine",
62
+ "gitchangelog",
63
+ "mako"
64
+ ]
65
+
66
+ [tool.setuptools_scm]
67
+ write_to = "smartsheet/version.py"
68
+
69
+ [tool.pytest.ini_options]
70
+ addopts = "-ra --color=yes --showlocals --verbose --ignore=docs --ignore=examples --tb=native"
71
+ log_cli = true
72
+ log_level = "ERROR"
73
+
74
+ [tool.coverage.run]
75
+ omit = ["smartsheet/exceptions.py"]
76
+
77
+ [tool.coverage.report]
78
+ exclude_lines = [
79
+ "# renable standard pragma",
80
+ "pragma: no cover",
81
+ "def to_json",
82
+ "def __str__",
83
+ "raise ValueError",
84
+ "raise AttributeError",
85
+ "except TypeError",
86
+ "except ImportError",
87
+ "except ValueError",
88
+ "raise UnexpectedRequestError",
89
+ "backoff",
90
+ "time.sleep",
91
+ "if attempt",
92
+ "self.log",
93
+ "self._log",
94
+ "if base_obj is not None"
95
+ ]
96
+
97
+ [tool.pylint.main]
98
+ jobs = 0
99
+ ignore = ["version.py"]
100
+
101
+ [tool.pylint."messages control"]
102
+ disable = [
103
+ "missing-docstring",
104
+ "too-many-arguments",
105
+ "too-many-positional-arguments",
106
+ "locally-disabled",
107
+ "too-few-public-methods",
108
+ "too-many-public-methods",
109
+ "duplicate-code",
110
+ "too-many-instance-attributes",
111
+ "too-many-lines",
112
+ "no-else-return",
113
+ "unused-private-member",
114
+ "cyclic-import",
115
+ "unused-import",
116
+ "import-outside-toplevel",
117
+ "consider-using-with"
118
+ ]
119
+
120
+ [tool.pylint.reports]
121
+ output-format = "colorized"
122
+
123
+ [tool.pylint.basic]
124
+ include-naming-hint = true
125
+
126
+ [tool.pylint.format]
127
+ max-line-length = 160
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -17,7 +17,7 @@
17
17
 
18
18
  from __future__ import absolute_import
19
19
 
20
- from ..types import EnumeratedValue, String, json
20
+ from ..types import EnumeratedValue, String, Boolean, json
21
21
  from ..util import deserialize, serialize
22
22
  from .enums import AccessLevel, ShareScope, ShareType
23
23
 
@@ -40,6 +40,9 @@ class AssetShare:
40
40
  self._scope = EnumeratedValue(ShareScope)
41
41
  self._type_ = EnumeratedValue(ShareType)
42
42
  self._user_id = String()
43
+ self._cc_me = Boolean()
44
+ self._message = String()
45
+ self._subject = String()
43
46
 
44
47
  if props:
45
48
  deserialize(self, props)
@@ -128,6 +131,30 @@ class AssetShare:
128
131
  def user_id(self, value):
129
132
  self._user_id.value = value
130
133
 
134
+ @property
135
+ def cc_me(self):
136
+ return self._cc_me.value
137
+
138
+ @cc_me.setter
139
+ def cc_me(self, value):
140
+ self._cc_me.value = value
141
+
142
+ @property
143
+ def message(self):
144
+ return self._message.value
145
+
146
+ @message.setter
147
+ def message(self, value):
148
+ self._message.value = value
149
+
150
+ @property
151
+ def subject(self):
152
+ return self._subject.value
153
+
154
+ @subject.setter
155
+ def subject(self, value):
156
+ self._subject.value = value
157
+
131
158
  def to_dict(self):
132
159
  return serialize(self)
133
160
 
@@ -302,7 +302,7 @@ class Smartsheet:
302
302
  self._log.debug('{"requestBody": %s}', body_dumps)
303
303
  # response
304
304
  content_dumps = f'"<< {response.headers.get("Content-Type")} content type suppressed >>"'
305
- if response.request.headers.get("Content-Type") is not None and "application/json" in response.headers.get("Content-Type"):
305
+ if response.headers.get("Content-Type") is not None and "application/json" in response.headers.get("Content-Type"):
306
306
  content = response.content.decode("utf8")
307
307
  content_dumps = json.dumps(json.loads(content), sort_keys=True)
308
308
  if 200 <= response.status_code <= 299:
@@ -116,9 +116,12 @@ def serialize(obj):
116
116
  elif isinstance(obj, dict):
117
117
  retval = {}
118
118
  for key, value in obj.items():
119
- serialized_value = serialize(value)
120
- if not hasattr(serialized_value, "is_explicit_null"):
121
- retval[key] = serialized_value
119
+ if value is None:
120
+ retval[key] = None
121
+ else:
122
+ serialized_value = serialize(value)
123
+ if not hasattr(serialized_value, "is_explicit_null"):
124
+ retval[key] = serialized_value
122
125
 
123
126
  else:
124
127
  retval = {}
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '3.5.5'
32
+ __version_tuple__ = version_tuple = (3, 5, 5)
33
+
34
+ __commit_id__ = commit_id = 'g6d90e0fd5'
@@ -1,24 +1,25 @@
1
1
  Metadata-Version: 2.4
2
- Name: smartsheet_python_sdk
3
- Version: 3.5.4
2
+ Name: smartsheet-python-sdk
3
+ Version: 3.5.5
4
4
  Summary: Library that uses Python to connect to Smartsheet services (using API 2.0).
5
- Home-page: http://smartsheet-platform.github.io/api-docs/
6
- Author: Smartsheet
7
- Author-email: sdk@smartsheet.com
8
- License: Apache-2.0
9
- Keywords: Smartsheet,Collaboration,Project Management,Excel,spreadsheet
5
+ License-Expression: Apache-2.0
10
6
  Classifier: Development Status :: 5 - Production/Stable
11
7
  Classifier: Intended Audience :: Developers
12
8
  Classifier: Natural Language :: English
13
9
  Classifier: Operating System :: OS Independent
14
- Classifier: License :: OSI Approved :: Apache Software License
15
10
  Classifier: Programming Language :: Python
16
11
  Classifier: Programming Language :: Python :: 3.7
17
12
  Classifier: Programming Language :: Python :: 3.8
18
13
  Classifier: Programming Language :: Python :: 3.9
19
14
  Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: 3.15
20
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
21
  Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
22
+ Requires-Python: >=3.7
22
23
  Description-Content-Type: text/markdown
23
24
  License-File: LICENSE.md
24
25
  License-File: NOTICE
@@ -31,23 +32,24 @@ Provides-Extra: test
31
32
  Requires-Dist: coverage; extra == "test"
32
33
  Requires-Dist: coveralls; extra == "test"
33
34
  Requires-Dist: pytest; extra == "test"
35
+ Requires-Dist: pytest-rerunfailures; extra == "test"
36
+ Requires-Dist: requests-toolbelt; extra == "test"
34
37
  Provides-Extra: develop
35
38
  Requires-Dist: coverage; extra == "develop"
36
39
  Requires-Dist: coveralls[yaml]; extra == "develop"
37
40
  Requires-Dist: pytest; extra == "develop"
38
41
  Requires-Dist: pytest-instafail; extra == "develop"
39
- Dynamic: author
40
- Dynamic: author-email
41
- Dynamic: classifier
42
- Dynamic: description
43
- Dynamic: description-content-type
44
- Dynamic: home-page
45
- Dynamic: keywords
46
- Dynamic: license
42
+ Requires-Dist: pylint; extra == "develop"
43
+ Provides-Extra: docs
44
+ Requires-Dist: sphinx; extra == "docs"
45
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
46
+ Requires-Dist: setuptools_scm; extra == "docs"
47
+ Provides-Extra: packaging
48
+ Requires-Dist: wheel; extra == "packaging"
49
+ Requires-Dist: twine; extra == "packaging"
50
+ Requires-Dist: gitchangelog; extra == "packaging"
51
+ Requires-Dist: mako; extra == "packaging"
47
52
  Dynamic: license-file
48
- Dynamic: provides-extra
49
- Dynamic: requires-dist
50
- Dynamic: summary
51
53
 
52
54
  # Smartsheet Python SDK
53
55
 
@@ -9,9 +9,7 @@ LICENSE.md
9
9
  Makefile
10
10
  NOTICE
11
11
  README.md
12
- pylintrc
13
- setup.cfg
14
- setup.py
12
+ pyproject.toml
15
13
  .github/pull_request_template.md
16
14
  .github/ISSUE_TEMPLATE/bug_report.md
17
15
  .github/ISSUE_TEMPLATE/feature_request.md
@@ -216,6 +214,7 @@ smartsheet_python_sdk.egg-info/dependency_links.txt
216
214
  smartsheet_python_sdk.egg-info/requires.txt
217
215
  smartsheet_python_sdk.egg-info/top_level.txt
218
216
  tests/__init__.py
217
+ tests/test_util_serialize_dict.py
219
218
  tests/integration/README.md
220
219
  tests/integration/conftest.py
221
220
  tests/integration/test_attachments.py
@@ -266,4 +265,5 @@ tests/mock_api/test_mock_serialization.py
266
265
  tests/mock_api/users/common_test_constants.py
267
266
  tests/mock_api/users/test_list_user_plans.py
268
267
  tests/mock_api/users/test_list_users.py
268
+ tests/mock_api/users/test_remove_user_from_plan.py
269
269
  tests/mock_api/users/test_user_upgrade_downgrade.py
@@ -9,8 +9,22 @@ coverage
9
9
  coveralls[yaml]
10
10
  pytest
11
11
  pytest-instafail
12
+ pylint
13
+
14
+ [docs]
15
+ sphinx
16
+ sphinx_rtd_theme
17
+ setuptools_scm
18
+
19
+ [packaging]
20
+ wheel
21
+ twine
22
+ gitchangelog
23
+ mako
12
24
 
13
25
  [test]
14
26
  coverage
15
27
  coveralls
16
28
  pytest
29
+ pytest-rerunfailures
30
+ requests-toolbelt
@@ -28,6 +28,9 @@ TEST_LAST_KEY_RESPONSE = "abcDefGhIjKlMnOpQrStUvWxYz"
28
28
  TEST_SUCCESS_MESSAGE = "SUCCESS"
29
29
  TEST_SUCCESS_RESULT_CODE = 0
30
30
  TEST_SEND_EMAIL = False
31
+ TEST_CC_ME = True
32
+ TEST_MESSAGE = "Test message"
33
+ TEST_SUBJECT = "Test subject"
31
34
 
32
35
 
33
36
  def assert_share_properties(share, include_name=True):
@@ -49,7 +52,13 @@ def assert_share_properties(share, include_name=True):
49
52
  @pytest.fixture(name="test_share")
50
53
  def test_share_fixture():
51
54
  """Pytest fixture to create a test AssetShare object."""
52
- return AssetShare({"email": TEST_EMAIL, "access_level": TEST_ACCESS_LEVEL})
55
+ return AssetShare({
56
+ "email": TEST_EMAIL,
57
+ "access_level": TEST_ACCESS_LEVEL,
58
+ "cc_me": TEST_CC_ME,
59
+ "message": TEST_MESSAGE,
60
+ "subject": TEST_SUBJECT
61
+ })
53
62
 
54
63
 
55
64
  def test_list_asset_shares_generated_url_is_correct():
@@ -278,7 +287,13 @@ def test_share_asset_all_response_properties(test_share):
278
287
 
279
288
  wiremock_request = get_wiremock_request(request_id)
280
289
  body = json.loads(wiremock_request["body"])
281
- assert body == {"accessLevel": TEST_ACCESS_LEVEL.name, "email": TEST_EMAIL}
290
+ assert body == {
291
+ "accessLevel": TEST_ACCESS_LEVEL.name,
292
+ "email": TEST_EMAIL,
293
+ "ccMe": TEST_CC_ME,
294
+ "message": TEST_MESSAGE,
295
+ "subject": TEST_SUBJECT
296
+ }
282
297
 
283
298
 
284
299
  def test_share_multiple_assets_all_response_properties(test_share):
@@ -305,7 +320,13 @@ def test_share_multiple_assets_all_response_properties(test_share):
305
320
 
306
321
  wiremock_request = get_wiremock_request(request_id)
307
322
  body = json.loads(wiremock_request["body"])
308
- assert body == [{"accessLevel": TEST_ACCESS_LEVEL.name, "email": TEST_EMAIL}]
323
+ assert body == [{
324
+ "accessLevel": TEST_ACCESS_LEVEL.name,
325
+ "email": TEST_EMAIL,
326
+ "ccMe": TEST_CC_ME,
327
+ "message": TEST_MESSAGE,
328
+ "subject": TEST_SUBJECT
329
+ }]
309
330
 
310
331
 
311
332