Skip to content

Python library to build a webhook-based SmartApp for SmartThings

License

Notifications You must be signed in to change notification settings

pronovic/smartapp-sdk

Repository files navigation

SmartApp SDK

pypi license wheel python Test Suite docs coverage Poetry

Note: As of January 2025, I have migrated my home automation infrastructure from SmartThings to Home Assistant, so I no longer actively use this software. I will continue to maintain the library, keeping dependencies up-to-date and supporting new Python versions, etc. Time permitting, I will also continue to accept GitHub issues for bug fixes and enhancement requests. If you submit an issue, please keep in mind that I no longer have a SmartThings environment to test with, so I will expect you to coordinate with me on testing before I release any changes.


smartapp-sdk is a Python library to build a webhook-based SmartApp for the SmartThings platform.

The SDK is intended to be easy to use no matter how you choose to structure your code, whether that's a traditional Python webapp (such as FastAPI on Uvicorn) or a serverless application (such as AWS Lambda).

The SDK handles all the mechanics of the webhook lifecycle interface on your behalf. You just implement a single endpoint to accept the SmartApp webhook requests, and a single callback class where you define specialized behavior for the webhook events. A clean attrs object interface is exposed for use by your callback.

SDK documentation is found at smartapp-sdk.readthedocs.io. Look there for installation instructions, the class model documentation, and example code.

Developer documentation for the smartapp-sdk repo is found in DEVELOPER.md. See that file for notes about how the code is structured, how to set up a development environment, etc.