smartsheet-python-sdk 3.0.4__tar.gz → 3.1.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.
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/ISSUE_TEMPLATE/bug_report.md +1 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/ISSUE_TEMPLATE/feature_request.md +6 -0
- smartsheet-python-sdk-3.1.0/.github/pull_request_template.md +43 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/workflows/publish-distribution.yaml +3 -3
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/workflows/publish-documentation.yaml +3 -3
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/workflows/test-build.yaml +19 -11
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.gitignore +1 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/ADVANCED.md +3 -3
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/CHANGELOG.md +32 -1
- smartsheet-python-sdk-3.1.0/CONTRIBUTING.md +63 -0
- {smartsheet-python-sdk-3.0.4/smartsheet_python_sdk.egg-info → smartsheet-python-sdk-3.1.0}/PKG-INFO +1 -1
- smartsheet-python-sdk-3.1.0/pylintrc +14 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/setup.py +1 -1
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/cells.py +1 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/folders.py +62 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/home.py +6 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/__init__.py +2 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/datetime_object_value.py +2 -2
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/folder.py +29 -1
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/index_result.py +10 -1
- smartsheet-python-sdk-3.1.0/smartsheet/models/paginated_children_result.py +80 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/source.py +1 -1
- smartsheet-python-sdk-3.1.0/smartsheet/models/token_paginated_result.py +68 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/workspace.py +29 -1
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/reports.py +1 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/sheets.py +2 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/smartsheet.py +19 -3
- smartsheet-python-sdk-3.1.0/smartsheet/version.py +4 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/workspaces.py +125 -11
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0/smartsheet_python_sdk.egg-info}/PKG-INFO +1 -1
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet_python_sdk.egg-info/SOURCES.txt +6 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_folders.py +49 -0
- smartsheet-python-sdk-3.1.0/tests/integration/test_workspaces.py +271 -0
- smartsheet-python-sdk-3.1.0/tests/mock_api/test_mock_api_folders.py +184 -0
- smartsheet-python-sdk-3.1.0/tests/mock_api/test_mock_api_workspaces.py +241 -0
- smartsheet-python-sdk-3.0.4/pylintrc +0 -14
- smartsheet-python-sdk-3.0.4/smartsheet/version.py +0 -16
- smartsheet-python-sdk-3.0.4/tests/integration/test_workspaces.py +0 -154
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.gitchangelog.rc +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.gitchangelog.tpl +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.markdownlint.json +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/LICENSE.md +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/Makefile +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/NOTICE +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/README.md +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/docs-source/Makefile +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/docs-source/conf.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/docs-source/index.rst +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/setup.cfg +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/__init__.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/attachments.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/contacts.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/discussions.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/events.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/exceptions.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/favorites.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/groups.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/images.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/access_token.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/account.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/alternate_email.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/attachment.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/auto_number_format.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/automation_action.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/automation_rule.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/boolean_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/bulk_item_failure.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/bulk_item_result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cell.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cell_data_item.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cell_history.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cell_link.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cell_link_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/chart_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/column.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/comment.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/contact.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/contact_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/container_destination.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/copy_or_move_row_destination.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/copy_or_move_row_directive.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/copy_or_move_row_result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/criteria.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/cross_sheet_reference.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/currency.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/date_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/discussion.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/downloaded_file.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/duration.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/email.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/__init__.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/access_level.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/attachment_parent_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/attachment_sub_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/attachment_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/automation_action_frequency.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/automation_action_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/automation_rule_disabled_reason.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/cell_link_status.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/column_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/criteria_target.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/cross_sheet_reference_status.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/currency_code.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/day_descriptors.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/day_ordinal.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/event_action.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/event_obejct_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/event_source.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/global_template.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/operator.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/paper_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/predecessor_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/publish_accessible_by.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/schedule_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/share_scope.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/share_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/sheet_email_format.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/sheet_filter_operator.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/sheet_filter_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/sort_direction.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/symbol.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/system_column_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/update_request_status.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/user_status.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/enums/widget_type.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/error.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/error_result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/event.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/event_result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/explicit_null.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/favorite.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/font_family.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/format_details.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/format_tables.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/group.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/group_member.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/home.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/hyperlink.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/image.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/image_url.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/image_url_map.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/image_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/json_object.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/multi_contact_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/multi_picklist_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/multi_row_email.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/number_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/o_auth_error.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/predecessor.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/predecessor_list.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/primitive_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/profile_image.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/project_settings.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/recipient.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report_cell.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report_column.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report_publish.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report_row.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/report_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/row.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/row_email.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/row_mapping.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/schedule.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/scope.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/search_result.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/search_result_item.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/selection_range.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sent_update_request.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/server_info.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/share.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_email.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_filter.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_filter_details.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_publish.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_summary.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_user_permissions.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sheet_user_settings.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/shortcut_data_item.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/shortcut_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sight.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sight_publish.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sort_criterion.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/sort_specifier.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/string_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/summary_field.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/template.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/title_rich_text_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/update_request.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/user.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/user_model.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/user_profile.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/version.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/web_content_widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/webhook.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/webhook_secret.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/webhook_stats.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/webhook_subscope.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/widget.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/widget_content.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/widget_hyperlink.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/passthrough.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/search.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/server.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/session.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/sights.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/templates.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/token.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/types.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/users.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/util.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/webhooks.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet_python_sdk.egg-info/dependency_links.txt +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet_python_sdk.egg-info/requires.txt +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet_python_sdk.egg-info/top_level.txt +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/README.md +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/conftest.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/calling_all_curs.txt +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/curly.jpg +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/moe-curly.jpg +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/quote.txt +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/stooges_v1.jpg +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/fixtures/stooges_v2.jpg +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_attachments.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_columns.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_contacts.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_cross_sheet_references.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_discussions.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_events.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_favorites.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_groups.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_home.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_model_attributes.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_multi_picklist.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_object_value.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_passthrough.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_regression.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_reports.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_rows.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_server_info.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_sheet_summary.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_sheets.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_templates.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_update_requests.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_users.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_webhooks.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/integration/test_zsearch.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/mock_api_test_helper.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_api_automation_rules.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_api_columns.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_api_rows.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_api_sheets.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_api_sights.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_change_agent.py +0 -0
- {smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/tests/mock_api/test_mock_serialization.py +0 -0
{smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/ISSUE_TEMPLATE/bug_report.md
RENAMED
|
@@ -27,5 +27,6 @@ If applicable, add screenshots to help explain your problem.
|
|
|
27
27
|
|
|
28
28
|
**Environment (please complete the following information):**
|
|
29
29
|
- OS: [e.g. Windows 10]
|
|
30
|
+
- Smartsheet API Version [e.g. 2.0]
|
|
30
31
|
- Smartsheet Python SDK Version [e.g. 3.0.0]
|
|
31
32
|
- Python Version [e.g. 3.10]
|
|
@@ -15,3 +15,9 @@ A clear and concise description of what you want to happen.
|
|
|
15
15
|
|
|
16
16
|
**Additional context**
|
|
17
17
|
Add any other context or screenshots about the feature request here.
|
|
18
|
+
|
|
19
|
+
**Environment (please complete the following information):**
|
|
20
|
+
- OS: [e.g. Windows 10]
|
|
21
|
+
- Smartsheet API Version [e.g. 2.0]
|
|
22
|
+
- Smartsheet Python SDK Version [e.g. 3.0.0]
|
|
23
|
+
- Python Version [e.g. 3.10]
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Pull Request
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
<!-- Provide a brief description of the changes in this PR -->
|
|
5
|
+
|
|
6
|
+
## Related Issue
|
|
7
|
+
<!-- Link to the related issue (if applicable) -->
|
|
8
|
+
|
|
9
|
+
## Type of Change
|
|
10
|
+
<!-- Check the relevant option by putting an x in the brackets -->
|
|
11
|
+
- [ ] Bug fix
|
|
12
|
+
- [ ] New feature
|
|
13
|
+
- [ ] Documentation update
|
|
14
|
+
- [ ] Code refactoring
|
|
15
|
+
- [ ] Other (please describe):
|
|
16
|
+
|
|
17
|
+
## Environment Information
|
|
18
|
+
<!-- Please complete the following information -->
|
|
19
|
+
- Smartsheet API Version: [e.g. 2.0]
|
|
20
|
+
- Smartsheet Python SDK Version: [e.g. 3.0.0]
|
|
21
|
+
- Python Version: [e.g. 3.10]
|
|
22
|
+
|
|
23
|
+
## What Changes Were Made
|
|
24
|
+
<!-- Describe the changes you've made in detail -->
|
|
25
|
+
|
|
26
|
+
## Why These Changes Were Made
|
|
27
|
+
<!-- Explain the reasoning behind these changes -->
|
|
28
|
+
|
|
29
|
+
## Testing
|
|
30
|
+
<!-- Describe the testing you've done to validate your changes -->
|
|
31
|
+
|
|
32
|
+
## Checklist
|
|
33
|
+
<!-- Check all that apply -->
|
|
34
|
+
- [ ] My code follows the [style guidelines](../../../CONTRIBUTING.md#code-style-and-quality) of this project
|
|
35
|
+
- [ ] I have performed a self-review of my own code
|
|
36
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
37
|
+
- [ ] I have made corresponding changes to the documentation
|
|
38
|
+
- [ ] My changes generate no new warnings
|
|
39
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
40
|
+
- [ ] New and existing unit tests pass locally with my changes
|
|
41
|
+
|
|
42
|
+
## Additional Notes
|
|
43
|
+
<!-- Add any other context about the PR here -->
|
|
@@ -9,19 +9,19 @@ jobs:
|
|
|
9
9
|
runs-on: ubuntu-latest
|
|
10
10
|
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
13
|
- name: Set up Python 3.10
|
|
14
14
|
uses: actions/setup-python@v4
|
|
15
15
|
with:
|
|
16
16
|
python-version: '3.10'
|
|
17
17
|
- name: Install build packages
|
|
18
18
|
run: |
|
|
19
|
-
pip install enum34 requests six python-dateutil setuptools-scm gitchangelog mako wheel twine sphinx sphinx_rtd_theme
|
|
19
|
+
pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine sphinx sphinx_rtd_theme
|
|
20
20
|
- name: Build distribution
|
|
21
21
|
run: |
|
|
22
22
|
python setup.py sdist bdist_wheel
|
|
23
23
|
- name: Archive distribution artifacts
|
|
24
|
-
uses: actions/upload-artifact@
|
|
24
|
+
uses: actions/upload-artifact@v4
|
|
25
25
|
with:
|
|
26
26
|
name: distribution
|
|
27
27
|
path: dist
|
|
@@ -9,14 +9,14 @@ jobs:
|
|
|
9
9
|
runs-on: ubuntu-latest
|
|
10
10
|
|
|
11
11
|
steps:
|
|
12
|
-
- uses: actions/checkout@
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
13
|
- name: Set up Python 3.10
|
|
14
14
|
uses: actions/setup-python@v4
|
|
15
15
|
with:
|
|
16
16
|
python-version: '3.10'
|
|
17
17
|
- name: Install build packages
|
|
18
18
|
run: |
|
|
19
|
-
pip install enum34 requests six python-dateutil setuptools-scm gitchangelog mako wheel twine sphinx sphinx_rtd_theme
|
|
19
|
+
pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine sphinx sphinx_rtd_theme
|
|
20
20
|
- name: Generate documentation
|
|
21
21
|
run: |
|
|
22
22
|
sphinx-apidoc -o docs-source smartsheet
|
|
@@ -40,4 +40,4 @@ jobs:
|
|
|
40
40
|
steps:
|
|
41
41
|
- name: Deploy to GitHub Pages
|
|
42
42
|
id: deployment
|
|
43
|
-
uses: actions/deploy-pages@
|
|
43
|
+
uses: actions/deploy-pages@v4
|
{smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/.github/workflows/test-build.yaml
RENAMED
|
@@ -6,7 +6,7 @@ jobs:
|
|
|
6
6
|
lint:
|
|
7
7
|
runs-on: ubuntu-latest
|
|
8
8
|
steps:
|
|
9
|
-
- uses: actions/checkout@
|
|
9
|
+
- uses: actions/checkout@v4
|
|
10
10
|
- name: Set up Python
|
|
11
11
|
uses: actions/setup-python@v4
|
|
12
12
|
with:
|
|
@@ -24,17 +24,27 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
mock-api-test:
|
|
26
26
|
needs: lint
|
|
27
|
-
runs-on:
|
|
27
|
+
runs-on: ${{ matrix.os }}
|
|
28
28
|
strategy:
|
|
29
29
|
matrix:
|
|
30
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
|
|
31
40
|
|
|
32
41
|
steps:
|
|
33
|
-
- uses: actions/checkout@
|
|
42
|
+
- uses: actions/checkout@v4
|
|
34
43
|
- name: Set up Python ${{ matrix.python-version }}
|
|
35
44
|
uses: actions/setup-python@v4
|
|
36
45
|
with:
|
|
37
46
|
python-version: ${{ matrix.python-version }}
|
|
47
|
+
os: ${{ matrix.os }}
|
|
38
48
|
- name: Install Python dependencies
|
|
39
49
|
run: |
|
|
40
50
|
python -m pip install --upgrade pip
|
|
@@ -65,19 +75,17 @@ jobs:
|
|
|
65
75
|
runs-on: ubuntu-latest
|
|
66
76
|
needs: [mock-api-test]
|
|
67
77
|
steps:
|
|
68
|
-
- uses: actions/checkout@
|
|
69
|
-
- name: Set up Python
|
|
78
|
+
- uses: actions/checkout@v4
|
|
79
|
+
- name: Set up Python
|
|
70
80
|
uses: actions/setup-python@v4
|
|
71
|
-
with:
|
|
72
|
-
python-version: ${{ matrix.python-version }}
|
|
73
81
|
- name: Install build packages
|
|
74
82
|
run: |
|
|
75
|
-
pip install enum34 requests six python-dateutil setuptools-scm gitchangelog mako wheel twine
|
|
83
|
+
pip install enum34 requests six python-dateutil setuptools-scm==7.1.0 gitchangelog mako wheel twine
|
|
76
84
|
- name: Build distribution
|
|
77
85
|
run: |
|
|
78
86
|
python setup.py sdist bdist_wheel
|
|
79
87
|
- name: Archive distribution artifacts
|
|
80
|
-
uses: actions/upload-artifact@
|
|
88
|
+
uses: actions/upload-artifact@v4
|
|
81
89
|
with:
|
|
82
90
|
name: distribution
|
|
83
91
|
path: dist
|
|
@@ -87,7 +95,7 @@ jobs:
|
|
|
87
95
|
runs-on: ubuntu-latest
|
|
88
96
|
needs: [build-packages-test]
|
|
89
97
|
steps:
|
|
90
|
-
- uses: actions/checkout@
|
|
98
|
+
- uses: actions/checkout@v4
|
|
91
99
|
- name: Install documentation tools
|
|
92
100
|
run: |
|
|
93
101
|
pip install sphinx sphinx_rtd_theme setuptools-scm
|
|
@@ -96,7 +104,7 @@ jobs:
|
|
|
96
104
|
- name: Generate HTML
|
|
97
105
|
run: sphinx-build -b html -d docs-source/_build/doctrees docs-source/. docs-source/_build/html
|
|
98
106
|
- name: Upload artifacts
|
|
99
|
-
uses: actions/upload-artifact@
|
|
107
|
+
uses: actions/upload-artifact@v4
|
|
100
108
|
with:
|
|
101
109
|
name: html-docs
|
|
102
110
|
path: docs/build/html/
|
|
@@ -80,7 +80,7 @@ response = client.Passthrough.post('/sheets', payload)
|
|
|
80
80
|
|
|
81
81
|
### Integration Tests
|
|
82
82
|
|
|
83
|
-
1. Follow the instructions
|
|
83
|
+
1. Follow the [Integration test instructions](tests/integration/README.md)
|
|
84
84
|
2. Run `pytest tests/integration`
|
|
85
85
|
|
|
86
86
|
### Mock API Tests
|
|
@@ -134,7 +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
|
-
provided can be found [
|
|
137
|
+
provided can be found on the [Events Description](https://smartsheet.redoc.ly/tag/eventsDescription) page of the API Documentation.
|
|
138
138
|
|
|
139
139
|
```python
|
|
140
140
|
# this example is looking specifically for new sheet events
|
|
@@ -157,7 +157,7 @@ last_week = datetime.now() - timedelta(days=7)
|
|
|
157
157
|
events_list = smartsheet_client.Events.list_events(since=last_week.isoformat(), max_count=1000)
|
|
158
158
|
print_new_sheet_events_in_list(events_list)
|
|
159
159
|
|
|
160
|
-
# continue listing events in the stream by using the stream_position, if the previous response indicates that more
|
|
160
|
+
# continue listing events in the stream by using the stream_position, if the previous response indicates that more
|
|
161
161
|
# data is available.
|
|
162
162
|
while events_list.more_available:
|
|
163
163
|
events_list = smartsheet_client.Events.list_events(stream_position=events_list.next_stream_position, max_count=10000,
|
|
@@ -5,6 +5,37 @@ 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.1.0] - 2025-08-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- New `get_workspace_metadata()` method to get workspace metadata without children
|
|
13
|
+
- New `get_workspace_children()` method to get workspace children with filtering and pagination support
|
|
14
|
+
- New `get_folder_metadata()` method to get folder metadata without children
|
|
15
|
+
- New `get_folder_children()` method to get folder children with filtering and pagination support
|
|
16
|
+
- New `TokenPaginatedResult<T>` generic model for type-safe paginated API responses
|
|
17
|
+
- New `PaginatedChildrenResult` model with custom deserialization for mixed children types based on resourceType
|
|
18
|
+
- Updated `list_workspaces()` method to support Token-based pagination . Use the new `pagination_type='token'` parameter with `last_key` and `max_items` for more efficient pagination. When `pagination_type='token'` is used, the method returns a `Result` object containing `data` and `lastKey`.
|
|
19
|
+
|
|
20
|
+
### Deprecated
|
|
21
|
+
|
|
22
|
+
- `get_workspace()` - Use `get_workspace_metadata()` and `get_workspace_children()` instead
|
|
23
|
+
- `list_folders()` in Workspaces - Use `get_workspace_children()` with `children_resource_types=['folders']` instead
|
|
24
|
+
- `get_folder()` - Use `get_folder_metadata()` and `get_folder_children()` instead
|
|
25
|
+
- `list_folders()` in Folders - Use `get_folder_children()` with `children_resource_types=['folders']` instead
|
|
26
|
+
- `create_folder()` in Home
|
|
27
|
+
- `create_sheet()` in Home
|
|
28
|
+
- `create_sheet_from_template()` in Home
|
|
29
|
+
- `list_all_contents()` in Home
|
|
30
|
+
- `list_folders()` in Home
|
|
31
|
+
- `page_size`, `page`, and `include_all` parameters in `list_workspaces()` method are now deprecated. Use `pagination_type='token'` with `max_items` and `last_key` instead. Deprecated parameters will issue `DeprecationWarning` when used.
|
|
32
|
+
|
|
33
|
+
## [3.0.5] - 2025-04-07
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- Fallback filename for `DownloadedFile` when `Content-Disposition` header is missing.
|
|
38
|
+
|
|
8
39
|
## [3.0.4] - 2024-07-29
|
|
9
40
|
|
|
10
41
|
### Changed
|
|
@@ -247,7 +278,7 @@ if sheet.access_level == 'OWNER':
|
|
|
247
278
|
...
|
|
248
279
|
```
|
|
249
280
|
|
|
250
|
-
[enum34](https://pypi.python.org/pypi/enum34) has been added as a required package for the SDK
|
|
281
|
+
[enum34](https://pypi.python.org/pypi/enum34) has been added as a required package for the SDK
|
|
251
282
|
|
|
252
283
|
## [1.3.0] - 2018-02-21
|
|
253
284
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Contributing to Smartsheet Python SDK
|
|
2
|
+
|
|
3
|
+
## Did you find a bug?
|
|
4
|
+
|
|
5
|
+
- **Send all security related bugs to our maintainer email, <sdk-python@smartsheet.com>**.
|
|
6
|
+
|
|
7
|
+
- **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/smartsheet/smartsheet-python-sdk/issues).
|
|
8
|
+
|
|
9
|
+
- If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/smartsheet/smartsheet-python-sdk/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **[MRE code sample](https://stackoverflow.com/help/minimal-reproducible-example)** or an **executable test case** demonstrating the expected behavior that is not occurring. If possible please also note if this issue concerns the API itself or just the Python SDK.
|
|
10
|
+
|
|
11
|
+
## Did you write a patch that fixes a bug?
|
|
12
|
+
|
|
13
|
+
- Open a new GitHub pull request with the patch.
|
|
14
|
+
|
|
15
|
+
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
|
|
16
|
+
|
|
17
|
+
- A maintainer should review your PR within the next few days. If the PR has been dormant for more than a week, consider sending an email to <sdk-python@smartsheet.com>
|
|
18
|
+
|
|
19
|
+
## Did you fix whitespace, format code, or make a purely cosmetic patch?
|
|
20
|
+
|
|
21
|
+
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability may take longer to review, but are still welcome.
|
|
22
|
+
|
|
23
|
+
## Do you intend to add a new feature or change an existing one?
|
|
24
|
+
|
|
25
|
+
- Suggest your change as an issue with the label #enhancement. Make sure that your new feature description outlines why this would be helpful for users, and how difficult a change it would be to make.
|
|
26
|
+
|
|
27
|
+
## Code Style and Quality
|
|
28
|
+
|
|
29
|
+
- Follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) style guidelines for Python code.
|
|
30
|
+
|
|
31
|
+
- Use meaningful variable and function names that clearly describe their purpose.
|
|
32
|
+
|
|
33
|
+
- Include docstrings for all public modules, functions, classes, and methods following [PEP 257](https://www.python.org/dev/peps/pep-0257/) conventions.
|
|
34
|
+
|
|
35
|
+
- Run pylint on your code before submitting a PR. The project includes a pylintrc file with project-specific settings.
|
|
36
|
+
|
|
37
|
+
- Write unit tests for new features and bug fixes. All tests should pass before submitting a PR.
|
|
38
|
+
|
|
39
|
+
## Running Tests
|
|
40
|
+
|
|
41
|
+
- To run the test suite, use the following command:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python -m pytest tests/
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
- For integration tests, you'll need to set up your Smartsheet API access token as an environment variable:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
export SMARTSHEET_ACCESS_TOKEN=your_token_here
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Do you have questions about the source code or using the SDK?
|
|
54
|
+
|
|
55
|
+
- For general information on the API and its uses, see the [Smartsheet API Reference](https://smartsheet.redoc.ly/)
|
|
56
|
+
|
|
57
|
+
- For information on the Python SDK, see the [Smartsheet Python SDK Documentation](https://github.com/smartsheet/smartsheet-python-sdk#readme) or review the [basic](https://github.com/smartsheet/smartsheet-python-sdk#readme) and [advanced](https://github.com/smartsheet/smartsheet-python-sdk/blob/master/ADVANCED.md) READMEs!
|
|
58
|
+
|
|
59
|
+
- Github issues can also be used for questions on using the Python SDK specifically.
|
|
60
|
+
|
|
61
|
+
Thanks!
|
|
62
|
+
|
|
63
|
+
Smartsheet Python SDK Team
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[MASTER]
|
|
2
|
+
jobs=0
|
|
3
|
+
|
|
4
|
+
[MESSAGES CONTROL]
|
|
5
|
+
disable=missing-docstring,too-many-arguments,too-many-positional-arguments,locally-disabled,too-few-public-methods,too-many-public-methods,duplicate-code,too-many-instance-attributes,too-many-lines,no-else-return,unused-private-member,cyclic-import,unused-import,import-outside-toplevel,consider-using-with
|
|
6
|
+
|
|
7
|
+
[REPORTS]
|
|
8
|
+
output-format=colorized
|
|
9
|
+
|
|
10
|
+
[BASIC]
|
|
11
|
+
include-naming-hint=yes
|
|
12
|
+
|
|
13
|
+
[FORMAT]
|
|
14
|
+
max-line-length=160
|
|
@@ -22,6 +22,7 @@ import os.path
|
|
|
22
22
|
|
|
23
23
|
from . import fresh_operation
|
|
24
24
|
from .models.folder import Folder
|
|
25
|
+
from .util import deprecated
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
class Folders:
|
|
@@ -173,9 +174,13 @@ class Folders:
|
|
|
173
174
|
|
|
174
175
|
return response
|
|
175
176
|
|
|
177
|
+
@deprecated
|
|
176
178
|
def get_folder(self, folder_id, include=None):
|
|
177
179
|
"""Get the specified Folder (and list its contents).
|
|
178
180
|
|
|
181
|
+
Deprecated: 3.1.0
|
|
182
|
+
Use `get_folder_metadata` and `get_folder_children` instead.
|
|
183
|
+
|
|
179
184
|
Args:
|
|
180
185
|
folder_id (int): Folder ID
|
|
181
186
|
include (list[str]): A comma-separated list of
|
|
@@ -196,9 +201,13 @@ class Folders:
|
|
|
196
201
|
|
|
197
202
|
return response
|
|
198
203
|
|
|
204
|
+
@deprecated
|
|
199
205
|
def list_folders(self, folder_id, page_size=None, page=None, include_all=None):
|
|
200
206
|
"""Get a list of top-level child Folders within the specified Folder.
|
|
201
207
|
|
|
208
|
+
Deprecated: 3.1.0
|
|
209
|
+
Use `get_folder_children` with children_resource_types=['folders'] instead.
|
|
210
|
+
|
|
202
211
|
Args:
|
|
203
212
|
folder_id (int): Folder ID
|
|
204
213
|
page_size (int): The maximum number of items to
|
|
@@ -272,6 +281,59 @@ class Folders:
|
|
|
272
281
|
|
|
273
282
|
return response
|
|
274
283
|
|
|
284
|
+
def get_folder_metadata(self, folder_id, include=None):
|
|
285
|
+
"""Get the metadata of a folder.
|
|
286
|
+
|
|
287
|
+
Args:
|
|
288
|
+
folder_id (int): Folder ID
|
|
289
|
+
include (list[str]): A list of optional elements to include
|
|
290
|
+
in the response. Valid list values: source.
|
|
291
|
+
|
|
292
|
+
Returns:
|
|
293
|
+
Folder
|
|
294
|
+
"""
|
|
295
|
+
_op = fresh_operation("get_folder_metadata")
|
|
296
|
+
_op["method"] = "GET"
|
|
297
|
+
_op["path"] = "/folders/" + str(folder_id) + "/metadata"
|
|
298
|
+
_op["query_params"]["include"] = include
|
|
299
|
+
|
|
300
|
+
expected = "Folder"
|
|
301
|
+
prepped_request = self._base.prepare_request(_op)
|
|
302
|
+
response = self._base.request(prepped_request, expected, _op)
|
|
303
|
+
|
|
304
|
+
return response
|
|
305
|
+
|
|
306
|
+
def get_folder_children(self, folder_id, children_resource_types=None, include=None, last_key=None, max_items=None):
|
|
307
|
+
"""Get the children of a folder.
|
|
308
|
+
|
|
309
|
+
Args:
|
|
310
|
+
folder_id (int): Folder ID
|
|
311
|
+
children_resource_types (list[str]): The types of the children resources.
|
|
312
|
+
If not provided, returns children of all types.
|
|
313
|
+
Valid list values: sheets, reports, sights, folders.
|
|
314
|
+
include (list[str]): A list of optional elements to include in the
|
|
315
|
+
response. Valid list values: source, ownerInfo.
|
|
316
|
+
last_key (str): The token from a previous request that will allow this one
|
|
317
|
+
to fetch the next page of results.
|
|
318
|
+
max_items (int): The maximum number of items to return in the response.
|
|
319
|
+
|
|
320
|
+
Returns:
|
|
321
|
+
PaginatedChildrenResult
|
|
322
|
+
"""
|
|
323
|
+
_op = fresh_operation("get_folder_children")
|
|
324
|
+
_op["method"] = "GET"
|
|
325
|
+
_op["path"] = "/folders/" + str(folder_id) + "/children"
|
|
326
|
+
_op["query_params"]["childrenResourceTypes"] = children_resource_types
|
|
327
|
+
_op["query_params"]["include"] = include
|
|
328
|
+
_op["query_params"]["lastKey"] = last_key
|
|
329
|
+
_op["query_params"]["maxItems"] = max_items
|
|
330
|
+
|
|
331
|
+
expected = "PaginatedChildrenResult"
|
|
332
|
+
prepped_request = self._base.prepare_request(_op)
|
|
333
|
+
response = self._base.request(prepped_request, expected, _op)
|
|
334
|
+
|
|
335
|
+
return response
|
|
336
|
+
|
|
275
337
|
def import_csv_sheet(
|
|
276
338
|
self,
|
|
277
339
|
folder_id,
|
|
@@ -22,6 +22,7 @@ import logging
|
|
|
22
22
|
from . import fresh_operation
|
|
23
23
|
from .models.folder import Folder
|
|
24
24
|
from .models.sheet import Sheet
|
|
25
|
+
from .util import deprecated
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
class Home:
|
|
@@ -33,6 +34,7 @@ class Home:
|
|
|
33
34
|
self._base = smartsheet_obj
|
|
34
35
|
self._log = logging.getLogger(__name__)
|
|
35
36
|
|
|
37
|
+
@deprecated
|
|
36
38
|
def create_folder(self, folder_obj):
|
|
37
39
|
"""Creates a Folder in the user's Sheets folder (Home).
|
|
38
40
|
|
|
@@ -57,6 +59,7 @@ class Home:
|
|
|
57
59
|
|
|
58
60
|
return response
|
|
59
61
|
|
|
62
|
+
@deprecated
|
|
60
63
|
def create_sheet(self, sheet_obj):
|
|
61
64
|
"""Create a Sheet from scratch in the user's Sheets folder within
|
|
62
65
|
Home.
|
|
@@ -82,6 +85,7 @@ class Home:
|
|
|
82
85
|
|
|
83
86
|
return response
|
|
84
87
|
|
|
88
|
+
@deprecated
|
|
85
89
|
def create_sheet_from_template(self, sheet_obj, include=None):
|
|
86
90
|
"""Create a Sheet in the Sheets folder from the specified Template.
|
|
87
91
|
|
|
@@ -118,6 +122,7 @@ class Home:
|
|
|
118
122
|
|
|
119
123
|
return response
|
|
120
124
|
|
|
125
|
+
@deprecated
|
|
121
126
|
def list_all_contents(self, include=None, exclude=None):
|
|
122
127
|
"""Get a nested list of all Home objects, including Sheets,
|
|
123
128
|
Workspaces, Folders, Reports and Templates.
|
|
@@ -145,6 +150,7 @@ class Home:
|
|
|
145
150
|
|
|
146
151
|
return response
|
|
147
152
|
|
|
153
|
+
@deprecated
|
|
148
154
|
def list_folders(self, page_size=None, page=None, include_all=None):
|
|
149
155
|
"""Gets a list of top-level child Folders within the user's Sheets
|
|
150
156
|
folder.
|
|
@@ -73,6 +73,8 @@ from .multi_row_email import MultiRowEmail
|
|
|
73
73
|
from .number_object_value import NumberObjectValue
|
|
74
74
|
from .o_auth_error import OAuthError
|
|
75
75
|
from .object_value import ObjectValue
|
|
76
|
+
from .paginated_children_result import PaginatedChildrenResult
|
|
77
|
+
from .token_paginated_result import TokenPaginatedResult
|
|
76
78
|
from .predecessor import Predecessor
|
|
77
79
|
from .predecessor_list import PredecessorList
|
|
78
80
|
from .project_settings import ProjectSettings
|
|
@@ -26,10 +26,10 @@ from .object_value import ObjectValue, six
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class DatetimeObjectValue(ObjectValue):
|
|
29
|
-
"""Smartsheet
|
|
29
|
+
"""Smartsheet DatetimeObjectValue data model."""
|
|
30
30
|
|
|
31
31
|
def __init__(self, props=None, object_type=None, base_obj=None):
|
|
32
|
-
"""Initialize the
|
|
32
|
+
"""Initialize the DatetimeObjectValue model."""
|
|
33
33
|
super().__init__(object_type, base_obj)
|
|
34
34
|
self._base = None
|
|
35
35
|
if base_obj is not None:
|
|
@@ -17,11 +17,12 @@
|
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
19
|
|
|
20
|
-
from ..types import Boolean, Number, String, TypedList, json
|
|
20
|
+
from ..types import Boolean, Number, String, Timestamp, TypedList, TypedObject, json
|
|
21
21
|
from ..util import deserialize, serialize
|
|
22
22
|
from .report import Report
|
|
23
23
|
from .sheet import Sheet
|
|
24
24
|
from .sight import Sight
|
|
25
|
+
from .source import Source
|
|
25
26
|
from .template import Template
|
|
26
27
|
|
|
27
28
|
|
|
@@ -35,14 +36,17 @@ class Folder:
|
|
|
35
36
|
if base_obj is not None:
|
|
36
37
|
self._base = base_obj
|
|
37
38
|
|
|
39
|
+
self._created_at = Timestamp()
|
|
38
40
|
self._favorite = Boolean()
|
|
39
41
|
self._folders = TypedList(Folder)
|
|
40
42
|
self._id_ = Number()
|
|
43
|
+
self._modified_at = Timestamp()
|
|
41
44
|
self._name = String()
|
|
42
45
|
self._permalink = String()
|
|
43
46
|
self._reports = TypedList(Report)
|
|
44
47
|
self._sheets = TypedList(Sheet)
|
|
45
48
|
self._sights = TypedList(Sight)
|
|
49
|
+
self._source = TypedObject(Source)
|
|
46
50
|
self._templates = TypedList(Template)
|
|
47
51
|
|
|
48
52
|
if props:
|
|
@@ -64,6 +68,14 @@ class Folder:
|
|
|
64
68
|
else:
|
|
65
69
|
super().__setattr__(key, value)
|
|
66
70
|
|
|
71
|
+
@property
|
|
72
|
+
def created_at(self):
|
|
73
|
+
return self._created_at.value
|
|
74
|
+
|
|
75
|
+
@created_at.setter
|
|
76
|
+
def created_at(self, value):
|
|
77
|
+
self._created_at.value = value
|
|
78
|
+
|
|
67
79
|
@property
|
|
68
80
|
def favorite(self):
|
|
69
81
|
return self._favorite.value
|
|
@@ -88,6 +100,14 @@ class Folder:
|
|
|
88
100
|
def id_(self, value):
|
|
89
101
|
self._id_.value = value
|
|
90
102
|
|
|
103
|
+
@property
|
|
104
|
+
def modified_at(self):
|
|
105
|
+
return self._modified_at.value
|
|
106
|
+
|
|
107
|
+
@modified_at.setter
|
|
108
|
+
def modified_at(self, value):
|
|
109
|
+
self._modified_at.value = value
|
|
110
|
+
|
|
91
111
|
@property
|
|
92
112
|
def name(self):
|
|
93
113
|
return self._name.value
|
|
@@ -128,6 +148,14 @@ class Folder:
|
|
|
128
148
|
def sights(self, value):
|
|
129
149
|
self._sights.load(value)
|
|
130
150
|
|
|
151
|
+
@property
|
|
152
|
+
def source(self):
|
|
153
|
+
return self._source.value
|
|
154
|
+
|
|
155
|
+
@source.setter
|
|
156
|
+
def source(self, value):
|
|
157
|
+
self._source.value = value
|
|
158
|
+
|
|
131
159
|
@property
|
|
132
160
|
def templates(self):
|
|
133
161
|
return self._templates
|
{smartsheet-python-sdk-3.0.4 → smartsheet-python-sdk-3.1.0}/smartsheet/models/index_result.py
RENAMED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
19
|
|
|
20
|
-
from ..types import Number, TypedList, importlib, json
|
|
20
|
+
from ..types import Number, TypedList, importlib, json, String
|
|
21
21
|
from ..util import deserialize, serialize
|
|
22
22
|
|
|
23
23
|
|
|
@@ -40,6 +40,7 @@ class IndexResult:
|
|
|
40
40
|
self._page_size = Number()
|
|
41
41
|
self._total_count = Number()
|
|
42
42
|
self._total_pages = Number()
|
|
43
|
+
self._last_key = String()
|
|
43
44
|
|
|
44
45
|
if props:
|
|
45
46
|
deserialize(self, props)
|
|
@@ -94,6 +95,14 @@ class IndexResult:
|
|
|
94
95
|
def total_pages(self, value):
|
|
95
96
|
self._total_pages.value = value
|
|
96
97
|
|
|
98
|
+
@property
|
|
99
|
+
def last_key(self):
|
|
100
|
+
return self._last_key.value
|
|
101
|
+
|
|
102
|
+
@last_key.setter
|
|
103
|
+
def last_key(self, value):
|
|
104
|
+
self._last_key.value = value
|
|
105
|
+
|
|
97
106
|
@property
|
|
98
107
|
def result(self):
|
|
99
108
|
"""Simplify difference between Result and IndexResult"""
|