NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3462 most downloaded on PyPI
Library that uses Python to connect to Smartsheet services (using API 2.0).
Last release 1 months ago
12 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Most releases are documented
notes for 48 of 54 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
54 releases · first in 2016
Document proofs include value for get_sheet by @smar-ivan-sandev in #161
Full Changelog: v4.3.0...v4.4.0
include query parameter on GET /2.0/users/{userId}/plans (List User Plans) via Users.list_user_plans. The only accepted value is planName.plan_name field to the UserPlan model, populated when include=planName is requested.One column per quarter.
Add missing case by @denislavstanchev in #158
Full Changelog: 4.2.0...v4.3.0
Proof model and ProofType enumRow modelDeprecated Event.object_id ; use Event.object_id_str instead. object_id is numeric only and returns -1 for non-numeric identifiers. It is not schedule…
Reports.get_report_definitionReports.list_report_columnsReports.get_report_columnReports.update_report_columnReports.delete_report_columnReports.list_report_scopeEvent.object_id; use Event.object_id_str instead. object_id is numeric only and returns -1 for non-numeric identifiers. It is not scheduled for removal.Added missing SHARED value to PublishAccessibleBy enum.
SHARED value to PublishAccessibleBy enum.get_sheet_path)get_report_path)get_sight_path)get_folder_path)get_leaf_<asset>() and get_leaf_<asset>_path() to the responses of the path endpoints for convenient traversalDeprecation related corrections
paginationType=token for list_workspaces.Packaging bug after migrating to uv. #144
Note: Release 4.0.0 is broken and cannot be installed due to the packaging bug!
⚠️ BREAKING: Removed deprecated include_all parameter from list_webhooks. This was deprecated by the Smartsheet API (sunset Jun-03-2026). Use offset-b…
⚠️ Note: This release is broken due to a packaging bug (https://github.com/smartsheet/smartsheet-python-sdk/issues/144). Please use v4.0.1!
object_id_str field to Event model to support alphanumeric object identifiers (AUD-902)include_all parameter from list_webhooks. This was deprecated by the Smartsheet API (sunset Jun-03-2026). Use offset-based pagination via page and page_size (server-capped at 10,000).include_all, page, page_size, modified_since, and pagination_type parameters from list_sights. These were deprecated by the Smartsheet API (sunset Jun-03-2026). list_sights now uses token-based pagination exclusively and returns TokenPaginatedResult[Sight]. Use max_items and last_key instead.include_all, page, page_size, and pagination_type parameters from list_workspaces. These were deprecated by the Smartsheet API (sunset Jun-03-2026). list_workspaces now uses token-based pagination exclusively and returns TokenPaginatedResult[Workspace]. The response no longer exposes page_number, page_size, total_count, or total_pages. Use max_items and last_key instead. The new shape mirrors list_sights.list_public_templates and list_user_created_templates from the Templates class. The Templates class and Smartsheet.Templates accessor have been removed entirely. The underlying GET /templates and GET /templates/public endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to get_workspace_children / get_folder_children with children_resource_types including ['sheets', 'templates'] to list templates within a specific workspace or folder.get_folder and list_folders from the Folders class, and get_workspace and list_folders from the Workspaces class. The underlying GET /folders/{folderId}, GET /folders/{folderId}/folders, GET /workspaces/{workspaceId}, and GET /workspaces/{workspaceId}/folders endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to get_folder_metadata + get_folder_children and get_workspace_metadata + get_workspace_children. Use children_resource_types to filter the children response (e.g., folders to replicate the old list-folders behavior).share_sheet/share_report/share_sight/share_workspace, list_shares, get_share, update_share, delete_share) from the Sheets, Reports, Sights, and Workspaces classes. The underlying asset-specific sharing endpoints were deprecated by the Smartsheet API (sunset Jun-03-2026). Migrate to client.Sharing (list_asset_shares, get_asset_share, share_asset, update_asset_share, delete_asset_share), passing asset_type and asset_id. Note updates now use PATCH instead of PUT.list_webhooks: server-side behavior changes documented in the docstring. As of the Jun-03-2026 sunset date, page_size is server-capped at 10,000, total_count and total_pages return -1, and results are sorted by creation date (most recent first) instead of name. SDK signature unchanged. See Smartsheet API changelog 2025-08-04.access_level property of CreateReportResult to return EnumeratedValue instead of the raw enum itselt.destination_type property of ReportDestination to return EnumeratedValue instead of the raw enum itselt.asset_type property of ReportScopeInclusion to return EnumeratedValue instead of the raw enum itselt.EnumeratedValue.__str__ to return value if the underlying enum inherits from str.serialize function to use EnumeratedValue.value.value if the underlying enum inherits from str.Adds the CONTRIBUTOR SeatType by @adecounter in https://github.com/smartsheet/smartsheet-python-sdk/pull/126
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.8.0...v3.9.0
Full Changelog: v3.8.0...v3.9.0
add_report_columns() method in Reports class to add columns to a reportupdate_report_definition() method in Reports class to update report definitionsCONTRIBUTOR seat type to SeatType, UpgradeSeatType, and DowngradeSeatType enumsCONTRIBUTOR seat type in list users and downgrade user operationsdisplayContributorSeatType query parameter to list_users() and list_user_plans() methods
true, VIEWER seat types to CONTRIBUTOR in the responsefalse or omitted, re-writes CONTRIBUTOR seat types to VIEWER in the responseAdd support for the is favorite endpoint by @denislavstanchev in https://github.com/smartsheet/smartsheet-python-sdk/pull/128
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.7.2...v3.8.0
Full Changelog: v3.7.2...v3.8.0
Add token pagination support for the list sights endpoint by @denislavstanchev in https://github.com/smartsheet/smartsheet-python-sdk/pull/118
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.7.1...v3.7.2
Cells class to Smartsheet class for IDE autocomplete support. Now auto-complete like smart.Cells.get_cell_history() and smart.Cells.add_image_to_cell() will work.Specify list results in SDK methods by @albertokarakoutev-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/116
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.7.0...v3.7.1
Add method types to SDK methods by @albertokarakoutev-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/112
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.6.0...v3.7.0
docs: add Issue First documentation for Cloud Agent integration by @roomote[bot] in https://github.com/smartsheet/smartsheet-python-sdk/pull/103
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.6...v3.6.0
Remove integration tests from the sdk test suite
smart.Users and smart.Users.list_users.Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.5...v3.5.6
Add missing asset share props by @ggoranov-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/97
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.4...v3.5.5
cc_me, message, subject.Add wiremock tests by @denislavstanchev in https://github.com/smartsheet/smartsheet-python-sdk/pull/89
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.3...v3.5.4
Add a separate AssetShare object that uses string ids. by @ggoranov-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/88
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.2...v3.5.3
AssetShare model to fully comply with the new sharing endpoints (/2.0/shares) DTO.Fix sharing implementation and add mock API tests. by @ggoranov-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/87
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.1...v3.5.2
Rename asset_shares.py file to sharing.py by @ggoranov-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/85
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.5.0...v3.5.1
Smartsheet.__getattr__ can pick it up.Add provisionalExpirationDate field to the user_model and user_plan models by @denislavstanchev in https://github.com/smartsheet/smartsheet-python-sdk
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.4.0...v3.5.0
Fix lint issues and unit test failure. by @ggoranov-smar in https://github.com/smartsheet/smartsheet-python-sdk/pull/82
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.3.0...v3.4.0
Added new sharing endpoints. Deprecated old sharing endpoints. by @nslugic in https://github.com/smartsheet/smartsheet-python-sdk/pull/71
Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/3.2.0...v3.3.0
sharing module:
list_asset_shares: List all shares for a specified assetget_asset_share: Get a specific share for a specified assetshare_asset: Share an asset with specified users and/or groupsupdate_share: Update a specific share for a specified assetdelete_share: Delete a specific share for a specified assetAssetType enum for use with sharing endpointssheets moduleSupport for POST /2.0/users/{userId}/plans/{planId}/downgrade
page_size, page, and include_all parameters in list_workspaces() method are now deprecated. Use pagination_type='token' with max_items and last_key in…
get_workspace_metadata() method to get workspace metadata without childrenget_workspace_children() method to get workspace children with filtering and pagination supportget_folder_metadata() method to get folder metadata without childrenget_folder_children() method to get folder children with filtering and pagination supportTokenPaginatedResult<T> generic model for type-safe paginated API responsesPaginatedChildrenResult model with custom deserialization for mixed children types based on resourceTypelist_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.get_workspace() - Use get_workspace_metadata() and get_workspace_children() insteadlist_folders() in Workspaces - Use get_workspace_children() with children_resource_types=['folders'] insteadget_folder() - Use get_folder_metadata() and get_folder_children() insteadlist_folders() in Folders - Use get_folder_children() with children_resource_types=['folders'] insteadcreate_folder() in Homecreate_sheet() in Homecreate_sheet_from_template() in Homelist_all_contents() in Homelist_folders() in Homepage_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.Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.0.5...v3.1.0
Add level to docstrings by @JTP3XP in https://github.com/smartsheet/smartsheet-python-sdk/pull/50
level to docstrings by @JTP3XP in https://github.com/smartsheet/smartsheet-python-sdk/pull/50Full Changelog: https://github.com/smartsheet/smartsheet-python-sdk/compare/v3.0.4...v3.0.5
DownloadedFile when Content-Disposition header is missing.Changed serialize function to also handle dicts - this allows the Event Reporting API to return the additionalDetails object correctly
fix for issue 43 KeyError: 'content-type'
Changing import order to better support later versions of python
### Updated - Migrated SDK to new project ### Added - Add Github Actions pipeline - Added linting with Pylint - Added markdown linting
Nothing published for this version
don't add time offset to date types when serializing
Adding rowsModifiedSince parameter to sheet.get_sheet
rules and ruleRecipients to create sheet from template
inclusionModel Profile Image as different object from Image
type and object definitions to support multi-picklist columns
### Added - add support for sheet summary
cleaned up include/exclude flags on copy sheet/folder/workspace
automated doc updates should be ignored in changelist
install dependencies for sphinx
fix arguments for current versions of pytest
### Added - Event Reporting functionality
Support for groups in get_current_user
Added BASE URI definition for Smartsheetgov
XLSX and CSV import endpoints for workspaces, folders and sheets
permalinks option to Home.list_all_contentsString representations for EnumeratedValue should contain just their name not class_name.name (SO reported).
name not class_name.name
(SO reported).Implemented cross-sheet References
In our efforts to further streamline the SDK, enumerated properties have been changed from type String to type EnumeratedValue, which wraps Python Enum. In addition to allowing us to remove a number of redundant string arrays, this also provides the benefit of better code completion (in most IDEs) and provides for more programmatic clarity, for example:
sheet = smartsheet.Sheets.get_sheet(sheet_id)
if sheet.access_level == AccessLevel.OWNER:
# perform some task for OWNER
...
However, string comparisons will continue to operate as they did previously. No change is required if your code uses comparisons such as:
sheet = smartsheet.Sheets.get_sheet(sheet_id)
if sheet.access_level == 'OWNER':
# perform some task for OWNER
...
enum34 has been added as a required package for the SDK
Several changes have been made to the SDK to improve both the maintainability of the SDK and the predictability/reliability of the results returned by
Several changes have been made to the SDK to improve both the maintainability of the SDK and the predictability/reliability of the results returned by the SDK. Some of these changes may be breaking to code that currently uses the SDK. The following changes should be reviewed:
null values and empty lists ([]). A new Smartsheet model, ExplicitNull, is provided for circumstances where there is a need to force the serialization of a null value. As an example, to clear a hyperlink value from a cell, you can perform the following operation: first_row = Row()
first_row.id = 10
first_row.cells.append({
"columnId": 101,
"value": "",
"hyperlink": ExplicitNull()
})
response = self.client.Sheets.update_rows(1, [first_row])
ValueError exception if you attempt to assign an incompatible object. Previously, there were a number of cases where assignment of incompatible types would have resulted in a silent failure by the SDK.id, format, and type are accessible without the preceding underscore, e.g. cell._format has changed to cell.format.There is a race condition which exists in the window between when the API servers disconnect an idle connection and when the client receives notificat
Safe defaults for mock api test name and module name
New Passthrough object supports get, post, put, or delete with arbitrary json payload. Use this for access to any API feature that isn't yet modeled i
Support for column validation
New Passthrough object supports get, post, put, or delete with arbitrary json payload. Use this for access to any API feature that isn't yet modeled in the API. Requests still benefit from error retry and logging.
add_image_to_cell & attach_file_to_cell: Now support override_validation and alt_text parameters
copy_folder, copy_workspace and copy_sheet: Additional options for include, skip_remap, and omit parameters
Support for include=sheetVersion for several endpoints that return a list of sheets
Support for reading sheet filters
More flags when publishing Sheets or Reports as HTML
Search
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →