Skip to content

Library that uses Python to connect to Smartsheet services (using API 2.0).

License

Notifications You must be signed in to change notification settings

smartsheet/smartsheet-python-sdk

Repository files navigation

Smartsheet Python SDK

Build Status Coverage Status PyPI version

A library for connecting to the Smartsheet API from Python applications.

Requirements

The SDK is compatible with actively supported Python versions 3.10, 3.9, 3.8, 3.7.

Installation

To install using pip:

pip install smartsheet-python-sdk

Getting Started

To get started with the Smartsheet Python SDK:

  1. Set SMARTSHEET_ACCESS_TOKEN in your environment, using your Smartsheet API key. Find out more about Authentication and Access Tokens in the Smartsheet API Documentation. You can generate an access token in Smartsheet UI under Account > Personal Settings > API Access.

  2. Install the Smartsheet Python SDK (see the installation instructions above)

  3. The following snippet shows how to create a Smartsheet client and perform some basic actions using the SDK. Ensure your Smartsheet user has access to at least one sheet.

import smartsheet

smart = smartsheet.Smartsheet()             # Create a Smartsheet client 

response = smart.Sheets.list_sheets()       # Call the list_sheets() function and store the response object
sheetId = response.data[0].id               # Get the ID of the first sheet in the response
sheet = smart.Sheets.get_sheet(sheetId)     # Load the sheet by using its ID

print(f"The sheet {sheet.name} has {sheet.total_row_count} rows")   # Print information about the sheet

Documentation

Use the following resources to learn more about the SDK capabilities:

  1. Smartsheet Python SDK sample project
  2. Python SDK documentation
  3. Smartsheet API Documentation

Advanced Topics

For details about logging, testing, how to use a passthrough option, and how to override HTTP client behavior, see Advanced Topics.

Developer Agreement

Review the Developer Program Agreement.

Acknowledgements

We would like to thank the following people for their contributions to this project: