# SmartApp SDK
[](https://pypi.org/project/smartapp-sdk/)
[](https://github.com/pronovic/smartapp-sdk/blob/main/LICENSE)
[](https://pypi.org/project/smartapp-sdk/)
[](https://pypi.org/project/smartapp-sdk/)
[](https://github.com/pronovic/smartapp-sdk/actions?query=workflow%3A%22Test+Suite%22)
[](https://smartapp-sdk.readthedocs.io/en/stable/)
[](https://coveralls.io/github/pronovic/smartapp-sdk?branch=main)
[](https://python-poetry.org/)
_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](https://developer-preview.smartthings.com/docs/connected-services/smartapp-basics/) for the [SmartThings platform](https://www.smartthings.com/).
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](https://developer-preview.smartthings.com/docs/connected-services/lifecycles/) 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](https://www.attrs.org/en/stable/) object interface is exposed for use by your callback.
SDK documentation is found at [smartapp-sdk.readthedocs.io](https://smartapp-sdk.readthedocs.io/en/stable/). Look there for installation instructions, the class model documentation, and example code.
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/smartapp-sdk/",
"name": "smartapp-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Kenneth J. Pronovici",
"author_email": "pronovic@ieee.org",
"download_url": "https://files.pythonhosted.org/packages/1d/71/b1a045b947552b3b813107bdb1e0aad020a348e8d39523ed3b4d059d2ff2/smartapp_sdk-0.7.1.tar.gz",
"platform": null,
"description": "# SmartApp SDK\n\n[](https://pypi.org/project/smartapp-sdk/)\n[](https://github.com/pronovic/smartapp-sdk/blob/main/LICENSE)\n[](https://pypi.org/project/smartapp-sdk/)\n[](https://pypi.org/project/smartapp-sdk/)\n[](https://github.com/pronovic/smartapp-sdk/actions?query=workflow%3A%22Test+Suite%22)\n[](https://smartapp-sdk.readthedocs.io/en/stable/)\n[](https://coveralls.io/github/pronovic/smartapp-sdk?branch=main)\n[](https://python-poetry.org/)\n\n_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._\n\n---\n\nsmartapp-sdk is a Python library to build a [webhook-based SmartApp](https://developer-preview.smartthings.com/docs/connected-services/smartapp-basics/) for the [SmartThings platform](https://www.smartthings.com/).\n\nThe 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).\n\nThe SDK handles all the mechanics of the [webhook lifecycle interface](https://developer-preview.smartthings.com/docs/connected-services/lifecycles/) 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](https://www.attrs.org/en/stable/) object interface is exposed for use by your callback.\n\nSDK documentation is found at [smartapp-sdk.readthedocs.io](https://smartapp-sdk.readthedocs.io/en/stable/). Look there for installation instructions, the class model documentation, and example code.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Framework to build a webhook-based SmartThings SmartApp",
"version": "0.7.1",
"project_urls": {
"Homepage": "https://pypi.org/project/smartapp-sdk/",
"Repository": "https://github.com/pronovic/smartapp-sdk"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f7a367d6b5c893a5b1c5f5bf7fb4f5f362e57defd5ea986edf49b06f7d8b0b77",
"md5": "4a69dc36d9a2f6df35b39e38723c3fcd",
"sha256": "6d3578495fb56388132efae35512aaeb426c3eb065f2808b046932c3f25d782d"
},
"downloads": -1,
"filename": "smartapp_sdk-0.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4a69dc36d9a2f6df35b39e38723c3fcd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.10",
"size": 23133,
"upload_time": "2025-01-14T23:59:26",
"upload_time_iso_8601": "2025-01-14T23:59:26.265884Z",
"url": "https://files.pythonhosted.org/packages/f7/a3/67d6b5c893a5b1c5f5bf7fb4f5f362e57defd5ea986edf49b06f7d8b0b77/smartapp_sdk-0.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1d71b1a045b947552b3b813107bdb1e0aad020a348e8d39523ed3b4d059d2ff2",
"md5": "adc2963de56b6c0458c309316a49ee3b",
"sha256": "23e51acdafab36c8a3a5e00ad50e870915eb4f925d042214cf26e6e7a4027676"
},
"downloads": -1,
"filename": "smartapp_sdk-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "adc2963de56b6c0458c309316a49ee3b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.10",
"size": 53203,
"upload_time": "2025-01-14T23:59:28",
"upload_time_iso_8601": "2025-01-14T23:59:28.616844Z",
"url": "https://files.pythonhosted.org/packages/1d/71/b1a045b947552b3b813107bdb1e0aad020a348e8d39523ed3b4d059d2ff2/smartapp_sdk-0.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-14 23:59:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pronovic",
"github_project": "smartapp-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "smartapp-sdk"
}